Yes, we weave real-fabric things from dreamstuff of mathematics, but the universe is hardwired with arithmetic. Scratch a circle and pi peeps out. Enter a new solar system and Tycho Brahe’s formulae lie waiting under the black velvet cloak of space/time. But where has the universe hidden a word under its outer layer of biology, geometry, of insensate rock?Dan Simmons, The Hyperion Cantos
In this computerized world, literature needs to evolve as well.
What is programming, but another language for another set of readers? When I began to write, years before I started programming, I was certain that I would never stop until I would finally find the best story to tell, find the best way to represent my views and ideas in an understandable manner that would not bore people so much that they would just smile and look away. Then I started my studies and discovered another, completely different world, where ambiguities are rare, where sentences are taken to the word. Programming languages are non-ambiguous, sometimes beautiful constructs of the most logical minds. I kept writing in French, from time to time in English. But soon enough, the sharp precision of the imperative keywords, the abstract concepts of first order functions passed around like arrows pointing to the sublimation of data, gave me another possibility to express myself, and I loved it. For a while, I was sure that the endpoint readers were the machines, dull executors for which if things can get wrong, they get wrong. But I was far from the truth.
One of my teachers kept repeating that programming languages were not invented for the machines. Nor that it was for the machines to understand us. It was invented for us, to understand ourselves. Writing is not just only a way to illustrate our ideas, but it is a master tool to create them, distribute them, let them survive. Languages are the basis of our cultures, and are unique to mankind — no species on earth has ever gained such level of pure abstraction, such that from what has been used to describe everyday life could emerge a tool able to abstract and fly above anything grounded. Words have been fluttering around our ears and minds since man discovered the first glimpse of what would later become our sweet science. But we never invented science. Science was already there in nature. Folded in the fabric of the universe.
With programming, we are for the first time at a cross where the scientific act itself is not merely inspiration for stories, but part of the construction of the stories themselves. Programming is a bridge between science and the so human universe of words, written to be dully executed, but read and corrected, reviewed, by man. If one was to push the comparison further, programming languages would be seen as unambiguous grammatical constructs, for which executions would be a the equivalent of a far more powerful spell checker. Do people who hate peer reviewing actually enjoy reading? I wonder.
The beauty (or ugliness) of our programs can kill people. The programming words have gained power on the natural language’s words — they do not require human executors anymore. But we still are the theoreticians, the critics, the architects.
And to this gigantic mishmash of generic classes, abstract interfaces, first-order functions, closures, imperative and functional keywords, boxed types, then adds the data. Like interpretations of the old testament may vary across religions — which are human contexts built over centuries and generations — the data is the environment in which and for which we read, correct codes, and in which machines dully execute. With software, we write books that can also be context-free, and the beauty of it is that it is a recursive construct, in the sense that software execution of those projects can be used to write other projects in other languages, both natural and iron-wired.
The correspondences are manyfold. And there might come a day when natural languages will become retired fathers and mothers of other sets of purer words. Ambiguities will become sweet thunders at the cross of CPU bridges and neurons. And when this day arises, machines and humans, science and culture, will be as tight together as flesh and bones.