This article is missing one important thing: CoffeeScript now supports native import and export statements, but decaffeinate doesn't. I recently migrated several large codebases and had to escape all the import and export statements (which wasn't very hard), but it got a little hairy where we were directly exporting instead of assigning it to a variable first. I'm going to miss CoffeeScript, but being able to use ES7…
Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
41–47 of 47 posts
Re: Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
#42It's pretty wild having seen CoffeeScript spread like a wildfire in the early 2010s, only to be discarded nearly as fast a couple years later.
Same, the JS cool-kids swore up-and-down that CoffeeScript was the future and we'd be fools to not jump on. It's another reminder that no-one knows the future.
Re: Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
#43Plain vanilla JS (and therefore TypeScript) still lacks one killer feature from the Coffee family: Null propagation operators (`a ? b` => `a != null ? a : b`, `a?.x` => `a == null ? null : a.x`, etc). Even C# has it.
Re: Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
#44Earlier quoted context omitted.
Same, the JS cool-kids swore up-and-down that CoffeeScript was the future and we'd be fools to not jump on. It's another reminder that no-one knows the future.
CoffeeScript always felt forced onto me during the height of 37Signal's influence of software development trends at the time. At the only rails shop I ever worked at it was heavily resisted. It was at the same time I was reading more and more of Resig blogs and books (Secrets of the JavaScript ninja) and I really began to learn and grok just plain normal JavaScript. I said to myself, "you know, this really isn't that…
Re: Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
#45It's pretty wild having seen CoffeeScript spread like a wildfire in the early 2010s, only to be discarded nearly as fast a couple years later.
I can relate. I wrote an essay on this a while back: https://www.nemil.com/musings/shinyandnew.html Excerpt: Pity the modern web or mobile app developer on Hacker News. As a full stack startup developer in 2012, you were building websites using Ruby/Rails on the backend, Backbone/Coffeescript/Underscore on the frontend, while deploying your app with Capistrano (or the relevant Python analog). By 2013, you'd transitio…
Re: Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
#46Earlier quoted context omitted.
You can write CoffeeScript to target Node...
The question is, why? Realistically, everybody who uses Coffeescript is/was a Rails developer at some point since the syntax is very opinionated towards rubyists. The typical Node dev is more likely to use ES6/7 which fixes a lot of the same js issues as Coffeescript.
Re: Decaffeinating a Large CoffeeScript Codebase Without Losing Sleep
#47Earlier quoted context omitted.
CoffeeScript always felt forced onto me during the height of 37Signal's influence of software development trends at the time. At the only rails shop I ever worked at it was heavily resisted. It was at the same time I was reading more and more of Resig blogs and books (Secrets of the JavaScript ninja) and I really began to learn and grok just plain normal JavaScript. I said to myself, "you know, this really isn't that…
What do you dislike about ES' direction? The increase in language features in general, or more specific things?
Prototypical inheritance is really not that hard to understand.
I would rather see JavaScript fix the existing functionality, such as sometimes the prototype chain not being correctly established when instantiating a new object.