Programming: A Delectation of Process and Form

Posted on Dec 27, 2017

Lego. Tiny, interconnecting plastic bricks. There are trillions of them in existence hiding in closets, floating in the ocean, and sitting on store shelves. There is a movie and media empire dedicated to them. For a large portion of the worlds population the Lego brick is a superfluous and banal part of life. It is so common that we all reactively wince at the memory of stepping on one.

With Lego, and with many other mediums available to us, we emulate our world. We abstract forms we witness, internalize and reproduce with the shapes and colours of Lego bricks. I’ve always been fascinated with this toy since I was a child. I started with rough architectural shapes and forms… towers, houses – crude and child-like. I moved on to castles, and pirates, and space ships as I got older. For a long while I had stopped having any interest in them. And today I returned to my roots as I completed a model of the Arc de Triomphe.

I’ve resisted getting too far into collecting many of these bricks as an adult. They serve as a mild amusement for a few hours but the bricks themselves last for thousands of years. In order to meet global demand for the toy the company that produces them manufactures approximately 36 billion new bricks each year. And millions of them have been lost at sea, incinerated, thrown into the garbage… and yet despite my concerns as I completed the Arc, a holiday gift, I found that I’m still fascinated with this delightful toy.

And I think I know why.

Form

What about shape amuses the human mind? Volume. Texture. Pattern. When we’re in a small room we feel and react differently than when we are in a large space. Libraries, living rooms, cottages, city streets… all evoke feelings as real and powerful as any scent, memory, or flavor.

Lego affords us a way to simplify and abstract the inner recollections of our imaginations. The Arc de Triomphe is immense to behold in person. The words etched into the stone, the eternal flame, the angels and arches. How could a Lego model hope to evoke those same emotions?

And yet the designer behind this set had carefully chosen the exact level of abstraction to pull it off. The details are elided by virtue of the medium but the spirit of the form of the Arc remains. It is immediately recognizable and unmistakeable.

And yet under the surface of this model there is a surprising choice of pieces holding it together in forms and patterns I had not even considered as a one-time veteran of Lego products. It is likely not the most complicated model in the line of architectural Lego models but its simplicity illuminates the fascination with form. As one builds one becomes impressed with the ingenuity of how the pieces fit together to achieve the effect.

I have had such experiences as a programmer.

Process

As I put the final pieces upon the Arc I begin to understand why Lego building is so appealing to me. The final model alone is not interesting enough. As we lay each piece in succession and build upon the previous steps we witness the form in motion. It begins with an inception in the mind and is made whole one step at a time. The process of building a model allows us to follow the development of the form as if we were ourselves designing it.

Delectation

In my work in open source and in my day job I have read hundreds of thousands of lines of code. I have written tens of thousands if not more myself. I have seen programs set into motion by building forms upon previous forms. I have chosen the details to elide and those to represent in painstaking detail. I have seen the inception in my mind and the final model that results.

The act of building a Lego model allows us to mechanically enter the mind of the creator in a fashion and create an abstract representation of what we’ve seen.

In a similar fashion the act of programming recreates what we have internalized in a crude, abstract way. Although our models are not always physical representations of form and colour they have a certain texture and volume in our thoughts and fascinations. And that is why I think I enjoy Lego and why I love programming.