To any non-js dev taking this too seriously: A good half of the technologies mentioned in this meme are redundant, you only need to learn one of them (in addition to the language). It's like complaining that there are too many Linux distributions to learn: you don't, you just pick one and go with it.
Writing plain old JavaScript without a library or framework is nice while you’re learning. Too many people will learn a single framework and not have any idea what the underlying APIs are, so the transferable skills are minimal.
All of these bring me a sense of dread, each in a unique way.
Java I have a special loathing for, but the ecosystem isn't too wild, just verbose and so XML heavy.
JS is its own hell because of the sheer number of permutations of technologies a given project will use. There's always at least one nonstandard framework or tool lingering around from an old trend.
Python reimplemented the same dep management wheels 5x each, and I have no idea what common stacks look like anymore, but every time I encounter Python projects, something is always broken.
C is nice and easy from what I've used (just GCC & make), but idk what complexity arises in bigger projects.
Just so glad I'm not a webdev anymore and work with mostly just Rust, cargo, and containers.
Honestly I think the main thing that the JS ecosystem does well is dependency / package management (npm). The standard library is very small so everything has to be added as a dependency in package.json, but it mostly works without any of the issues you often see in other languages.
Yeah, it's not perfect, but it's better than anything else I've tried:
Python's approach is pretty terrible (pip, easy_install, etc.) and global vs local packages
Ruby has its own hell with bundler and where stuff goes
PHP has had a few phases like python (composer and whatnot) and left everyone confused
Java needs things somewhere in its $PATH but it's never clear where (altough it's better with Gradle and Maven)
C needs root access because the only form of dependency management is apt-get
In contrast, NPM is pretty simple: it creates a node_modules and puts everything there. No conflicts because project A uses left-pad 1.5 and project B uses left-pad 2.1. They can both have their own versions, thank you very much.
The only people who managed to mess this up are Linux distributions, who insist on putting things in folders owned by root.
The trick to writing a JavaScript web app is that first you consider literally any other technology to solve your problem and only then consider using javascript.
Every person I know who used JQuery seems to really miss it. My only impression of it is that it looks goofy. Similar for PHP, but my only experience with it is Nextcloud causing me nightmares.
I used to use JQuery (and I still do occasionally when doing scripts for WordPress where its included natively), but modern vanilla JS has solved 90+ % of the reason why we needed JQuery back then.