What are disadvantages of using CoffeeScript?

 I want to share the following Quora answer by Mattias Petter Johansson to the questionWhat are disadvantages of using CoffeeScript?

 

Mattias Petter JohanssonReally, really likes JavaScript.

18 votes by Thomas BoytOded SagirJim Smith(more)
 
CoffeeScript is a JavaScript-like language that compiles into JavaScript. Looking at the syntax, it's kind of a combination of Ruby and Python. Technically, it's very, very nice. And pretty, especially compared to JavaScript, which isn't pretty.

The problem is, CoffeeScript solves problem that really isn't a problem. The guys that invented CoffeeScript come from the same group of extreme idealists that invented the DVORAK keyboard and the Esperanto language. Yes, JavaScript isn't pretty. Yes, it does have it's flaws. Yes, it can be marginally improved upon. But the problem is that JavaScript is actually JUST FINE as a language, so the improvement is pretty small, and does NOT outweigh the drawbacks of introducing a new language.

Like DVORAK and Esperanto, the drawbacks of CoffeeScript shows when you introduce other people. 

First, good luck employing a programmer that knows CoffeeScript. A search for CoffeeScript on ODesk gets you 3 contractors. Searching for JavaScript results in 23155 contractors. This means that your newly employed JavaScript programmerwill have to spend time learning CoffeeScript. 

While you learn the basics of CoffeeScript pretty quickly, there is still a lot of hidden time sinks compared to plain JavaScript, not only because you are not yet as comfortable with the syntax of CoffeeScript as JavaScript, because you have to translate JavaScript in documentation into CoffeeScript in your head, you'll probably have some problems debugging it as a newbie, you might be used to some JavaScript development tool, etc. etc. You new programmer will operate at 50-80% of his normal speed during his first 50-100 hours in the codebase or so, time that could be spent on actually getting things done if plain javascript was used. 

Add to this two time sinks that will never go away: Context switching in your head between JavaScript and CoffeeScript and the added point of failure with another compiler.

The third issue is that there will be a lot of solid developers in your team that are not primarily JavaScript programmers, but that are perfectly capable of fixing non-complex bugs in your JavaScript code. If they see CoffeeScript, I know what they will do. They will be worried about breaking things, and go work on another bug in an area of the system they are more comfortable with. 
 
My point is that using a language as universally known as JavaScript is a big advantage, and that big advantage is being thrown away for a marginal improvement of the language.

 


 

Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at info@tikalk.com