According to the late architect and mathematician Christopher Alexander, for everything in the world there is an evolutionary design process that leads to a “perfect” design. In his book The Timeless Way of Building (Oxford University Press, 1979), he discusses design standards, timeless architecture, and the limitations of concept and style.

He believes that there is an evolution of forms that works almost like a mathematical process: if you haven’t yet figured out how to fit your Lego bricks together, you need to study more to get there, since a solution is always possible, and there is only one perfect solution, the timeless one. 

Christopher Alexander is a very influential author in the world of computer science, which took from him the idea of architectural patterns as the basis for software architectural patterns.  Having said that, computer engineers should not strive for Alexander’s perfection and definitive form, since there can be more than one way to build a successful system. 

Over time, as technology evolves, new ways of building may also become available. For example, any product created today comes with a mobile-first mindset; however, before the arrival of smartphones, that was unthinkable. What wasn’t a reality in 2007 suddenly became one. 

There are theoretical limits to computer science, but the world has seen great changes in how humans interact with computer systems, even using natural language as an interface. The artificial intelligence revolution is significant, and we thought it would take longer to get to this stage where the interface with the computer is not necessarily programmatic anymore. This certainly opens other design avenues not available in the past. 

When natural language does become the preferred way of interacting with machines, will anyone still want to have millions of apps on their cell phone like they do today? It’s hard to foresee what will happen, but the trend is for computing to become even more widespread and for all devices to be connected through specialized interfaces, focused on the task at hand. Instead of using a generic computer to write a book, you might use a better, more specific device, perhaps activated by voice. 

Standard restrictions and innovation

Brazilian computer engineer Luiz André Barroso used to say that imposing restrictions on platforms was an invitation for all the brilliant minds in the world to think within the confines of these limitations to: 

  • Use that interface better
  • Make that component more efficient or more scalable

For Barroso, a good example was the instruction set architecture (ISA) of the x86 chip developed by Intel in 1978, which runs on every computer on the planet. Barroso always said that when Intel defined those instructions, people immediately said that they were too restrictive; however, they became the standard and generated countless innovations. 

Imagine if every researcher studying computer architecture had their own standard —it would be much more difficult to evolve the architecture because instead of working on the same problem, they would be working on many different problems. Barroso believed that standard restrictions often enable innovation.

About the author

Marcus Fontoura

Marcus Fontoura is a technical fellow and CTO for Azure Core at Microsoft, and author of A Platform Mindset. He works on efforts related to large-scale distributed systems, data centers, and engineering productivity. Fontoura has had several roles as an architect and research scientist in big tech companies, such as Yahoo! and Google, and was most recently the CTO at Stone, a leading Brazilian fintech.