4 ms·
A question to mathematicians: what does your mind look like when you prove a theorem? There is a comment here, saying that many hard theorems require one to bu
by rmp33 7y ago
A question to mathematicians: what does your mind look like when you prove a theorem?
There is a comment here, saying that many hard theorems require one to build a complex branch of math and use it to prove a single statement. So I asked myself: what does it really look like to prove a theorem at such level?
I can tell what's going on in a programmer's mind. Software is very much like an imaginary mechanism and software engineers are mechanics. For example, this site is a database connected with a html page, so a programmer literally imagines a big gray building that means the database, another building that means the html page and a pipe that connects them. The database has a few tables: one for user accounts, another for posts like this, another for comments. So a programmer imagines 3 big blocks inside that building that are connected with pipes transferring data. Next to the database there is a controller device that sends and receives messages in the pipe connecting it to the users. This analogy continues to tiny things like classes, methods and variables. The entire HN forum looks like a big multi-dimensional city-like structure with numerous pipes connecting pieces together. Experienced programmers not only organize this city well, but can also predict and eliminate complexity, e.g. they know that if you put that kind of building over there, others will inevitable connect to it tens of pipes and the entire city will be a mess, where you see a pipe and have no idea what it connects to and what will happen if you cut it.
- Noumenon72 7y agoI think you are experiencing "typical mind fallacy". https://www.lesswrong.com/posts/baTWMegR42PAsH9qJ/generalizing-from-one-example-realizing-it/ https://www.lesswrong.com/posts/baTWMegR42PAsH9qJ/generalizi... I imagine there are programmers who build objects by imagining people asking them questions and thinking what the objects would answer, or all kinds of other things. People for whom Spring's Repository/Service/Controller/View are real things with personalities or flavors. I tend to think in a mix of "If I could just tell the computer what to do in English, what would I say?" (function names) and "Whose responsibility is this? Is this really their job?" (classes).
- williamDafoe 7y agoI can say, based on proving new NP-completeness complexity theorems and also optimal algorithms in my CS Theory PhD thesis, it's like a little orgasm light turned on in my brain for about 36h. Not as intense but definitely an extreme glow of elation that I carried around for almost 2d. Nothing like it since ....
- vlasev 7y agoIn my graduate math research I had to find patterns, formalize them and eventually prove more and more little results that added up to bigger results. I went through a lot of iterations, calculations and "experiments". The thing that guided me the most was that I had a feeling that things could be simplified, streamlined and generalized. It was a feeling that didn't go away until I found what I felt like I needed to find. I find myself in a similar situation with development. There's an unescapable feeling that things could be created or improved. The feeling doesn't go away until I've done the work. So I think what you're talking about is more so dependent on the person's mind rather than what they're doing. Like Conway's law, I think usually systems grow to mimic the developers' way of thinking, whether those are mathematical systems or software systems.