My company uses coffeescript, because it's a curated, highly documented set of improvements to javascript syntax. It's code I can trust, and code that was built by someone a lot better than I am at constructing languages -- so it's a pleasure to use.<p>I suspect that the biggest contribution sweet.js will make is lowering the barrier enough that more people release things <i>like</i> coffeescript. Curated, documented packages of syntax improvements to javascript. I suspect that will be more common than individuals rolling new syntax for each project.<p>Let a thousand coffeescripts bloom. :)
I'm unconvinced. sweet.js is a terrible thing for JavaScript development. JavaScript is already dynamic and capable enough to build sophisticated applications. It is dynamic enough to help programmers avoid redundant code. If syntax is a problem, there are alternatives like CoffeeScript, Dart and others. There is something pretty amazing about JavaScript, for example the various runtimes that run JavaScript adhere to the ECMA standard pretty well. This has allowed the programming language to become what it is today, a portable way to write apps and have them work in phones, different platforms, servers and browsers.<p>Macros will:<p>* reduce portability<p>* add an extra layer of complexity to building and debugging (that abyss[1] is going to be even deeper)<p>* make code less readable<p>* increase ramp up time for new engineers on a project as they have to learn your flavor of JavaScript<p>I'm not saying JavaScript doesn't have room for improvement, but sweet.js is the wrong way to do it.<p>[1] <a href="http://masters.gen.nz/Blog/post/WDCNZ-Thoughts-on-Douglas-Crockfords-talk-covering-the-The-Abyss.aspx" rel="nofollow">http://masters.gen.nz/Blog/post/WDCNZ-Thoughts-on-Douglas-Cr...</a>
For reference here are three recent HN discussions on sweet.js - <a href="http://news.ycombinator.com/item?id=4687442" rel="nofollow">http://news.ycombinator.com/item?id=4687442</a> | <a href="http://news.ycombinator.com/item?id=4650929" rel="nofollow">http://news.ycombinator.com/item?id=4650929</a> | <a href="http://news.ycombinator.com/item?id=4560691" rel="nofollow">http://news.ycombinator.com/item?id=4560691</a>