And one fact which annoys me the most: in all other areas we are free to choose any language to do the job. But in the web we're forever stuck with one language which was quickly concocted in a few days and still to this day many of the original flaws remain.
An alternative world could have existed where we have the same exact Javascript, without the culture of using "tens of thousands of tiny libraries" which change "several times a day". It was possible to avoid these faults while still keeping the language itself.
So I think it's unfair to say (as the comment you agreed with said) that Javascript is the worst thing to happen to the web, because all the cognitive load being pointed to comes from widespread human usage of the language rather than the language itself. That's on us.
JavaScript is fine, but JavaShit and everyone who partakes in it are a plague.
Where are those people promising slimmer and faster websites compared to absolute no JS?
> Development is a devilish entanglement of tens of thousands of tiny libraries, and almost every one of them is changing several times a day
Nothing to do with JS. Many libraries is a symptom of popularity and them being tiny is caused by trying (unsuccessfully though) to send the absolute minimum over the wire.
> I see how slow it became compared to the old good Web 1.0. Monster frameworks that require changing hundreds of files daily
What web 1.0 was doing is completely different to what the current JS apps are doing. Good luck implementing Figma with the good old web 1.0. I'd even say good luck implementing it anything other than the current web-app dev stack or some custom native UI library which would take a millennia to develop.
> sometimes front development is behind backend development because of this burden and cognitive load
backend and frontend dev have completely different constraints. Doing frontend dev for a native app is also cognitively nearly completely different monster.
> in all other areas we are free to choose any language to do the job. But in the web we're forever stuck with one language
I mean you could always compile to JS and these days there are many good webassembly frameworks.
> still to this day many of the original flaws remain
But also almost always easy to avoid. It's a necessary evil for backward compatibility.
The crowd that claims, that reloading the page is bad and therefore there must be JS involved to only generate parts of the page dynamically.
> Nothing to do with JS. Many libraries is a symptom of popularity and them being tiny is caused by trying (unsuccessfully though) to send the absolute minimum over the wire.
I think it does have to do with JS: JS did not offer much. Many things were missing. Other things were so bad, that people build abstraction layers on top, to hide the uglyness of JS underneath and then published those layers as libraries. So the language itself has at the very least historically directly contributed to the current state of affairs of thousands of mini libraries. Even JS developers themselves don't trust JS or their own ability to work around JS' quirks, so they include left pad and other funny things.
> What web 1.0 was doing is completely different to what the current JS apps are doing. Good luck implementing Figma with the good old web 1.0. I'd even say good luck implementing it anything other than the current web-app dev stack or some custom native UI library which would take a millennia to develop.
Not the GP, but I am also against the Figma pipe dream designs being pushed onto the frontend developer. In my opinion a good web designer should know CSS well and know the implications of their design ideas before pushing them onto others. Want to make a design that has something, that is difficult to achieve without JS? Better think 5 times about whether you really need it and whether that design addresses fundamental functionality of the website.
> But also almost always easy to avoid. It's a necessary evil for backward compatibility.
Only by writing code you usually would not have to write in other language, to plaster over JS' faults, or by including lots of tiny libraries as dependencies, dooming your project in the long run.
The problem with JS in browser has been security, specifically cross origin not that JS is code
There were warnings from the beginning (both with ActiveX and NPAPI), but for most engineers, getting things done took precedence over trust issues. Youtube, for example, would not have been possible until much later without Flash.
I honestly can't see a much better compromise than JS to include the common users.
But, it was easier to avoid this common error before every site depended on it.
At one time? When? People have been executing arbitrary and malicious code since the moment they could share it between two computers.
Back then JavaScript was to be used solely for non-critical, nice-to-have optional functionality that would regardless not inhibit the user; using JavaScript was contingent on your website gracefully falling back to a perfectly usable state in its absense. If your page failed to load without JavaScript, you were doing it wrong. If your JavaScript hassled your users, you were doing it wrong.
I lament that that philosophy got thrown out the window some time in the early 2010s, which subsequently led to the hellscape of websites filled to its armpits with JavaShit that serve no good purpose which we see today.
With the rise of mobile browsers, the ability for frameworks to solve cross-browser comparability, and the general acceptance that anything beyond trivial interaction required JS, catering to a tiny crowd that didn’t like having it turned on became very unimportant to most. I do agree that graceful degradation to a state that’s still functional is ideal and something I wish had stuck around.
I don’t blame Apple for that decision, honestly. And I’m sure security wasn’t apple’s only reason of course, I’m not going to be naive about that. All around, we may be better off without it. It will also be missed - both can be true.