I’m reminded of that famous debate between Poincaré and Hilbert at the International Congress of Mathematicians in Paris in 1900. It was then that everyone decided to follow Hilbert’s path, and proof came to be valued more than intuition. I think modern math at school and at applied university kind of lost this intuitive part. I try to teach my students that mathematics is, first and foremost, a very precise language of communication. It’s sometimes amusing to ask those who don’t like math to do without it entirely, just to see how much harder it becomes to describe the things around them. Second thing I tell them, formulas are the essence of mechanisms in their purest form. And in this form, they’re much easier to grasp and mentally manipulate. It always amused me, after taking a mechanics course, to imagine that for any formula, you could visualize a mechanism or process that implements it. And third thing, I suppose, the ability to verify one’s own statements as proof. Although, of course, mathematicians would probably tear me apart here for my heresy:sorry, I’m not a mathematician, but an engineer. You can make mistakes by using incorrect assumptions, but at some point, analysis itself will show you that you were mistaken. There’s a wonderful book, How to Prove It by Daniel Velleman, which provides an introduction to proof for the uninitiated like me. I really enjoyed it.
Similarly, programming is also a precise language of communication. Initially, we focused on direct machine behavior but every abstraction above the hardware (including assembly) has been to make that behavior legible to humans.
Developed notations and shared procedural abstractions have made thinking about computation more intentionally human and source control has established a protocol for conversing with other humans in the language of a program and changes to that program.
The moment just now feels like a neglecting of the idea of communication being central. If the program is a compile target but not sufficiently legible or if the conversation moves too quickly for us to keep up then we retain the effects of computation but loose its meaning as communication. We loose the understanding and the ability to develop and evolve further shared abstractions.
Open source programs could be more like motivated explanations of computation. For open source to survive, maybe we should start to make the distinction between free product distribution and programming as communication and community building.
People often hate math because it was not explained to them correctly, usually by people who are good mathematicians but know close to nothing about teaching.
It was so infuriating to see everyone in the class absolutely fail on a specific subject and the "teacher" assumed that everyone must be stupid then. No self reflection, no questioning himself why he is not getting gaussian distribution in marks, just straight Fs.
[flagged]
As a math prof, I care(d) much more about proof than intuition, not because proof is more important, but exactly because intuition is (I'm a bit Chesterton-ish here haha). You cannot do proof without intuition hence if you emphasize proof, intuition will take care of itself. Whereas if you emphasize intuition, students won't have any idea of what a rigorous proof should be.