One way that the analogy with code doesn’t carry over is that in math, you often can’t even being to use a theorem if you don’t know a lot of detail about what the objects in the theorem mean, and often knowing what they mean is pretty close to knowing why the theorem’s you’re building on are true. Being handed a theorem is less like being handed an API and more like being handed a sentence in a foreign language. I can’t begin to make use of the information content in the sentence until I learn what every symbol means and how the grammar works, and at that point I could have written the sentence myself.
One way that the analogy with code doesn’t carry over is that in math, you often can’t even being to use a theorem if you don’t know a lot of detail about what the objects in the theorem mean, and often knowing what they mean is pretty close to knowing why the theorem’s you’re building on are true. Being handed a theorem is less like being handed an API and more like being handed a sentence in a foreign language. I can’t begin to make use of the information content in the sentence until I learn what every symbol means and how the grammar works, and at that point I could have written the sentence myself.