re: What are the worst programming languages that nobody should learn? VIEW POST

re: Ah that's an interesting one, because you have really good reasons to never return to CoffeeScript. Could it be the case though that nobody else w...

That's a tough scenario. ;-)

But challenge accepted. Avalander already has very good arguments in her reply. I'd like to add that Coffeescript has a rather unique history. It's not so much a programming language of its own, but rather a syntactic sugar version of Javascript. It was created by Ruby-on-Rails developers specifically "in an effort to enhance Javascript's brevity and readability" (Wikipedia), to make it more Ruby-like. You've got to know that his was in a time when you didn't have separate developers for frontend and backend and there was no ES2015.

In other words: Coffeescript is the product of backend developers, who hated Javascript (but had to use it as the output of their transpiler), and thought that the frontend is just a tiny part of their web app.

Do you think a good programming language can be the result of such a mindset? I don't. And there are lots of articles out there describing Coffeescript's shortcomings like its ambiguous syntax or how hard it is to debug. So we have good reason to say that by Coffeescript is not a well-crafted programming language.

Sometimes technology doesn't need to be good to succeed, it just needs mainstream adoption. So you could argue that it's good to learn Coffeescript in order to get a job. But that's not the case. Frontend development has changed dramatically during the past 10 years and JS is not less important (~Coffeescript mindset), but more important than ever before! So from a practical point of view it's also not advisable to learn Coffeescript.

You have really good points, but the evil advocate has found something to reply.

Well, if everything you say is true, then learning Coffescript and the story behind it is super valuable for a programming language designer who would like to know which basic mistakes to avoid when designing a new programming language. Don't try to pretend to replace something you hate and don't really understand.

Indeed. There is nothing so bad that it couldn't at least be a bad example.

Code of Conduct Report abuse