Eric Elliott and Douglas Crockford tell us that the two major “pillars” of JavaScript are functional programming and prototype objects. However, these pillars are relegated to a mishmash of bad features and lousy semantics. Why not create a new, better language that has these pillars? Why not jettison the garbage that’s in JavaScript?

This nonsense of providing “strict mode” and JSLint to work around JavaScript’s flaws is absurd. They don’t even work to eliminate the inconsistent semantics!

And if prototype objects are so great, why was this feature eschewed in favour of class-based OOP in recent languages like Dart and Newspeak, both of which were directly inspired by JavaScript and Self, and both of which are backed by Gilad Bracha, who knows prototype OOP very intimately? Dart’s project founder is Lars Bak, a well-known JavaScript expert, too. Apparently, they weren’t so enamoured by prototype OOP that it was a must-have feature.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store