What is worth more over 100 years: a car, a car company, or a CEO who knows how to make a new car company? What does nature and evolution care more about, your genes or you? What does your body care more about, the individual cells that make it up or the pattern that those cells are arranged in? Reality comes in objects and patterns. The patterns can generate more objects and therefore high order patterns are conserved and instances are disposable. In philosophy, it is theorized that every “being” has a pattern/object duality which is labeled a “holon”. A holon is an abstraction on the word “particle”. Atoms, molecules, proteins, organelles, cells, organisms, families, governments, and corporations and pretty much every other concrete noun can all be conceptualized as a holons. Every holon which exhibits a particle like nature eventually integrates into a larger pattern to form yet another super-holon.
The evolution of computation follows this same particle->patern->super_particle->super_pattern progression. Transistors->LogicGates->FlipFlops->CPU->MachineCode->OSCode->ApplicationCode. Each layer requires the previous for implementation, but abstracts the lower layers for specification. It seems inevitable that the holarchy of computation will integrate into another super pattern at some point in the future. What shape will it take? Kubernetes may point the way. No longer are software systems delivered as instances or images, rather they are defined as a configuration pattern and then instantiated at runtime. Similarly, some programming languages have powerful metaprogramming features that generate code at runtime, so the specification of the application is written in meta-code. It can take years of experience to learn enough about computation to even understand the value of meta-programming in Lisp or system-orchestration in Kubernetes, let alone actually be able to use them effectively. However, the rate at which a person can learn how to compute is increasing. MOOCs make it cheaper to learn, higher level languages make programming easier, the importance of computation causes it to be taught to people earlier in their life, IDE’s are becoming more and more powerful, the Flynn Effect shows that we are all becoming more intelligent. All of these advancements cut the cost of implementing an algorithm. Anyone who has studied “Introduction to Algorithms” knows that it is the pseudo-code of the algorithm that really matters to computer scientists.
So what does this mean for the future of code? There is a well-known phenomenon in programming culture called Not Invented Here. Why would people reimplement a system that already has working implementation? People do it all the time, but to many this is an anti-pattern. Reimplementing a system instead of using an off the shelf option can create a net gain if the benefits of customizability and understanding the complete system outweighs the development costs of understanding the algorithms and implementing them in bug free code. I find it fascinating that many of us use an operating system that is named after single person who wanted to reinvent Unix as a hobby project. The prime reason for the adoption of Linux was that other variants of Unix were not free. However, I don’t think Linus had mass adoption in mind when he invented it. He just wanted an operating system that didn’t suck by his own standards. Unix was disposable, but the concepts found in Unix transferred over well.
Holon’s view their constituent parts as disposable: Corporations don’t care if a few of their employees get fired and end up in poverty, your body does not care if it loses a few cells in the process of living, cells will happily destroy proteins to reuse the amino acids. Every powerful abstraction comes with a sinister darkside, the disposability of the implementation. In the future, I think that the cost of programming will become so low that every user will end up reimplementing their own operating system like Linux. Not only that, I forsee people implementing their own browsers, their own databases, and maybe even a front end to their favorite online video game service. Linus wasn’t an exception when he built linux, he was only a sentinel.