It won, which makes it a huge huge target. What's the adage? "How to know if you're popular: you have haters."
Most other ecosystems are much much much much smaller. Which is a huge advantage in many many many ways. People love being able to rank up & establish themselves visibly or invisibly in a position.
But there's no central JS world to stay established in. It's fractured as heck. There's the "Rails is Omakase" way of development, all paved paths, and there's hundreds of JS things that purport to do that, but JS itself is a much vaster much diverser ecosystem.
JS also is so much different from most development. Code ideall is second fiddle, is a helper to the lead, HTML. It's a very different mode than what developers are used to, and many have a hard time loosening up & seeing how great it can be, many don't grasp the power value & possibility, and worse, don't appreciate how meaningful it is to have not just running code, but a protocol based hypermedium, that enables creative usersscripting & malleability.
People also love to take digs at the historical roots as a quick & dirty language. More easy at hand ammo, more stones to throw. Two things on that. In opposite direcions.
Developers are terrified languages might not matter that much, that they might be more alike. We want our niche cool hipster language that we love to matter, to be really important, and there's the threat that something imperfect might actually be good delegitimizes our faith that language is so important.
In the opposite direction, historical mudslinging ignores that this has been one of the best invested in best cared for best grown languages. ESM is good, we just still hate it having a fractured messy ecosystem, where our most popular testing library Jest & dozens of other critical tools still have trash/no ESM support. That's our fault not JS. I fell totally the other side of chain/spawn for promises versus what we got (rank betrayal of JS being a first class system to say promises aren't really objects, just future values, terrible decision, poor governance picking limited unrepresentative choice) but in async/await is still glorious. The itches get scratched. It's become a really solid language. With typescript it leads the pack as a typed optional language too, something everyone else (python, Elixer) are trying to adapt to. JS evolved so well, and there's few real perils, in spite of the boogeyman under the bed horror that "Wat" era anti-JS radicalism tried to frighten us with.
Whether folks are open to & thrive in ambiguity & openness is a huge personality difference that I think governs so much of how people fair here. A lot is just culture, bandwagons, having wagons to circle & enemies to call out, simple tribalism. But JS is as big as everything else put together at this point, practically, and with less clarity & directness in most circumstances, more pick & choose. Perl was the first post-modern programming language & it made a lot of people very upset, but JS is the second & most successful, has become the lead post-modern world. http://www.wall.org/~larry/pm.html
Most other ecosystems are much much much much smaller. Which is a huge advantage in many many many ways. People love being able to rank up & establish themselves visibly or invisibly in a position.
But there's no central JS world to stay established in. It's fractured as heck. There's the "Rails is Omakase" way of development, all paved paths, and there's hundreds of JS things that purport to do that, but JS itself is a much vaster much diverser ecosystem.
JS also is so much different from most development. Code ideall is second fiddle, is a helper to the lead, HTML. It's a very different mode than what developers are used to, and many have a hard time loosening up & seeing how great it can be, many don't grasp the power value & possibility, and worse, don't appreciate how meaningful it is to have not just running code, but a protocol based hypermedium, that enables creative usersscripting & malleability.
People also love to take digs at the historical roots as a quick & dirty language. More easy at hand ammo, more stones to throw. Two things on that. In opposite direcions.
Developers are terrified languages might not matter that much, that they might be more alike. We want our niche cool hipster language that we love to matter, to be really important, and there's the threat that something imperfect might actually be good delegitimizes our faith that language is so important.
In the opposite direction, historical mudslinging ignores that this has been one of the best invested in best cared for best grown languages. ESM is good, we just still hate it having a fractured messy ecosystem, where our most popular testing library Jest & dozens of other critical tools still have trash/no ESM support. That's our fault not JS. I fell totally the other side of chain/spawn for promises versus what we got (rank betrayal of JS being a first class system to say promises aren't really objects, just future values, terrible decision, poor governance picking limited unrepresentative choice) but in async/await is still glorious. The itches get scratched. It's become a really solid language. With typescript it leads the pack as a typed optional language too, something everyone else (python, Elixer) are trying to adapt to. JS evolved so well, and there's few real perils, in spite of the boogeyman under the bed horror that "Wat" era anti-JS radicalism tried to frighten us with.
Whether folks are open to & thrive in ambiguity & openness is a huge personality difference that I think governs so much of how people fair here. A lot is just culture, bandwagons, having wagons to circle & enemies to call out, simple tribalism. But JS is as big as everything else put together at this point, practically, and with less clarity & directness in most circumstances, more pick & choose. Perl was the first post-modern programming language & it made a lot of people very upset, but JS is the second & most successful, has become the lead post-modern world. http://www.wall.org/~larry/pm.html