Remix.run Logo
jongjong 2 days ago

>> JS... Because our strawman is a modern (shitty) language

This is an attitude I dislike from all these niche language communities. They give each other pats on the back for shitting on the most popular, versatile, compatible and adaptable programming language of all time.

I started using JS back in 2004 and, since then, I have watched it constantly being shat on by theoretically-minded folks. Before Node.js, people would keep pointing out "JS is a scripting language, not a programming language." Then, it became a programming language and went through the biggest adoption growth phase of any language in the history of mankind. I literally saw hardware manufacturers adopting JavaScript and even building custom JavaScript engines for their custom hardware, all while their academically-minded peers simultaneously shat on the language. They shat on it wave after wave, while it kept getting better and better and proved itself to be more adaptable than their own pet languages.

People are so hard-headed and biased against JS that the community literally had to invent a new label/wrapper; 'TypeScript' as a Trojan horse to get those stubborn folks to use it.

My view now is that JS critics are all talk. JS has been doing the walk; trampling all over their theories and abstractions and leading the way in many regards. Yes, it has bad parts, but all of these parts are avoidable; none of these parts are fundamental to the language. The matrix showing of how JS comparison operators down-cast everything to a string (leading to un-intuitive results) keeps being brought up but nobody asks the question "Why would anyone use a casting comparison operator to compare variables of two different types in the first place?". The fundamentals are excellent and proven as such.

mitxela 2 days ago | parent | next [-]

That JS is the shittiest language is obvious to everyone who knows at least one other language. What it has is the ecosystem and in particular, it's the language that browsers use.

jongjong 2 days ago | parent [-]

As someone who coded professionally in Python, C, C++, C# and Typescript, I disagree. JavaScript is my favourite language.

I just avoid the bad parts. Just like everyone else avoids the bad parts of their favorite programming languages. I compare languages based in the patterns and functionality that are actually used, not based on the sum of all its theoretical parts.

mitxela a day ago | parent [-]

If you take JavaScript but only the good parts, and make arrays 1-based for some reason, you end up at Lua.

goatlover 2 days ago | parent | prev | next [-]

> They give each other pats on the back for shitting on the most popular, versatile, compatible and adaptable programming language of all time.

I don't see why C, C++ or Java wouldn't meet some of those criteria. Everything is written in those languages. As for most adaptable, I don't see how it's possible for JS to be more adaptable than Lisp. JS isn't homioconic. It doesn't have macros.

Dylan16807 2 days ago | parent | prev [-]

> but nobody asks the question "Why would anyone use a casting comparison operator to compare variables of two different types in the first place?"

Well if you think typescript is a trojan horse label, then you make that comparison because your types are obnoxiously weak.

The fundamentals are not excellent.