3 ms·
Out of all the languages I've been using lately, I actually like the direction JavaScript has been going. Swift started off cool as a kind of Objective-C with
by _sdegutis 9y ago
Out of all the languages I've been using lately, I actually like the direction JavaScript has been going.
Swift started off cool as a kind of Objective-C with less C cruft and more Haskell type expressiveness, but started turning into C++.
Clojure started off fast adding destructuring within 3 versions, but hasn't really done anything cool since then, whereas JS picked up destructuring but kept going.
Ruby started focusing on optional typing but JS left that up to TypeScript which seemed like a better way of going about it.
Python 3 has just been a mess from my perspective. I still can't figure out why after all this time they haven't added anonymous functions without having to give it a name (lambdas don't count, they can only have expressions).
Go continues to be the hipster language that says copy/pasting is fine, and that if you have a problem with it then go write a script that generates code, not learning any lessons from Java.
Java 8 adds nice FP functionality but it feels very unidiomatically tacked on and doesn't fit into the rest of the Java stdlib very well (e.g. how Optional isn't meant to be used directly pretty much ever).
JavaScript keeps adding more features that I liked from all the above languages and then some. My main gripe about JS is the unfortunate confusing naming scheme situation.
- k__ 9y agoWell, JavaScript slowed down after ES2015 too. On the other hand, the module system really takes time and async/await was one big step.
- Klathmon 9y agoI disagree! After ES2015 includes: * Async/await * a bunch of destructuring with the rest and spread operators * More class "nice to haves" like static properties and possibly more soon * Async iteration * Shared memory and atomics (which I'm not all that happy about, but many people are) And going even further "in the future" it might have stuff like: * Decorators (of they can ever settle on it!) * Observables * Defensible classes (again, not really happy with this, but what can ya do!) * Function bind syntax * Some "collection" nice to haves And more. JS isn't going to be slowing down any time soon!
- parthdesai 9y agoIMO, async/await itself makes it worth upgrading to ES6. So much cleaner.
- Klathmon 9y agoAgreed, but Async/await is ES2017!
- k__ 9y agoI was talking about the standardization. Sure there is a bunch of proposals, but after ES2015 only a few per year are included.
- WorldMaker 9y agoES2015 rolled up around five/six years worth of changes since ES5 (which we could call ES2009, I suppose), so of course it's going to feel like it standardized a bunch more stuff. The new system is faster as annual releases, even if it seems like ES2016, and ES2017, seem "light" relative to previous standards.
- Klathmon 9y agoDon't forget PHP! Despite it's reputation, it's gotten quite a large speed boost, a lot of new features (like typing!), And a lot more! It's shooting to be what Java always felt like it should have been in my eyes.
- _sdegutis 9y agoI've looked into modern PHP for a new potential job, and it looks like it adopted a lot of Java features in the past few years. But one thing that really unsettles me is that anonymous functions need the `use` keyword to manually capture variables from lexical scope, which seems completely stupid and I don't know why they went that route instead of inferring this data from -- wait for it... -- lexical scope.
- Klathmon 9y agoThat one bothers me as well, and I'd be interested in the reasoning behind it (sadly I think it might have been added because of limitations with the 5.3-ish engine). But while it still has it's warts, it's a refreshingly nice language to work in compared to many others, and I'm honestly a little sad I don't really use it any more at my job.