|
Forgive me, but hearing something said by someone else doesn't make it a fact. The history of science is littered with mistakes by scientists who were adamant that they were right about something, when it later turned out they were completely wrong.
|
|
|
|
|
I hope he listened though
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
The only language I have flat out refused to use (project/app level) has been PHP.
As for JavaScript haters, my only guess is that they haven't used it very long. I had to learn it 20 years ago when browser compatibility/lack of standards was a big thing. There was no intellisense. Debugging was painstakingly done through alerts. The language was still fairly new and needed work. By contrast, writing JavaScript today is a breeze and it pretty much works everywhere. There is also a wealth of examples for doing just about anything you can think of.
That said, the wild-west nature of JavaScript may not come naturally to some developers. It may not make sense why 1+2=12. Learning to tame and understand the beast takes time and many don't have the patience...there's got to be a layer/framework that makes it easier right?
I've been using JavaScript for over 20 years and am constantly amazed at what can be done with it. What's to hate? I don't love it, but it gets the job done reliably. I've even used it to script itself which is pretty cool.
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
kmoorevs wrote: The only language I have flat out refused to use (project/app level) has been PHP. I used to love me some PHP though, despite its design flaws. The original author already said PHP suffered from its quick popularity. By the time he wanted to fix some design flaws, compatibility became a real issue. But, the level of functionally you get with it, it was very hard to beat for the longest time. Things change though. IMO people shouldn't be starting new projects in it. But, even people that don't use it, need to learn to appreciate it. Without PHP there would be no ASP since Microsoft just copies. And without ASP there would be no ASP.NET. Which is my point, I wouldn't use COBOL either, but I can respect its time and place and what it did for the world in its moment of glory.
kmoorevs wrote: As for JavaScript haters, my only guess is that they haven't used it very long. I had to learn it 20 years ago when browser compatibility/lack of standards was a big thing. There was no intellisense. Debugging was painstakingly done through alerts. The language was still fairly new and needed work. By contrast, writing JavaScript today is a breeze and it pretty much works everywhere. There is also a wealth of examples for doing just about anything you can think of. Yeah, exactly. I don't see that as a fault of the language though. Most scripting languages don't have a proper environment like that. I don't see PowerShell having that (nothing against PS), for instance. But, JS has grown up... way more than most people realize. It's its own category of scripting language now.
kmoorevs wrote: Learning to tame and understand the beast takes time and many don't have the patience...there's got to be a layer/framework that makes it easier right? Amen brother, I've seen too much of this. I mean, it happens in other languages too, but given the non pre-compiled nature of JS it's more important to learn the language and keep up to date with it. Like, you don't need Underscore anymore. It had its time, and that has also passed.
JavaScript's wild-west side, suffers the same issue as PHP. It's very popular and has a low barrier to entry. That means any average Joe or clown can "use it". Everyone thinks they're experts regardless if they are are not, and unfortunately with any popular language, like with dating... you gotta weed out the garbage.
kmoorevs wrote: I don't love it, but it gets the job done reliably. I've even used it to script itself which is pretty cool. It's also fast too. It's literally the fastest scripting language out there. So much so, it belongs in its own class of scripting language. Its runtimes have been optimized so much over the years, given the fact it's the language of the client-side web, it's crazy how quick it is. Not that it will ever replace a compiled language and WASM will eventually replace JavaScript, but for a scripting language it's fast.
Jeremy Falcon
|
|
|
|
|
Some bits of wisdom I have heard from my father or collected during the years:
- Something might be old, but it doesn't means it is obsolete or there is no profit of knowing it.
- Someone might be old and don't know about a new shiny thing, but it still has way more experience in life and in the work-world than you, do not underestimate it.
- Always respect everyone's knowledge, no matter how unrelated to your current task is. You might think a cleaning worker knows nothing, but get a broom and use it for hours everyday without hearing his advices... you wrists will for sure hurt in a couple of hours.
- Never disrespect a secretary or someone without "power", that person can still have a lot of "influence"
- Be careful which toes you step on today, that foot can kick your ass in the future.
- If someone starts complaining about something without any proper arguments, it has nothing to do with that something and way more to do with his feelings. Do not ask about the something nor start a discussion to defend it because there will be no rationality, just ask "how are you?" and show interest in his person.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
These are all wise, but then you get online and someone's like.... eff eff eff eff you... you ask "why"? Then they're like because you use the wrong keyboard. And these are grown "men" who never went outside. It's ok to piss them off, they're not going anywhere in life.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: These are all wise, but then you get online and someone's like.... eff eff eff eff you... you ask "why"? Then they're like because you use the wrong keyboard. Do you mind to elaborate? I don't understand what you mean.
Are you talking about me concrete or are you talking about people / situation in general?
What do you mean with "the wrong keyboard"?
Jeremy Falcon wrote: these are grown "men" who never went outside. It's ok to piss them off, they're not going anywhere in life. Teasing people from time to time is ok and can be funny, yeah
But IMO, it still should be kept within "ethical" limits and not lead to trolling or worse.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Nelek wrote: Are you talking about me concrete or are you talking about people / situation in general? Generalizing man. I think you're awesome. I would elaborate, but this thread is already devolving into the phlegm of the Internet, I'll call it. Let's just say, peeps be immature and they be online a lot apparently, because the real world don't want them.
Not you dude.
Nelek wrote: Teasing people from time to time is ok and can be funny, yeah It's like anything though man. Like if you and I teased each other, we know each other well enough by now to know it's a joke. I'm referring to the crap where you can tell people really need to grow up.
Jeremy Falcon
|
|
|
|
|
Isn't the bane of human existence the realization of how clueless we were 5 years ago and blocking out the realization that we are currently clueless compared to our 5 years in the future self? Of course if you are not, that means you won't learn anything substantial in the next 5 years.
|
|
|
|
|
Tru dat, man.
Jeremy Falcon
|
|
|
|
|
Look, I don't like JavaScript and I believe it has been used and abused way beyond what it meant to be used for.
Since I have worked with both JavaScript and VBScript extensively in my career, for me, I always preferred VBScript since it was a far easier scripting language to use and implement. And when compared to JavaScript, it was also a far superior language implementation.
Today, JavaScript is a sheer mess of tools, frameworks, and the like. You see many complaints regarding which tool or framework is best as well as which would be the most reliable for the long term.
In addition, the use of massive amounts of JavaScript in web applications make them more vulnerable to attack and less efficient. And there is very little real sense in using so much of this language.
But JavaScript's use and expansion into development circles was primarily predicated on the fact that it was free and Open Source, which was all the rage years ago, while VBScript was limited to Windows functionality such as Internet Explorer.
Had Microsoft done the intelligent thing and Open Sourced VBScript when it no longer wanted to support this language, allowing the community to expand its capabilities and the browsers it could target, JavaScript never would have become the thing it is today...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Yeah dude, no. You're confusing a lot of different things here besides the language itself. Not gonna spend time on this... tootles.
Jeremy Falcon
|
|
|
|
|
It isn't always because we don't know something about what we reject. Sometimes it is just a reasoned analysis after learning, to a degree, how to use something new.
JavaScript (JS) intersecting with my own experience is a good example.
I came from a background where, over the years, I had written programs in FORTAN, assembly, a proprietary Barber-Colman language for a specific industrial controller, COBOL, QuickBasic, Clipper/xBase, and Visual Basic. I knew C and C++ well enough to read and understand but did not write in it. When web development became more prevalent in the mid 90s and beyond, I looked at JS in the early 2000s (and again in the 2010s and today) since it was integral to websites (and superior to VBScript, its initial competitor). By the mid 90s, I was used to the benefits of object-oriented programming (OOP).
As I started to learn JS and see code from its use in the real world, I looked at its productivity potential, its history, and how it is executed, I saw some drawbacks that I didn't care for. JS was not originally intended for the kind of interactive apps we see today. Neither was HTML and CSS. But over the years, necessity and technology improvements have resulted in kludges in JS to keep up. IMHO, the two hardest areas for JS is it running as script, and not compiled to the machine level, and a lack of OOP. When I convert older ASP.NET programs, heavy with JS, to WebAssembly using C# (though any supported OO language would yield the same analysis), I see the productivity gains, the performance gains, the flexibility, fewer (almost no) browser incompatibilities, and less code needed. For someone who has years of experience writing JS, they can be productive to a degree. Opening the frontend logic to OOP languages instead of JS opens the developer pool for organizations creating the websites to more of their programmers, lowering cost and shortening the development portion of the SDLC.
JS is not bad, and it got us to a point where more was demanded of websites than JS could deliver and still be JS. Browser manufacturers adding the WebAssembly engine, based on meeting open source, standardized requirements, is where web app development is more economically delivered and maintained, performance is better, and OOP is integral. Just as the Single Page Application (SPA) was a revolution in bringing one of desktop apps' stateful advantages to web apps stateless limitations, WebAssembly is a revolution in web apps that is needed, however much it is resisted by the JS community. It is worth noting that of all the languages that work well being compiled to WebAssembly (Rust, C#, C++, etc.), JS is not one of them, mostly due to its lack of OOP. In WebAssembly, the use of JS requires the use of JS interop, which does not help performance. I see a lot of JS developers resisting WebAssembly with the same mindset that a lot of VB6 developers resisted .NET 20+ years ago, and COBOL developers resisted VB in business apps 30+ years ago.
It is much better to approach something you don't know, learn how to use it at least to a beginner's level, how it works (at least at a high level under the covers), see what the benefits and drawbacks are (especially related to the whole SDLC), the net business advantages or disadvantages, all with an informal value engineering analysis.
I am sure some will disagree, some will be able to add constructive ideas, and some are too busy to really care. And that is OK.
|
|
|
|
|
Thanks for the reply.
Just FYI, you can do OOP since ES6 and JS has always been functional in nature. It's a different paradigm. Comparing it to C++ or C# (back in the day) was the problem. People can't break their molds to see past their own biases. That's all. Nothing more; nothing less.
As far as WASM... I'll save that for a different day. Me like it. It's gotta ways to go though. I gotta back to work and thar be peeps not really worth replying to on this thread (not yours, I liked your reply).
Jeremy Falcon
|
|
|
|
|
I hate JavaScript and I know everything about it - I've been "programming" in it since it first emerged, and it's filth. Granted, the DOM is filth, too, so you sort of need filth to deal with it, but JavaScript is inconsistent between browsers, untyped, messy, unstructured and - well - it's Filth. So's COBOL.
|
|
|
|
|
You don't know the difference between a language, the DOM and browser, and browser issues. You're not an expert... no matter how much you pretend to be online.
Jeremy Falcon
|
|
|
|
|
Yeah, you're probably right. After all, I've only been programming since 1978, and have only written nine compilers.
Perhaps, on the other hand, you should actually read what I wrote, rather than reacting like an infant.
|
|
|
|
|
You can insult me, that doesn't mean I'm wrong. It means your old and still haven't learned to communicate or speak in concepts. Tootles.
Jeremy Falcon
|
|
|
|
|
Attack what I said, then, instead of attacking me. By doing that, you lose automatically. Go on: tell me why I'm wrong.
It's such fun when children get hold of the power tools.
|
|
|
|
|
You're not an expert, son. But, you are wasting my time. So, enjoy having the last word....
Jeremy Falcon
|
|
|
|
|
Whatever. "Add ignorant to deluded giving Dunning-Kruger", as they say in Cobol, which is a language in which people write shopping lists and convince themselves they're programmers.
And you've still failed to do anything other than insult me, from which I learn that you're actually talking to a mirror and I'm just listening.
|
|
|
|
|
I agree with and love your high-level point .. but on the specific example of JavaScript, you're wrong -- it's terrible. :]
|
|
|
|
|
Nope. You're welcome to your incorrect opinion though, but I instantly no longer view this conversation as senior level given that lackluster rationale that's clearly based on blah.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: I did something called growing up Yet in our most recent discussion you didn't hesitate to assume I know nothing about JavaScript just because I disagree with you (and now you're assuming you know more than pretty much the entirety of CP).
I've worked with JavaScript for over ten years (mostly front-end, mind you), I did some non-trivial work in it, and I can simply say it's a horrible language.
I'm not saying it can't do stuff, I'm saying it has way too many WTFs and doing stuff is often hard or weird.
The way it handles NaN (which you can easily get, for example by doing 1 - {}, yet 1 + {} yields a string), how "this" is handled is just pure madness, many WTFs with basic operators (like the + and - of a number and object, now try + and - on a string and number), missing basic functionality (although that's getting better), the lack of an integer type or a "safe" decimal type, the whole ecosystem which forces you to install 100s of dependencies of which some have a single line of code (padLeft, anyone?), and the list goes on.
It wasn't to long ago where the only sure way to check if an object is an array was Object.prototype.toString.call(obj) === "[object Array]" and for NaN obj !== obj despite the isNaN and isArray functions!
You seem to love JavaScript for some reason, the rest of the world hates it.
But of course the rest of the world must be wrong.
You claim people lack the maturity to not be overly emotional about crap, yet you seem overly emotional about JavaScript.
Let's be mature about it and agree to disagree.
|
|
|
|
|
Sander Rossel wrote: Yet in our most recent discussion you didn't hesitate to assume I know nothing about JavaScript You don't. Bye.
Jeremy Falcon
|
|
|
|
|