HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jashkenas
coffeescript
CoffeeScript2009–2025
jashkenas / coffeescript

coffeescript

Unfancy JavaScript

181Distinct people
274Mentions
3Explicit recommenders
16.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Unfancy JavaScript

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Deno + Coffeescript? I mean it runs Typescript natively, so why not my favorite flavor of javascript, too? https://github.com/jashkenas/coffeescript/issues/5150

danschumann used a recommendation phrase. 3 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 6:01:08 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year274 dated mentions

Observed mentions: 2009-12-24 21:07:22 UTC to 2025-11-10 07:58:51 UTC.

02040602009-01-01 00:00:00 UTC to 2010-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20092010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 13 mentions; 4 submissions, 9 comments2011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 67 mentions; 7 submissions, 60 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 45 mentions; 7 submissions, 38 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 45 mentions; 11 submissions, 34 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 28 mentions; 1 submissions, 27 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 21 mentions; 3 submissions, 18 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 15 mentions; 3 submissions, 12 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20092009-01-01 00:00:00 UTC2010-01-01 00:00:00 UTC101
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC1349
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC67760
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC45738
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC451134
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC28127
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC21318
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC15312
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC12012
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC624
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC615
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC606
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC505
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC110
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
@@@@@@@ @@@@ @@@@@ @@@@@@@@@@ @@@ @@@ { @@@@ @@ @@@ @@@ } } { @@@@ @@@@@@@ @@@ @@@ @@@@@@ @@@@@@ { { } } @@@@ @@@ @@ @@@@@ @@@@@@ @@@ @@ @@@@ @@ } }{ { @@@@ @@@@ @@ @@@ @@@ @@@ @@@ @@@ @@@ { }{ } } @@@@ @@@@ @@ @@@ @@@ @@@@@@@@ @@@@@@@@ { }{ }{ { } @@@@@ @@@@ @@ @@@ @@@ @@@ @@@ { { } { } { } } @@@@@@@@@@ @@@@@@@@ @@@ @@@ @@@@@@@@ @@@@@@@@ { } { } { } @@@@@ @@@ @@@ @@@@@ @@@@@ @@@@@@ { } { } @@@@@@@ @@@ @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@ @@@ @@@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@ @@@ @@@@ @@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@@ @@ @@@@ @@@ @@@@@@@@@@@@@@@@@@@@@ @@@@@ @@@@@ @@ @@ @@@ @@@@@@@ @@@@@ @@@ @@@@@@@@@@@@@@@@@@ @@@@@ @@@ @@@ @@@@@@@@ @@@@ @@@@ @@@@@@@ @@@ @@@@@@@@@@@@@@@@ @@@@@ @@@ @@@@ @@@@ @@@ @@@ @@@ @@@@@@@@@@@@@@ @@@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@ @@@@ @@@ @@@@ @@@@ @@@ @@@@ @@@@ @@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@@@@@@ @@@@@@ @@@@ @@@@ @@@@@@@@@ @@@@ @@@ @@@@ @@@ @@@ CoffeeScript is a little language that compiles into JavaScript. Installation Once you have Node.js installed: # Install locally for a project: npm install --save-dev coffeescript # Install globally to execute .coffee files anywhere: npm install --global coffeescript Getting Started Execute a script: coffee /path/to/script.coffee Compile a script: coffee -c /path/to/script.coffee For documentation, usage, and examples, see: https://coffeescript.org/ To suggest a feature or report a bug: https://github.com/jashkenas/coffeescript/issues If you’d like to chat, drop by #coffeescript on Freenode IRC. The source repository: https://github.com/jashkenas/coffeescript.git Changelog: https://coffeescript.org/#changelog Our lovely and talented contributors are listed here: https://github.com/jashkenas/coffeescript/contributors
Read the full README on GitHub

What Hacker News says

67 sources
I'll copy below jashkenas' longer answer from the old github issue about this, https://github.com/jashkenas/coffee-script/issues/712#issuec... """ Sorry, folks, but I'm afraid I disagree completely with this line of reasoning -- let me explain why: Making assignment and declaration two different "things" is a huge mistake. It leads to the unexpected global problem in JavaScript, makes your code more verbose, is a huge source of confusion for beginners who don't understand well what the difference is, and is completely unnecessary in a language. As an existence proof, Ruby gets along just fine without it. However, if you're not used to having a language without declarations, it seems scary, for the reasons outlined above: "what if someone uses my variable at the top of the file?". In reality, it's not a problem. Only the local variables in
Read the rest
the current file can possibly be in scope, and well-factored code has very few variables in the top-level scope -- and they're all things like namespaces and class names, nothing that risks a clash. And if they do clash, shadowing the variable is the wrong answer. It completely prevents you from making use of the original value for the remainder of the current scope. Shadowing doesn't fit well in languages with closures-by-default ... if you've closed over that variable, then you should always be able to refer to it. The real solution to this is to keep your top-level scopes clean, and be aware of what's in your lexical scope. If you're creating a variable that's actually a different thing, you should give it a different name. Closing as a wontfix, but this conversation is good to have on the record. """
In The Problem with Implicit Scoping in CoffeeScript
I've seen terrible JS, but I've seen much worse CS. Most programmers have relatively no sense of organization, and when unleashed with CS create things far more nasty than their JS counterparts. nasty: https://github.com/jashkenas/coffee-script/blob/master/src/r... nasty: https://github.com/jashkenas/coffee-script/blob/master/src/o... nasty: https://github.com/jashkenas/coffee-script/blob/master/src/c... sexy: https://github.com/jashkenas/coffee-script/blob/master/src/g...
In A Case Against Using CoffeeScript
> Verbally Readable !== Quicker Comprehension -> is Coffee-Script's greatest trick. When I first started poking through the codebase, it would take me ages to 'sound out' each line. Coffee-Script is succinct not simply because its syntax is short, but because it is dense. Everything is an `expression`, which means I can be more expressive/loc. I can now read it as fast as any other language, which means I can comprehend code faster. > doSomething() if five and six and seven That was difficult for me to parse as well until I saw it enough. Which is true of everything new I have ever learned. Some syntax took me out of the C comfort zone, and I am better for it. There's a feel that code written "out of order" has that I instinctively like for some scenarios. > Therefore it will never really be supported natively, and will always be a compil
Read the rest
e-to-JS language, and will therefore always have a terrible debugging experience. Mozilla has been working on this issue in earnest (https://github.com/mozilla/source-map). It seems that compile-to-JS languages may be part of some greater strategy. Surely, Google must be working on something similar for Dart. Some progress has been made on the GitHub Issue: https://github.com/jashkenas/coffee-script/issues/558
In A Case Against Using CoffeeScript

Showing the 15 most recent of 67 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.