The Programmer's Extra Touch of Art

Faced with an AI capable of compiling our intentions into working programs, I ask myself: does our craft reduce to assembling syntax, or does it hide a dimension that is by nature beyond computation?

I was 17 when I finally got my hands on “The Art of Computer Programming” by Donald Knuth. At the time, in 1989, reference books on programming were rare and the 4 volumes of TAOCP had the status of a “bible”; it remains for me a reference work that every computer scientist should read.

But with hindsight, what strikes me most is the gap between the title and the content. Reading about the art of computer programming, it is surprising to discover content so scientific, academic, structured, exhaustive and formal. Over time, I came to see programming differently: Programming is not, in my view, an exact science. More precisely: programming is not solely a matter of science; it is also a matter of a form of art.

A rigorous, demanding art, one that cannot be reduced to the application of methods or theorems.

Before going further, let me clarify what I mean here by “art”. At the risk of being crucified by a philosophy professor, I will limit the word Art here to the following three aspects:

  • beauty
  • craftsmanship
  • intuition, the part that cannot be reduced to rules

I will not argue about the beauty of a Huffman algorithm or the elegance of a recursive solution, even if many developers understand very well what that means. I accept that, for many, this may seem at best odd, at worst unintelligible, much like the beauty of jazz to someone who cannot perceive its codes.

But the other two meanings, on their own, are already enough to characterize what makes programming singular.

Any attempt to reduce programming to a science is, in my view, doomed to fail. Something will always be missing: craftsmanship, expertise, sometimes intuition.

The history of software development gives us several examples:

The formalism of the V-model, which transposes accounting methodologies from industry while almost completely ignoring “craftsmanship”1 and expertise. This formal, scientific approach, though detailed and sensible, has often failed to capture the specifics of a craft and the real weight of know-how, which manifests very concretely through the experience and seniority of the people involved.

We saw the same illusion with certain industrial waves around Java, UML, and CASE tools: with enough tools, code generation, and methodical frameworks, we would finally produce more reliable software almost mechanically. Java was a massive industrial success, but that particular promise never held. Bugs did not disappear, complexity did not either, and the craft never stopped mattering.

Far from me to deny the scientific foundations of programming: algorithmic complexity, boolean logic, formal grammars, and Shannon’s information theory are just a few examples of the foundations on which theoretical computer science was built.

But that is not enough. Often, the difference is made elsewhere: in intuition, in style, in experience. Larry Wall’s intuition, for instance, when he designs a language conceived first for programmers rather than for the machine, already belongs to that part which is difficult to reduce to rules.

In the age of generative AI, our craft cannot be reduced to assembling lines of code.

It is when we seek more than correct execution, when we inject into the code our intuition, our experience, sometimes even a form of beauty, that we add a small extra touch of art.

This touch of Art has nothing esoteric about it. It can be cultivated.

Through the pursuit of the right action (craftsmanship): Using the appropriate structure, the efficient algorithm, managing resources.

Through the search for the flaw (intuition): Seeing what is subtle, detecting the weak signal, in order to shift perspective.

Through attention to the aesthetics of constraint (beauty): Simplifying to perfect, making readable to remove all ambiguity.

This is when the alchemy operates: no longer when code works, but when it becomes the expression of experience, of expertise, and of a form of beauty.

It took writing this post for me to discover, three decades later, a 1974 article in which Knuth articulates a vision not so distant from my own


  1. Limits masterfully analyzed in “The Mythical Man-Month” by Frederick P. Brooks Jr. ↩︎