Tonight I was watching the show called "Hawking" on the science channel. There was a scene where Stephen was at a dinner with an advisor, family and acolleague. There was a discussion of Mozart and how he claimed to havean entire symphony in his head upon waking in the morning. One of the people didn't understand how this could be true as music is "temporal"- it can't all exist in just one moment. Hawkings mentor at thatstates that perhaps music is a way of thinking that goes beyond language, that perhaps that is what genius is - thinking without time.
I have to say that I agree with this respect to programming. I consider this to be an art, and that true ability for genius in programming isstunted by language, and that to be truly great in programming one must move beyond syntax / language and into abstract symbol manipulation. Details of syntax of languages bog down the mind into unnecessary details, obscuring the pure beauty of programming, and complicating theability to grasp large architectures outside the scope of the texteditor.
It's interesting to see that as Hawking's ALS progresses, he decides that it will be best for him to shed himself of the constructs of language so that he can more effectively develop in hismind complex thoughts on matter, gravity and space time. I often believe that this is a way that programming should be approached; andperhaps not just programming but overall system design andarchitecture, and that syntax of programming languages is an artifactthat can composed as an after thought.
This is interesting as I believe it also explains how one can have an entire symphony in theirmind at one moment, and how it can come into being in such a way. It is an abstract concept, built by the mind through processes that aren'tcompletely understood. In a book I read during the summer called "The Math Gene", (and I have to apologize as I don't have the exactreference here at this moment but I will give it later), great minds that think in this manner often come to solutions to complex problem soften out of the blue, when the mind is completely not focused on the problem at hand, and that allows it to use it's complex symbol and pattern manipulation capabilities almost without knowing.
I have to say that I have experienced this type of "light bulb being turned on", but I am not quite sure myself how this happens in my mind the way it does. All I know is that somehow by setting up my mind to have the correct constructs for thought in place, often when I'm doing somethingcompletely unrelated (such as working out in a gym), is when I get great insights, not when in the cubicle.
I tend to think that is has to do with patterns. Not necessarily patterns of software construction (as in the GoF), but of patterns of thought. Perhaps there are patterns in software that when properly structured in the mind just form natural forms of more complex interlocking patterns? I hope to explore these here in my blog as I ponder them through the near future.
Technorati Tags: Cognition