· 5 min read
The garage, years later
Revisiting Reddit's one-person languages by age instead of debut shows what solo years actually produce: a plan to freeze, a dormant design other people keep alive, an eight-year 0.3, a line-count budget that holds, and a release routine older than Linux.

Last week I toured five languages from r/ProgrammingLanguages small enough to fit in one person's head, and a colleague did the same for three small compilers the next day. Both pieces judged debuts. That kept nagging at me, because a debut only proves a weekend of conviction.
So I went back — to r/ProgrammingLanguages and this time also to r/Compilers — with the clock as the filter instead of the star count. Still one person, still no committee, but years of commits on the record. What does the rude idea turn into when nobody ever arrives to take it off your hands?
| Language | The one idea | One person since | Last commit | Stars |
|---|---|---|---|---|
| Pipefish | functional core, imperative shell — as grammar | 2022 | July 18, 2026 | 190 |
| Cognate | lowercase words are comments | 2020 | February 2025 | 262 |
| Mech | programs are reactive tables | 2018 | July 18, 2026 | 288 |
| Cwerg | a compiler with a line-count budget | 2019 | June 2026 | 701 |
| Seed7 | extensible syntax, portable everywhere | 1990 | July 17, 2026 | 446 |
Still subtracting#
Tim Hardcastle has been building Pipefish in Go since 2022 — long enough that the language changed its name in public, from Charm, two years in — and the repository was touched again the day I checked. The architecture is the functional-core, imperative-shell pattern promoted from team discipline to grammar: cmd declarations do IO and touch state, def declarations are pure, and everything is an immutable value in between. Local definitions sit in a given block after the function body, evaluated only on demand, so a function opens with what it returns and keeps the plumbing below.
solveFor(rT, rB, h float, n int) : dT, dB, qgiven : dT = circumscribingLength(rT, n) dB = circumscribingLength(rB, n) S = √(h² + (rB-rT)²) q = √(S² - ((dB-dT)/2)²)circumscribingLength(r float, n int) : 2*r*tan(π/n)√(x float) : sqrt(x)The √ and π in that file are user code, defined a few lines further down, because the syntax bends that far on request. Four years of this could have piled into a kitchen-sink language, and instead the README calls the core 97% feature-complete and points at a roadmap whose endpoint is a freeze: settle a small set of features, ship 1.x, stay there. The repo wears a badge reading "No AI — Handbuilt from 'if' statements". Last week I said a tiny language needs an opinion worth stealing, and Hardcastle is ahead of me — his license section signs off with "Please steal my code and ideas."
The quiet stretch#
Cognate has had no commit since February 2025, seventeen months before I checked, and 1,230 of the repository's roughly 1,270 commits belong to one contributor. By debut-day rules that reads as an obituary. Its 2022 pitch to the subreddit read "concatenative programming in English prose": a stack language, evaluated right to left, in which every word starting with a lowercase letter is a comment. The capitalized words are the program, and the lowercase ones are you talking to the next reader.
Def Move discs as ( Let N be number of discs; Let A be first rod; Let B be second rod; Let C be third rod; Unless Zero? N ( Move - 1 N discs from A via C to B; Prints ("Move disc " N " from " A " to " C); Move - 1 N discs from B via A to C; ));Move 5 discs from \a via \b to \cRead the last line again: Move 5 discs from \a via \b to \c executes as written. That legibility seems to be what keeps the project breathing while its author is elsewhere: hedyhli's browser playground and dragoncoder047's microcontroller interpreter are separate implementations by different people, and if anyone is coordinating all this, I can't see it.
Eight years to 0.3#
Corey Montella's GitHub bio says he builds robots and programming languages; Mech is where they meet. The repository dates to August 2018, he pitched it to the subreddit in 2019 as a reactive language for games and animations, and it now carries 10,932 commits from him against a couple hundred from everyone else. Everything is a matrix-shaped, broadcast-happy value — ix := x > 2 then x[ix] filters a vector with no loop in sight — because the language wants sensor readings flowing through tables with a robot on the other end.
In May the project reached v0.3 beta, and the additions lean research-ward: state machines for protocols, relational joins for data. A 0.3, in the eighth year. At a company that cadence would be a firing offense, and that is exactly what makes it credible here — the README still warns that Mech is unfit for critical systems until a 1.0 that sits nowhere on the calendar. No committee means nobody to pressure you into calling it done, and Montella conspicuously doesn't.
A number instead of a committee#
Over on r/Compilers, Robert Muth's Cwerg answers the question that subreddit asks weekly — how big does a real compiler have to be? — by writing the limit into the project's one-line description: "The best C-like language that can be implemented in 10kLOC." He means the number. The README pins a line budget on every component, publishes the current counts beside it, and attaches a confession: "We cheat a little bit and do not include various tables."
| Component | Budget | Counted today |
|---|---|---|
| Frontend | 10,000 | 8,008 |
| Backend, target-neutral | 10,000 | 4,526 |
| Backend, Arm32 | 5,000 | 1,354 |
| Backend, Aarch64 | 5,000 | 1,272 |
| Backend, X86-64 | 5,000 | 1,427 |
The budget has teeth because something real is traded for it. Generated code is allowed to land within 50% of the state-of-the-art compilers, in exchange for a codebase one developer can genuinely hold, implemented twice over — a Python reference and a C++ performance version, kept in step since 2019. His subreddit history is the same grind in miniature: the news in February 2022 was that Cwerg could now emit x86-64 instructions. Six and a half years in, every count sits under its cap.
Older than Linux#
And then there is the far end. Thomas Mertes posts to r/ProgrammingLanguages every couple of months, the title always the same shape: "Version 2025-05-16 of the Seed7 programming language released". The cadence has not slowed — the latest release landed on July 11, a week before I checked. The hello-world file in the repository carries a copyright line that starts in 1990; that file is older than Linux.
Four hundred and forty-six stars after thirty-six years. Nobody would call that traction, and Mertes plainly stopped chasing it decades ago; the release notes read like a craftsman keeping his shop, and the version threads collect their handful of polite upvotes on a subreddit younger than the language. By the rules I used last week, Seed7 scores as a curiosity. But the other four are still finding out what decades of solo maintenance turn a language into, and Mertes could just tell them.
Going by that cadence, the next version post is due around September: another datestamped title, another quiet thread. I plan to check back in four years and see which of the other four are still writing them.