I Have in recent years professionally mostly been working with Java for any larger projects since I am quite comfortable with how that platform works on a lot of levels. On top of that I have also been trying out smaller projects using stuff like python (django, fabric and writing utilities), haskell (xmonad), groovy (gradle) and ruby (rails, jekyll).
Having some experience in that mix of languages plus some analysis in mind I very quickly settled on CoffeeScript.
Thoughts on code generation and CoffeeScript
There exists many editors and IDEs with carefully designed language support that somewhat helps the situation. For every fancy editor feature you use the editor itself moves closer to becoming a kind of keyboard shortcut oriented DSL or code generation tool that many times just makes up for some inefficient language syntactic expressions. My history with code generation tools is mixed, I’ve worked with really good ones while others have been painful to use. From my experience, a DSL/cross compiler usually needs to either provide an significant productivity gain and/or match the target platform(s) in an intuitive way.
An Simple example
A very simple comparison of a trivial function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Translated to CoffeeScript
1 2 3 4 5 6 7 8 9
Not sure what to think?
Check out coffeescript.org where you can try CoffeeScript out in your browser.
UPDATE: I recently found a panel interview article, Should you learn CoffeeScript?. The author of CoffeeScript and others have their say. It might help you decide if CoffeeScript is something for you.