Math For Programmers — cover art: a small fox-scholar in a waistcoat and round spectacles sitting at a Victorian study table, deliberating over a still-life of mathematical instruments — an abacus, an orrery, compasses, a triangle, a slide rule, an open notebook of abstract diagrams. 👍

2006 · Stevey's Blog Rants · Rant

“Math is a lot easier to pick up after you know how to program.”
— From Math For Programmers, March 2006
Read the essay

© 2006 Steve Yegge. Originally published at Stevey's Blog Rants.

AI Notes

Fifteen months into a self-rehabilitation of his rusty math, triggered by a biography of John von Neumann, Steve writes the interim report. He opens by conceding the conventional wisdom — most programmers don't use much math and seem to get by — and then quietly demolishes it. The argument runs on two tracks. First, school teaches the wrong math (calculus, trigonometry, conic sections, the continuous-real-numbers world that scientists and engineers need) and skips the math programmers actually use: discrete math, probability, statistics, linear algebra, mathematical logic, information theory, Kolmogorov complexity. Second, school teaches it the wrong way — depth-first, notation-first, exercise-first — when the right approach is breadth-first: 15 to 30 minutes a day on Wikipedia, learning names and shapes of fields so you can recognise a problem when it shows up. Programmers, Steve argues, have a huge head start they don't realise: summations are just loops, integration is a summation over a curve, the Chain Rule is just function composition. After a year of hobbyist-grade catch-up he can read a math paper the way he reads source code — sanity-checking the shape rather than tracing every step.

One of Steve's most enduring teacher-mode essays, cited for decades as the answer to "should I, as a programmer, learn math, and if so, how?" The pragmatic companion to Math Every Day, which had announced the habit a year and a quarter earlier.

Related listings

Reception & reply

The essay reopened a perennial argument — how much mathematics a working programmer actually needs — and drew responses for years: companions that adopt its self-teaching method, and critiques that file Steve alongside the other essayists they think get math wrong.

Replies & companions

2009-04 Should Competent Programmers be "Mathematically Inclined"? Coding Horror · Jeff Atwood

Calls it "the best case I've read for the programmer-mathematician," reproduces its five points, then pushes back.

2011-03 The Math Debate Elegant Coding

Opens a multi-post series treating Steve's piece as the most substantive entry in the math-for-programmers debate.

2011-06 Math for Programmers TNG Elegant Coding

The "Next Generation" sequel — adopts Steve's wiki-surfing method and extends the topic map.

2012-11 The Mathematical Hacker Evan Miller

The dissent: groups Steve with Graham and Raymond and argues all three are myopic about how mathematics is really practiced.

Where it was argued

  • jwz.org Nov 2006 — Jamie Zawinski (Lucid Emacs / XEmacs, early Netscape) linked it for the math-education argument — then posted an exasperated update at his own commenters: “you all took it and turned it into some kind of dick-waving referendum on ‘well of course I do long division every day!’” 83 responses.
  • Hacker News Apr 2012