We humans are a funny lot. How quickly we go from being humbled by the improbable feat of human flight to being irritated by how long it takes at the airport. We are routinely antagonized by traffic, but only occasionally amazed by the existence of a thing called an automobile.
One of the most prominent examples of recent human achievement is what we call a programming languages. Reviewing the Olympic mental feats that punctuate the history of its creation will help you rediscover the near-fantastical nature of programming.
The programmer, like the poet
Frederick P. Brooks, Jr., in his influential Mythical Man Month collection writes, “The programmer, like the poet, works only slightly removed from pure thought-stuff.” That is a statement worthy of reflection. For the working programmer and anyone involved in helping them be successful, it may serve to awaken dormant inspiration.
We could say that programming is an activity that moves between the mental and the physical. We could even say it is a way to interact with the logical nature of reality. The programmer blithely skips across the mind-body divide that has so confounded thinkers.
“This admitted, we may propose to execute, by means of machinery, the mechanical branch of these labours, reserving for pure intellect that which depends on the reasoning faculties.” So said Charles Babbage, originator of the concept of a digital programmable computer.
Babbage was conceiving of computing in the 1800s. Babbage and his collaborator Lovelace were conceiving not of a new work, but a new medium entirely. They wrangled out of the ether a physical ground for our ideas, a way to put them to concrete test and make them available in that form to other people for consideration and elaboration.
In my own life of studying philosophy, I discovered the discontent of thought form whose rubber never meets the road. In this vein, Mr. Brooks completes his thought above when he writes, “Yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself.”
A kind of slow-motion dance between mental and mechanical development was enacted over the centuries to arrive at what we can now call up in the browser with a casual flick of the F12 key.
Consider this programmable loom from the 18th century, and the role it plays in the tale. It’s interesting to look at a Baroque machine for algorithmic weaving and see punch cards that are precise analogs and forebears of the punch cards of early computers. The interplay of condensing thought and rarifying machines finally meet at the modern programming language.
Awed wonder
For a grittier, nuts-and-bolts look at programming’s development, see Ron Pressler’s ambitious history, Finite of Sense and Infinite of Thought. From the hesitate baby steps of antiquity to breathtaking leaps like Babbage and Turing, there is the sense of moving towards something not fully understood, but intuitively felt. We are in an age of realizing the broad promise