4 ms·
The fact that JavaScript and the web platform kind of sucks while at the same time being "unavoidable" is why it's so good. It forced a lot of very smart peopl
by shados 9y ago
The fact that JavaScript and the web platform kind of sucks while at the same time being "unavoidable" is why it's so good.
It forced a lot of very smart people and a lot of eyes onto the platform to try and find solutions within the extremely restrictive "box" to these problems.
How do you solve the API issues when you don't control the platform?
How do you solve for perf when things can't be installed?
How do you solve the API when you can't force people to upgrade?
How do you solve the language when you only have one language as a compilation target?
Out of these we got React and other vdom style view layers.
FP paradigms got into the mainstream.
It exposed the mass to newer type system features
We got a toolchain that while complex, can do almost anything.
We got some test tooling that are ahead of other mainstream languages.
And every last bit of these went through tons of iterations (sure, javascript fatigue, whatever), and have had an immense amount of eyes on. You totally can look at any of the things I pointed out and say "Language X did it first!", but no one forced Language X on so many people, while JS was, so these things got a lot more exposure.
In short, I love the JS ecosystem precisely because it sucks so much.
- DonbunEf7 9y agoI bet you love pugs, bulldogs, and dalmatians too.
- tjoff 9y agoI miss the days when javascript meant changing the color of links. It's hard to admire the work being put into javascript when you see the result every living minute of every day.
- bo1024 9y agoThese are why I dislike the javascript ecosystem. It's like a giant game of codegolf -- solving problems that shouldn't be solved overcoming constraints that shouldn't be imposed using creativity that ought to be spent on the big picture. "Very smart people" are great at twisting and stretching and finding the most optimal possible solution within the restrictive box that you give them. But they're not always great at stepping back and asking bigger questions: * Why was the box put there in the first place? * Doesn't my solution defeat the point of the box? * What are the alternatives to the box? * Is it possible that I'm wasting tons of time and energy on a problem that would be trivial outside of the box?
- mayank 9y agoThe questions you ask are great, but slightly less important when you add the fact that everyone has the box already, and getting them to use a new box has been tried incessantly over the years, and yet here we are with the same old box. Tl;dr -- pragmatism is why the web ecosystem is eating the world, not optimal design.
- nightski 9y agoThere are three players in the game right now all of whom can push updates to the vast majority of their user base very quickly. This isn't a problem like it was back in the day. Now it's pure stubbornness.
- shados 9y ago4 players (edge, firefox, safari and chrome, and no the last 2 are no longer close). One of them, the usual suspect, is still dog slow to update. But even with that, wasm, service workers and other major changes don't come overnight. The rest of us still have a job to do.
- Spivak 9y agoI mean you're not wrong. If any major player added an existing mature language to the browser with 1st class support you would see the end of new JS. Bonus points if it was a lisp or a 'hard' language because machismo alone would drive adoption overnight.
- pwdisswordfish 9y ago> How do you solve for perf when things can't be installed? You don't, even when things can be installed. And that's where editors that eat half a gigabyte of memory to open a 6 MiB file come from.