// the find
jashkenas/coffeescript
Unfancy JavaScript
CoffeeScript is a compile-to-JS language from the early 2010s that cleaned up JavaScript's syntax before ES6 existed. It pioneered arrow functions, destructuring, and string interpolation — features JavaScript has since absorbed natively. Today it's a historical artifact more than an active choice.
- The compiler is self-hosting (written in CoffeeScript, compiles itself) and that bootstrap process is well-documented — worth reading if you care about language implementation
- Source map support works correctly, so debugging compiled output is not a nightmare
- The v2 rewrite added proper ES module output and async/await support, so it's not completely stuck in 2013
- Last meaningful commit was March 2024 and activity before that was sparse — this project is in maintenance mode at best, abandoned at worst
- The entire premise is obsolete: every syntactic convenience CoffeeScript offered (arrow functions, destructuring, template literals, optional chaining) ships in vanilla JS or TypeScript today without a compile step and with full editor and type-checker support
- No type system, so you get the syntactic sugar without the safety net that makes TypeScript worth the build step overhead
- Whitespace-significant syntax means indentation bugs become logic bugs silently — the same problem Python developers are familiar with, but without Python's ecosystem to justify it