I'll start. I really like coffeescript for a number of reasons. -It protects you from a lot of javascript's gotchas like globally scoped variables. -I've come to realize syntactically significant whitespace languages are cleaner once you get used to them. -I write about 30% fewer lines than javascript.
Elm. It is very different to JavaScript, as it is a functional reactive language, but it compiles down to JS, can interact with it and is quite powerful. Check out some examples to see the syntax. As objects are immutable, you describe everything as-it-is, instead of how-it-changes. That means, once you get the functional way of programming, you will have way less headaches with coding and debugging.
This looks fantastic. Very similar to Haskell. I've always liked Haskell, but it doesn't have the library support for most of my work. Looks like I can use Elm for my front-end scripting. How well supported is it, and can it easily interface with native javascript?
> How well supported is it Elm is created almost solely by Evan Czaplicki, there are some other contributors but for the most part it looks like a one-man-show. FWIW he does seem to be very responsive, and the mailing list is full of people who'll help. > can it easily interface with native javascript? There is a "port" mechanism, it is described here: https://github.com/evancz/elm-html-and-js
I'm a fan of clojurescript - it's great to bring some of the power of clojure to the browser - compile-time macros, efficient immutable data types, asynchronous programming a-la goroutines. It's still definitely a niche language - I'd mostly use it if I had a team who already know clojure, or if I needed something quite complex in the browser. But tools like om which provide a functional wrapper around React are looking awesome, and might give clojurescript some more widespread appeal.
I've tried to learn coffescript at one point, but never ended up using it for larger projects. Most people I've worked with were using plain old JS. A lot of the good parts found in coffeescript will be available in ES6. For example, there is finally going to locally scoped variables and constants. The short hand function definition with arrow will also make code cleaner. I am thinking about to switching to ES6 when there is better browser support for it.
That's handy. didn't know those existed. From this page, http://kangax.github.io/compat-table/es6/
It appears that Babel has more of ES6 implemented. Have you tried using Babel/Traceur? Did you like it?
Haven't used neither of them yet. Plan to implement Babel(seems to be the favoured compiler) alongside PostCSS(basically same thing only for CSS) in next project. Although I haven't tried it yet writing next generation JS should be a strong positive especially if Babel does a good job of compiling your code to ES5. If you are interested I would suggest doing your own research to the pros and cons. Or just give it a try.