Scheming Is Believing — cover art: a young wizard in a cornflower-blue robe and pointed hat traversing a snowy mountainside on quiet telemark skis, while a small group of skiers and snowboarders nearer the lodge below glance up at him with mild puzzlement. 💩

2005 · Drunken Blog Rants · Rant

“Lisp and Scheme basically snuck up on me. The most remarkable thing about Lisp is that it's designed to let you evolve it however you want, remaking it for your problem space.”
— From Scheming Is Believing, February 2005
Read the essay

© 2005 Steve Yegge. Originally published at Drunken Blog Rants.

Author’s note

This is one of my worst ever. It needs at least 50% cut, possibly as high as 100%. I'm keeping all my essays here for historical honesty, even the ones I don't like anymore. But whew, yeah. I've done better.

AI Notes

Framed as a confession: Steve had spent thirteen years walking around Lisp the way most working programmers do — odd parens, no jobs, an indoor sport for graduate students — and the essay is the account of Lisp catching up to him anyway during a year-long language tour. What changed his mind wasn't expressiveness, the gift a language gives you on the small scale (Ruby and Python have plenty). It was adaptability — macros, reader macros, a working metaprogramming layer, the ability to grow new syntax inside the language for the problem you actually have. Steve sets up the EQ-slider metaphor — every language design is a set of conflicting trade-offs — and names the slider most languages don't have at all: the one that lets you move the other sliders. Lisp has it. Java and C++ don't. Perl half-has it and is paying for the way it half-has it.

The cleanest first statement of what becomes Steve's defining argument of 2005–2006: at the scale of a real codebase over a real decade, the only language axis that matters is whether the language can grow with you when the unplanned-for requirements arrive. The tour-de-Babel essays survey the field; Scheming Is Believing is the moment in the survey where Steve quietly puts his money down.

Related listings

  • 2006

    Lisp is Not an Acceptable Lisp

    A year later, with conversion complete, Steve turns the argument inward at the Lisp community itself. Scheming is the welcome at the door; Acceptable Lisp is what he says after he's moved in.

  • 2005

    Tin Foil Hats

    A few weeks later — the same conversion expressed as a thought experiment. Tin Foil Hats is the reasoning that produced the verdict here.

  • 2005

    Choosing Languages

    Companion piece. Choosing Languages is the survey; Scheming is the moment in the survey where Steve himself chooses.