IMO it improves developer happiness... whether that improves productivity dunno. For me, I doubt it would, I am using the very good js2-mode for emacs, which is able to issue warnings and error messages as I type, checking my javascript syntax as I go.
I'm hardly an expert but it was greatly beneficial to me. Got the complexity under control, started working much faster, and being able to understand stuff better when i revisited it. It's also just generally more pleasurable to use, with the high-level loops and other control aspects. Makes your code much prettier. And this, I might add, with a far from optimal development setup - can't get Node to run on my comp, so I'm just pasting code in and out of the 'try coffeescript' widget on github.
Yes, undoubtedly. It has a learning curve like any programming language, but even for existing intermediate JavaScript users, the learning curve for CoffeeScript is shallower than the learning curve for expert, best-practices-driven JavaScript development.
If your team consists of three John Resig-like JS ninjas, then the benefits of using CoffeeScript may be slight, or even cancelled out entirely by the extra step of compilation or the concern that future versions of CoffeeScript may break your code. But if your JS skills are beginner-to-intermediate, then I'm quite confident that you'll be more productive after a week or two of using CoffeeScript. That's based on my own experience, and the experience of many developers I've talked to.
CoffeeScript is an improvement in a lot of ways, and makes some of the most common JS mistakes (polluting the global scope by omitting `var`, relying on `==` to coerce types) impossible, while making many (`this` not being what you want it to be) easier to fix. Brendan Eich, the creator of JavaScript, is on record as being a fan.
It's not a magic bullet, and there are certainly tradeoffs, but all in all, I'm of the opinion that CoffeeScript is what most devs should be using. And the benefits are especially pronounced in a team setting, where having shorter, more readable, more modularized code makes communication much, much easier. In pg's words: "Succinctness is power."
It depends on the complexity of the project, and whether or not you are counting the time to learn CoffeeScript.
If it's a small project, you won't notice a lot of difference. But, if you know CoffeeScript and use it on larger projects you'll notice it's easier to not repeat yourself, and you can get things done a lot quicker.
I think that in large projects with lots of styles and code to manage, tools like SASS can really improve maintability and extensibility. The speed for which you can make improvements in the future is greatly increased.
Personally, I think SASS + Compass is a more robust solution than CoffeeScript.
7 comments
[ 3.1 ms ] story [ 14.5 ms ] threadIf your team consists of three John Resig-like JS ninjas, then the benefits of using CoffeeScript may be slight, or even cancelled out entirely by the extra step of compilation or the concern that future versions of CoffeeScript may break your code. But if your JS skills are beginner-to-intermediate, then I'm quite confident that you'll be more productive after a week or two of using CoffeeScript. That's based on my own experience, and the experience of many developers I've talked to.
CoffeeScript is an improvement in a lot of ways, and makes some of the most common JS mistakes (polluting the global scope by omitting `var`, relying on `==` to coerce types) impossible, while making many (`this` not being what you want it to be) easier to fix. Brendan Eich, the creator of JavaScript, is on record as being a fan.
It's not a magic bullet, and there are certainly tradeoffs, but all in all, I'm of the opinion that CoffeeScript is what most devs should be using. And the benefits are especially pronounced in a team setting, where having shorter, more readable, more modularized code makes communication much, much easier. In pg's words: "Succinctness is power."
(By the way, I've also waxed about this subject at the Programmers Stack Exchange: See http://programmers.stackexchange.com/questions/72569/what-ar... and http://programmers.stackexchange.com/questions/72699/should-...)
It depends on the complexity of the project, and whether or not you are counting the time to learn CoffeeScript.
If it's a small project, you won't notice a lot of difference. But, if you know CoffeeScript and use it on larger projects you'll notice it's easier to not repeat yourself, and you can get things done a lot quicker.
I think that in large projects with lots of styles and code to manage, tools like SASS can really improve maintability and extensibility. The speed for which you can make improvements in the future is greatly increased.
Personally, I think SASS + Compass is a more robust solution than CoffeeScript.