June 14, 2026

Code gossip: Ruby’s secret ex

Lisp's Influence on Ruby

Ruby fans just discovered their favorite coding style may be Lisp in a nicer outfit

TLDR: The article argues Ruby’s most loved features were heavily inspired by Lisp, an older programming language. Commenters turned that into a dramatic debate over who deserves credit, whether Ruby should steal even more ideas, and whether fans should just switch to Elixir instead.

A spicy little programming identity crisis has broken out after one writer argued that Ruby, the famously friendly language loved by startups and side-project tinkerers, is basically Lisp dressed for the office. The article says Ruby’s most beloved tricks — readable yes-or-no method names, neat little code blocks, reusable mini-functions, and those colon-words called symbols — all trace back to older Lisp ideas. In plain English: Ruby may look sleek and modern, but commenters are saying its soul is much older and weirder.

And oh, the comment section showed up. One camp immediately hit the brakes, insisting this is not a clean Ruby-to-Lisp love story at all. As pjmlp put it, the influence passed through Smalltalk and Perl first, turning the whole thing into a messy family tree instead of a simple origin story. Another commenter went full meme mode with “What have the Lisps ever done for us?” and dropped a Monty Python-style joke, because apparently no programming debate is complete until someone arrives with a comedy reference and a flamethrower.

The strongest feelings came from people who don’t just want Ruby to borrow from Lisp — they want it to go all the way. One begged, “Put the macros back!” while another dreamed of a faster, more powerful Ruby with Lisp-style speed and flexibility. Then came the inevitable plot twist: someone slid in to say, basically, if you want Ruby vibes plus extra wizardry, try Elixir. Translation: the comments turned a history lesson into a custody battle.

Key Points

  • The article argues that common Ruby coding patterns reflect Lisp-style functional composition despite different syntax.
  • It cites Matz’s description of Ruby as starting from a simple Lisp and then adding an object system, blocks, and Smalltalk-style methods while omitting macros and s-expressions.
  • Ruby’s predicate `?` and mutating or forceful `!` method suffixes are described as conventions inherited from Scheme.
  • The article presents Ruby blocks, procs, and lambdas as closure-based features with roots in Lisp and Scheme.
  • It describes Ruby symbols and first-class function support as additional examples of Lisp-derived language design.

Hottest takes

"That is actually Lisp influence on Smalltalk, and Perl" — pjmlp
"What have the Lisps ever done for us?" — DonHopkins
"Put the macros back! It would be so cool!" — danlitt
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.