The JavaScript community grew by an impressive four million users in the past 12 months, solidifying its status as the most widely-used programming language globally.
As much as people like to make fun of JS/TS, I think you’re right, especially compared to the languages you mentioned. It’s my second-favorite language after Rust.
I think I would put Swift above it as well, except I don’t really use it since it’s too domain-specific in practice.
The newest iteration of the language might be okay, but the ecosystem is an absolute mess.
Working with npm projects is always a pain, everything changes all the time for no reason, and often enough in subtle ways you can’t anticipate.
Plus, there’s just an army of not very good and/or inexperienced developers vomiting their incompetence into the ecosystem.
Languages are not isolated. Java doesn’t force abstractFactoryBuilders, yet hundreds of developers follow that pattern. So Java in practice is rather verbose.
The language and its standard libraries lead developers towards common patterns. Javascript’s standard library is pretty sparse excluding browser-only web apis, so there are tons of external libraries to fill the gap for better or worse.
Languages are not isolated. Java doesn’t force abstractFactoryBuilders, yet hundreds of developers follow that pattern. So Java in practice is rather verbose.
Java basically does because it did not support functional programming forever forcing most of the base standard libraries to eschew those patterns (looking at you spring), and because even today it does not treat functional programming as first class and it is difficult to accomplish the same things with it then with other languages.
It is also missing many extremely common shorthand syntax expressions like optional chaining.
Not really, no. The over-abstraction Java is often doing is a question of mindset. Java devs tend to be very keen on reusability , which is fine, but often enough the result is unusable.
The problems behind abstractFactoryBuilders are not inherently unsolvable without these constructs, it’s just that Java devs chose this rather weird approach.
I absolutely agree with you. If I can avoid NPM I will indeed do so. Sometimes that means using Deno, but sometimes it can be a valid reason to avoid using the language altogether. And sometimes we have to suck it up 🤷♂️
As much as people like to make fun of JS/TS, I think you’re right, especially compared to the languages you mentioned. It’s my second-favorite language after Rust.
I think I would put Swift above it as well, except I don’t really use it since it’s too domain-specific in practice.
The newest iteration of the language might be okay, but the ecosystem is an absolute mess.
Working with npm projects is always a pain, everything changes all the time for no reason, and often enough in subtle ways you can’t anticipate.
Plus, there’s just an army of not very good and/or inexperienced developers vomiting their incompetence into the ecosystem.
Languages are not isolated. Java doesn’t force abstractFactoryBuilders, yet hundreds of developers follow that pattern. So Java in practice is rather verbose.
The language and its standard libraries lead developers towards common patterns. Javascript’s standard library is pretty sparse excluding browser-only web apis, so there are tons of external libraries to fill the gap for better or worse.
Java basically does because it did not support functional programming forever forcing most of the base standard libraries to eschew those patterns (looking at you spring), and because even today it does not treat functional programming as first class and it is difficult to accomplish the same things with it then with other languages.
It is also missing many extremely common shorthand syntax expressions like optional chaining.
Not really, no. The over-abstraction Java is often doing is a question of mindset. Java devs tend to be very keen on reusability , which is fine, but often enough the result is unusable.
The problems behind abstractFactoryBuilders are not inherently unsolvable without these constructs, it’s just that Java devs chose this rather weird approach.
I absolutely agree with you. If I can avoid NPM I will indeed do so. Sometimes that means using Deno, but sometimes it can be a valid reason to avoid using the language altogether. And sometimes we have to suck it up 🤷♂️