finds.dev← search

// the find

jashkenas/coffeescript

★ 16,597 · CoffeeScript · MIT · updated Mar 2024

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

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →