I’m reading through Marshall McLuhan’s Understanding Media, and I’m struck by his prescience when it comes to electronic technology. This book was published in 1966 and he predicts what electronic technology would do over the next 50 years: create an organic, interconnected web for collective consciousness.
But old media never really leaves, it has stained our subconscious, and any new media will necessarily have citations of the old media embedded within. You can see this clearly in programming paradigms: object-oriented programming is the manifestation of our industrial conception of processes as fragmented and specialized. We even resort to factory-terminology when the dearth of vocabulary strikes, and it’s common to personify programs as little people doing their share of the work and passing it on to the next person down the line. An assembly line of data.
Of course, no way McLuhan could have predicted that programming paradigms themselves would reflect our nostalgia for a mechanical world. But what he did predict is that computers would allow us to think globally and complexly about the interconnectedness of our problems. And I claim we’re getting closer. You can see it in newer programming paradigms: service-oriented architecture, functional languages, and neural networks. In service-oriented architecture, we see the blueprint of the network of simultaneous dependencies. In functional languages, we say functions take the state of the world and return a brand new world. And in neural networks, we try explicitly to emulate the interweaving neuronal connections of the mind. It becomes harder to describe how data flows, but the results are better and more organic.
In functional programming in particular, parallels to category theory clearly illustrate that that old fragmented set theory has become pasé. Functions used to be defined as subsets of the power set, with clearly identifiable elements that are transmogrified by functional application. In category theory, functions are simply arrows, with the details abstracted behind properties and interrelations.
The trend is clear: we’re moving to a more complete understanding of reality, and this will be reflected in the way we talk to computers. So learn how to get hip with it, or else be stuck writing code that might as well be widget assembly instructions for factory workers.