CoffeeScript: zero benefit, lots more frustration and hassle
got my first exposure to CoffeeScript this weekend through a Railscast on Backbone.js. The tutorial is unfortunately done with coffeescript where I had the pleasure (multiple times) of typing the code exactly as it is in the tutorial and then watching it not work. Strangely, I retyped the code the same way several times and then it started working. If I copied the code from the lesson files, it sometimes didn't work. But then if I typed it out it did. No explanation. It's taken me 36 hours to work through two 15 minute RailsCasts and I'm not even done yet!
Why use javascript or jquery where you only have to worry about getting the code right when you can use coffeescript and have the extra worry about valid code not working at all? It's definitely much better for beginners.
5 comments
[ 4.6 ms ] story [ 18.5 ms ] threadFor me CoffeeScript make JavaScript much more readable, that single benefit alone already worth the efforts.
I'm pretty productive with JS, and even if I'm not writing things that change the world, I feel like I'm busy enough that there's never been a good time to effectively relearn a language that I already know.
On the same token, it always chafes me a little bit when I see people ask questions on StackOverflow in Coffee. I might have been able to help them if they hadn't, but seeing it in Coffee, despite being 'plain old' JS, means that I can't.
Still though, I appreciate the value of it. The main reason I work in Python is for readability. I completely get the value, and I consider it worthwhile, but until Coffee hit some form of critical mass (even if just on the teams I'm working with,) then it just doesn't quite make sense for me.
There are some very valid criticisms of CoffeeScript, but you've raised none of those nor brought new ones.
It's normal to be frustrated when learning new things, but the savvy student recognizes the problem lies in him or herself, not in the topic they don't yet understand.
Try harder, or stop complaining. Blaming the compiler is a novice response, and will garner you no sympathy.
(Hint: it's probably the significant whitespace.)