4 ms·
This is getting so old. It’s also dated, modern JS is a pretty great language.
by skrebbel 3y ago
This is getting so old. It’s also dated, modern JS is a pretty great language.
- soggybutter 3y agoModern JS is a passable language only after a tremendous amount of time and effort was invested to retrofit it as such. For all of the purported isomorphic benefits, I still don't know why anyone would choose to use it outside of being forced to in browsers
- thecopy 3y agoI don't really mind that "a tremendous amount of time and effort was invested" into JS. It works great for me and my team and we are hugely productive using it. That why. It works and we deliver a lot of value.
- nitwit005 3y agoYou don't mind, because someone else spent the money. The people signing the checks probably did care.
- Mystery-Machine 3y agoIt works great for you because you haven't seen better. Which other languages do you have more than 1 year of professional experience with? May I answer that for you? None. Just because you've just discovered a knife, doesn't mean it's the best tool to eat the soup with.
- djbusby 3y agoAll the "good" languages have tremendous effort - it's how they get good. Nothing starts great...it's a journey. We've been watching the sausage being made.
- gowld 3y agoMost languages were OK and got enhancements, JS was terrible and got repaired. Python, for example, got a lot better a lot faster than JS did.
- Mystery-Machine 3y agoJust because "it's a journey" and we invested tremendous effort, doesn't mean it's suddenly great. It's a terrible language with many illnesses, even today's modern version, because it's kept its diseases from the past. It surely is lightyears better than what it used to be, but it's still a pile of turd IMO (I work with JS every day).
- londons_explore 3y agoJavascript, like python, was "simple yet flexible". Thats what made them successful. When a language is successful, people start to bolt on extra bits of syntax and features (async, prototypes/classes, lambdas, etc). Eventually it is no longer simple, and the learning curve gets steeper for new users. Someone comes up with a new simple yet flexible language, all the new users start with that instead, and the cycle repeats. BASIC/visual basic/VB.net went through that cycle in the 90's. C then C++ went through that in the 2010's. Python/Javascript is going through that now. Go is about to go through the same.
- jonny_eh 3y ago> a tremendous amount of time and effort was invested to retrofit it as such Great things require tremendous effort and even time.
- numbsafari 3y agoThat’s why git and JS don’t really belong on this list without a massive asterisk. It’s not like JS you use today is the same as the one that took “10 days”. Same goes for git.
- falcor84 3y agoNevertheless, there's something amazing about being able to release the first version of something so world-changing so quickly.
- IshKebab 3y agoModern Typescript is fairly decent. Plain Javascript is still awful. And I wouldn't say either are great. I especially don't understand why Javascript doesn't have a "modern" mode where `var` and `==` are banned, prototypes are immutable, etc. You can do all that with linters but the people that need help with that stuff don't know how to set up a linter in the first place or what options to choose.
- post-it 3y ago> You can do all that with linters but the people that need help with that stuff don't know how to set up a linter in the first place or what options to choose. Then how would they know how to enable "modern" mode? Junior devs shouldn't be setting up any of that stuff anyway, they should be given a laptop with VSCode + prettier already installed, and all of the config they need should be in the project repo.
- Mystery-Machine 3y agoThe language specification should have a directive similar to "use strict" (the JS doctype kinda thing), something like: "use es23"
- IshKebab 3y ago> they should be given a laptop with VSCode + prettier already installed, and all of the config they need should be in the project repo. Most Javascript beginners do not already have a Javascript programming job.
- post-it 3y agoIf I don't have to work with them, I don't care how they write their JS.
- soperj 3y agoAre all variables still global unless defined not to be?
- bunga-bunga 3y agoNot in a module context: # a.mjs (()=>{ a = 1 })(); # in a shell $ node a.mjs ReferenceError: a is not defined
- post-it 3y agoNo, as of eight years ago. https://en.wikipedia.org/wiki/ECMAScript_version_history#ES2015 https://en.wikipedia.org/wiki/ECMAScript_version_history#ES2...
- soperj 3y agothanks!
- bmacho 3y agoI'd rather say yes. AFAIK core javascript works exactly like 25 years ago, and they haven't changed anything on it, not removing a single keyword or altering a semantics of any less used function, so your 25 years old javascript programs can still run in modern browsers.
- Mystery-Machine 3y agoThe short answer is: yes. If you do <script scr=...> And in the .js file: var x = 5. That x is global.
- lemming 3y agoI didn't say anything about JS being bad. But this article is predicated on the assumption that doing things fast is good. I think it's hard to argue that if Eich had spent 20 days (or perhaps even 30 days!!!!) we would have been in a much better place for the last couple of decades. We're not working around the fact that JS is intrinsically a bad language, we're working around the fact that it was ridiculously rushed.
- skrebbel 3y agoHe made the world’s most popular programming language in 10 days. By most people’s definition that’s very impressive. Sure, he did it mostly by being in the right place at the right time. But lots of geniuses tried to do web programmability before, eg with java applets. They were in the right place at the right time too. They spent man years getting it all right, and even Eich’s very first 10-day hacked version of JS (or, well, LiveScript) was better. Don’t dismiss all the stuff he got right. It’s a lot!