6 ms·
In my view, the primary advantage of CoffeeScript was to provide ways to avoid JavaScript footguns. I think that a combination of ES 2015 and wider propagation
by baddox 6y ago
In my view, the primary advantage of CoffeeScript was to provide ways to avoid JavaScript footguns. I think that a combination of ES 2015 and wider propagation of best practices have made many such footguns avoidable in practice without using CoffeeScript.
- city41 6y agoBut it brought along its own footguns. The article has one example > For example, we had a major production bug in the fall of 2013 due to a misplaced space character.
- agency 6y agoDefinitely my experience. Implicit returns are just a breathtakingly bad idea and I have personally witnessed them cause countless bugs.
- city41 6y agoI think they can be ok in a language where it’s been well thought out. Like implicit return in clojure has never bugged or surprised me.
- sullyj3 6y agoInteresting, I've never heard complaints about implicit returns before. I really enjoy them in languages like rust. What kind of bugs?
- agency 6y agoI recall several resulting from the fact that lodash's _.forEach terminates iteration early if the function you pass it returns a falsey value for any element. Most people (myself included) weren't aware of this functionality and thought of the callback as a void function and weren't even thinking of what the last expression in it would evaluate to.
- sullyj3 6y agoThat just seems like a poor choice of api design for forEach, rather than a fundamental problem with implicit returns.
- acdha 6y agoThat matches my experience: the pitch was writing less, safer code but I found that JSHint (back then) had a comparable effect without a stop-the-world migration and a lot of the size reductions weren’t significant compared to following any style standards for naming, comments, etc.