5 ms·
> The explanation for most people’s dislike of CoffeeScript is probably our natural resistance to new things and our comfort in what we know. This is a mildly
by sdevlin 13y ago
> The explanation for most people’s dislike of CoffeeScript is probably our natural resistance to new things and our comfort in what we know.
This is a mildly insulting, as is the invocation of Blub.
CoffeeScript doesn't have a ton of exotic features. String interpolation, list comprehensions, and class definitions (!) are all familiar to programmers from other languages.
I'm guessing that a lot of people have weighed CoffeeScript's feature set against its overhead and decided the trade just isn't worth it.
- wwweston 13y ago> CoffeeScript doesn't have a ton of exotic features. Not only that, but it's JavaScript. It's JavaScript with some different tokens and shortcuts for a number of things that are missing from (some) JS runtimes and features people are used to from other languages, but it's JavaScript semantics nonetheless. The author apparently knows this on at least a superficial level, since he pays lip service to it in his slides, but I'm not sure someone who invokes Blub in a comparison between languages that have the same semantics understands the point of the essay from which it comes.
- MaybiusStrip 13y agoI've written my fair share of coffeescript and right now I'm working on a large node/angular project and I'm glad we stuck with Javascript. I definitely miss some of coffeescript's features and having cute, ruby/python-ish looking code, but at the end of the day, it's another dependency that can easily be circumvented.
- utopkara 13y agoSo far, I thought CoffeeScript as something neat to use. After going through the slides, I now think it is not worth it for a mildly seasoned javascript programmer. I can see how it could help a newcomer to avoid javascript pitfalls, but those pitfalls could also be covered with a few commandments to follow.
- tlrobinson 13y agoI'm what I would consider a "well-seasoned" JavaScript developer and disagree. I think CoffeeScript is better for people who already know JavaScript decently well than newbies. CoffeeScript doesn't help you avoid learning JavaScript, it just makes it more pleasant.
- tlrobinson 13y agoWhat overhead? If you mean performance, there's actually basically no runtime performance overhead in most cases. In fact, if you use CoffeeScript's "for" loops have a performance advantage over JavaScript Array's map()/forEach() methods. I used to have a similar opinion but was forced to use CoffeeScript on a project and haven't looked back.
- sdevlin 13y agoOther people have answered this for me, but I mean the overhead of another moving part in the tool chain. Sometimes this is worth it (i.e. your example of C v. assembly down thread), but I don't think it's the case here. I don't mean to suggest CoffeeScript is without value. I just don't think it has hit the requisite "escape velocity" to make me want to integrate it to my tool chain.
- recursive 13y agoThe overhead of having an additional dependency. The more moving parts there are, the more things can break.
- tlrobinson 13y agoThen why don't you write assembly?
- masklinn 13y ago1. Since when can you write web applications in assembly? 2. Languages built upon assembly generally have better user experience, better tooling, better semantics and effectively no more dependencies than assembly. CoffeeScript has very slightly better user experience, worse tooling, identical semantics and more dependencies than javascript.
- tlrobinson 13y ago1. That's missing the point, but since you asked, Emscripten and Native Client. 2. I disagree that CS's user experience is only "very slightly" better, but that's very subjective. Tooling is a somewhat valid complaint but it's a young platform and it's improving (source maps, etc). Semantics aren't quite identical (scoping, implicit return values, "fat arrow" functions). How does CS have more dependencies than any other compiled language? The only dependency is a compiler.