| Some reasons why I will stick with CS: * Optional braces and parenthesis. Results in visually cleaner and more compact code, especially when dealing with large objects. * Requiring backticks to do string interpolation seems like an ugly hack. * CS uses dots to slice and splice ranges: host?.split(".")[-1..][0] == "dns"
BTW, notice in the example above two additional CS features that don't exist in ES6:* The existential operator `?` soaks up null/undefined references. * `==` is compiled to `===` * Expressions always return a value in CS, just like in Lisp, so no need to explicitly `return` * Block strings and regular expressions. And more: http://coffeescript.org/ Plus, CS just seems like it's always a step ahead of JS. In using it, you can code in a more intelligently designed language that enforces best-practices better than JS does. Doing so supports diversity, innovations (after all, many of these ES6 features are obviously inspired by CS). Why abandon such a wonderful language when it still has so much to offer, and at the same time seems to be driving innovation in JavaScript itself? |