Base Case
on a book on my parents’ shelf, the function that calls itself, and why i think everyone should learn to write software
I am currently sorting through 60 boxes of books from my parents library and i stumbled upon one that pulled me back deeply into my childhood.
For years I only knew its spine. Gödel, Escher, Bach. The title felt like a door I wasn’t tall enough to open yet. A mathematician, a painter, a composer, held together by a word I didn’t understand. It was mentioned at dinner. Pulled down and put back. A small monument to something the adults found important. I think it shaped me before I ever read a page of it.
Years later I learned to write software, and I met the thing the book was really about.
A recursive function is a function that calls itself.
That is the whole definition. A piece of code that, in order to finish its work, asks itself to do its work again, on a slightly smaller problem. To compute a factorial you say: the factorial of this number is this number times the factorial of the number below it. The function reaches back into itself. And then again. And then again.
This should not work. It sounds like a trap. A snake eating its own tail. A hall of mirrors. A question that answers itself with the same question. And it would be a trap, except for one thing. Every recursive function needs a base case.
The base case is the place where the calling stops. The factorial of one is one. You do not ask again. You simply know. It is the floor beneath the recursion, the single fact you are allowed to hold without justifying it further. Without it, the function calls itself forever, deeper and deeper, until the machine runs out of room to remember where it has been. Programmers have a name for this. Stack overflow. Death by infinite regress.
Here is what took me years to see. The base case is where all the philosophy lives.
Think of a child asking why. Why is the sky blue. Because of the air. Why is there air. Because of the planet. Why. Why. Why. Every parent knows the vertigo of that ladder, the moment you realize you do not have a bottom step. Philosophers have argued about this for two and a half thousand years and gave it a serious name, the regress of justification, but it is the same thing. Every belief leans on another belief. What holds up the last one?
You have exactly three options, and recursion shows you all of them. You can keep going forever, which is to admit you never reach solid ground. You can let the beliefs hold each other up in a circle, each leaning on the next, no floor at all. Or you can stop. You can plant a base case. You can say: this, I hold without further argument. This is where I stand.
Religions do this. Constitutions do this. Mathematics does this and calls them axioms. Every system of meaning that has ever held weight does it. It chooses a floor. The honest ones admit they have chosen.
And then there is the other kind of recursion. The kind the book on my parents’ shelf was really chasing.
Douglas Hofstadter wrote Gödel, Escher, Bach to ask how a self comes to exist. His answer, which he spent a lifetime refining, is that you are a strange loop. A pattern that became complex enough to refer to itself. Awareness that curved back and became aware of its own awareness. You are not a thing. You are a function that calls itself, and has been calling itself for so long, so smoothly, that the calling feels like a someone. I read that years after first seeing the spine, and I finally understood why the adults had kept the book.
And here is where it stops being a clever idea and starts to matter.
A civilization is a recursion too. We justify growth by pointing to growth. We measure success by a number, and we chase the number because the number is how we keep score, and we keep score so we can chase the number. There is no base case. We have built a planetary function that calls itself, faster every year, with no floor beneath it, and we are beginning to hear the sound a machine makes when it runs out of room to remember where it has been.
We do not have a stack overflow problem. We have a base case problem. We never decided what we are allowed to hold sacred without converting it first into someone else’s units. Life. The living world. The simple fact that the sun pours down its energy for free and asks nothing in return. Maybe that is the floor. Maybe that is the one thing we get to know without proving.
Which brings me to a conviction I have held quietly for a long time, and want to say plainly now.
I think everyone should learn to write software. Not to get a job. Not to join the industry. Most of what I am describing has little to do with employment and will probably be done by machines soon anyway. I mean something else. I mean that writing software is one of the last places left in modern life where you are forced to think clearly about thinking.
When you write a recursive function you cannot hide from the base case. The machine will not let you. If you do not say where the regress stops, your program dies in front of you, instantly, with a plain error. There is no committee. No spin. No consultant to blame. You confront the structure of justification directly, in miniature, and it confronts you back. You learn, in your hands, that every process which refers to itself needs a place to stand. You learn it the way you learn that fire is hot.
This is philosophy you can run. Logic that bites back. Plato gave us dialogues and Descartes gave us doubt, but a child writing her first recursive function gets something neither of them could offer: a universe that tells her immediately whether her reasoning holds. We have built, almost by accident, the most honest philosophy classroom in human history. And we are mostly using it to serve ads.
So learn to code. Not for the salary. For the same reason my parents kept that book on the shelf, mentioned often, rarely opened. Because some objects, some practices, train the mind in the shape of a deep truth long before the mind can say it out loud.
The truth is this. Everything that calls itself needs somewhere to stand. The self. The argument. The civilization. All of it loops, and all of it falls, unless we are brave enough to name the floor.
Choose your base case carefully. Everything is built on top of it.


