4 ms·
The thing about JS is that it was always terrible 5-10 years ago, and is always "actually good now". [EDIT] Though I actually agree that it's nearly-tolerable
by yamtaddle 3y ago
The thing about JS is that it was always terrible 5-10 years ago, and is always "actually good now".
[EDIT] Though I actually agree that it's nearly-tolerable now that we have TypeScript and async/await to force what always should have been the default behavior.
- 8note 3y agoThe thing about JavaScript is lots of people are touching it and are innovating both in how to use it, and for language features. It's always getting better, and always has opportunities to get better
- PointyFluff 3y ago[dead]
- vlovich123 3y agoNot sure what language you were coding in but I remember actively hating it 5-10 years ago and definitely didn't think "it's actually good now". It was always getting better of course, but even these days there's lots of problems that would prevent me from saying "it's actually good now". The Web APIs are pretty lacking: * WebUSB has only been available for a couple of years * WebGPU is only now becoming a thing despite the aborted attempt that was WebGL * Raw TCP/UDP sockets are still experimental * WASM is still struggling to solve the scaling challenges to make it possible to make available a large portion of existing software as libraries for JS to interop with without overhead. * WebCrypto doesn't have streaming hash support & fails to standardize protocols that are relatively popular (e.g. ED25519) From a language level, there's all sorts of footguns/edges that can't be fixed due to back compat and the language is both slow in adopting good features but also fast to adopt features that don't work too well or just plain annoyances when switching between langauges (e.g. did any/all really have to be unique and called some/every?). The ecosystem also has large annoying challenges with TypeScript being super slow to type check even small projects, a mess of bundlers to pick from (most of which are ass slow except for ESBuild and maybe SWC), linters (only really ESLint in the game which is slow for TS), formatters (prettier which is slow but thankfully there's now dprint), ES/CJS bifurcation that's a nightmare to manage, tooling that only works with very specific combinations of things, etc etc etc. You can usually build something passably if you know what you're doing but it's a mess for someone new entering the field and even after having spent some time in it I'm finding myself futzing with project settings quite a bit to accomplish some slightly off the beaten path combination of tools.
- yamtaddle 3y agoI mean that at any time it was extremely common to see something like "well yes it was bad [amount of time ago], but now it's actually good!" Before long that "actually good" is lumped in with the time when it was bad... but now, of course, it's actually good!
- Dylan16807 3y agoIf something continuously improves then you'll always have people saying that as it crosses their personal threshold of "good". That doesn't mean they're wrong or that there is any contradiction. If you ask the same person what year javascript became good, their answer is not likely to change much over time.