Programming with Less Than Nothing
Overall reaction & style
- Many readers found the piece very funny and delightful, especially the dark punchline (“Dana is dead”) and the escalating absurdity of the code.
- Others felt the narrative framing (interview fanfic) was distracting, self‑congratulatory, or “Reddit and everyone clapped”-ish.
- Several people noted clear inspiration from an earlier “rewriting/reversing the technical interview” series; some saw it as affectionate fanfic, others wished the influence were more foregrounded (though it is in the references).
Explainer vs performance
- Some commenters praised it as an “awesome explainer” of combinatory logic.
- Others argued it’s more a virtuoso stunt than a pedagogy: very little step‑by‑step explanation, huge opaque final code block (~166 kB), and syntax highlighting literally breaking down.
- That said, a few insisted that watching someone “show off” at a difficult topic can itself be a powerful way to learn.
Technical discussion: SKI, lambda, laziness
- Multiple comments discuss how to encode S and K in JavaScript, issues with parenthesization, and how to adapt to eager evaluation.
- Links and discussion point out:
- Combinatory logic is actually more verbose than lambda calculus in bits, despite the joke about lambda being “bloated”.
- Eager languages can simulate laziness by wrapping arguments (or via Y/Z‑like combinators plus indirection), but plain NodeJS will still blow the stack without something like the article’s lazy “Skoobert”.
- In practice, compilers for functional languages often target a richer combinator basis or graph‑reduction machines (e.g., Haskell’s G‑machine).
“Why learn this?” vs “it’s just interesting”
- One thread questions the article for not giving any concrete reason to study such a difficult, impractical system.
- Replies split:
- Some say the point is pure curiosity and beauty—like philosophy, esolangs, or cellular automata—and that’s enough.
- Others emphasize conceptual value: seeing how universal computation emerges from extremely simple primitives; relating this to hardware, one‑instruction set computers, and compilation targets.
- A few argue the article is written for people who already know they “fit the bill”; it’s not trying to convert the unconvinced.
Interviews, culture fit, and readability
- Several commenters note that using SKI FizzBuzz in a real JavaScript interview would likely fail goal (2) of interviews: matching the company’s programming culture and conventions.
- Others counter that being able to reason in SKI or Forth indicates deep graph‑shaping ability that’s valuable in domains like compilers.
- A separate thread contrasts “mind‑bending” but opaque code with the best production code: straightforward, well‑documented, and making colleagues feel smart rather than lost.