How to Make Programs Come Alive?

Home / 2025 / 05 / 31

In John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets | Lex Fridman Podcast #309, Carmack explains how he likes to run his programs through a debugger so that he can see what is going on.

It was a very long time since I used a debugger. I find that they are not really needed and argue that unit testing decreases the need for a debugger.

However, I think both debugging and unit testing are ways of making programs come alive. Instead of "blindly manipulating symbols", as Bret Victor puts it, you run the program with some input and observe that it does the right thing.

Bret Victor has talked about how to make programming better than just blindly manipulating symbols. Alan Kay has talked about how CAD software has ways of simulating your models to ensure their correctness and asked why there is no equivalent in the software world.

These topics interest me, and I want to study them more.