To approach it from a slightly less tongue-in-cheek angle, my main point was that pre-compilation was never strictly necessary. I'm currently using Typescript as it seems to add significant enough value for me to warrant the extra complexity of pre-compilation, but I do think that's quite a big ask. Coffeescript has always seemed very much about conforming to developer syntax preferences, rather than adding functionally useful features.
ES6 arrow-functions add some behavioral change (this assignment) and make some callback patterns more readable ([].map, etc.) but are definitely overused and making a lot of recent code less readable as a result.
Whether destructuring makes code more or less readable is highly contextual and debatable. It does seem to fall well on the wrong end of the "Enabling" side of the "Software Dev Attitude"[0] to me insofar as it definitely allows developers to create very "clever" code at the cost of readability.
Shorthand is shorthand.
Generally speaking - like pre-compilation - these syntactical sugars may be a net positive for some, but they're far from groundbreaking in terms of adding value.
ES6 arrow-functions add some behavioral change (this assignment) and make some callback patterns more readable ([].map, etc.) but are definitely overused and making a lot of recent code less readable as a result.
Whether destructuring makes code more or less readable is highly contextual and debatable. It does seem to fall well on the wrong end of the "Enabling" side of the "Software Dev Attitude"[0] to me insofar as it definitely allows developers to create very "clever" code at the cost of readability.
Shorthand is shorthand.
Generally speaking - like pre-compilation - these syntactical sugars may be a net positive for some, but they're far from groundbreaking in terms of adding value.
[0] http://martinfowler.com/bliki/SoftwareDevelopmentAttitude.ht...