4 ms·
Yeah, agreed. JavaScript doesn't really have any impressive redeeming features. I like it because it's kind of minimally viable and accidentally really useful f
by mbrock 9y ago
Yeah, agreed. JavaScript doesn't really have any impressive redeeming features. I like it because it's kind of minimally viable and accidentally really useful for dealing with APIs full of duck typed nested records.
It's really hard to be both minimally viable and have a sound and expressive static type system.
Simply typed lambda calculus isn't even Turing complete, and the fate of Haskell's endless extensions indicates an inherent rabbit hole...
Haskell itself has somewhat horrible issues dealing with extensible records, and the solutions are all complex and hard to understand.
Dealing with JSON in Haskell in a quick and easy way is nowadays quite nice, but it took the invention of van Laarhoven lenses and the aeson-lens module...
I greatly prefer JavaScript to Java because I prefer no static type checking over inexpressive static type checking! And expressive type systems are hard to get right, so it's a very classic "worse is better" situation.