Is programming art?
“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.” – John Romero
Is programming art? Are those structured, complex blocks of code a stream of creativity that we wouldn’t necessarily recognise as such?
Typically, art is a piece of work that is open to interpretation. It can mean different things to different people; take on a unique significance for every individual subject. But programming is altogether more logical. A computer understands code logically; it can only interpret it in a single way – not based on its experiences or feelings.
So, does this mean that programming and art are distinct, dissimilar disciplines that simply do not overlap? Well, not quite.
Art vs science
Traditionally, programming has been viewed as a science. After all, it is rooted in engineering and computer science. It requires formal reasoning and a methodical process to program successfully. This, then, is why many would never perceive programming as ‘art’. It is a science – knowledge that has been logically arranged and systematised to create accepted ‘laws’.
Art, meanwhile, is not governed by law or logic. When we think of art, it typically creates connotations of the fine arts – painting and sculpture and suchlike. We would generally connect art to visual work created primarily for aesthetic and intellectual enjoyment. (Very) broadly speaking, fine art exists to be appreciated rather than to be put into functional use.
With these commonplace perceptions in mind, it is easy to see why so many would instantly leap to no if questioned, ‘Is programming art?’ The two are as different as a motor and a mosaic.
So, it’s easy enough to understand how the general perceptions of programming and art have formed. Nonetheless, setting up logical disciplines like programming as an antithesis to art is deeply flawed.
Asking ‘Is programming art or science?’ is like asking ‘Are burgers bun or patty?’ It’s an entirely unnecessary (and rather absurd) distinction that embeds a false dichotomy. Work needn’t be art or science; the two can, and commonly do, overlap. And for many, programming is one such logical field that overlaps into artistry.
We know the typical connotations of art. But what does the dictionary have to say? There are two main definitions: art as creation and the expression of imagination, and art as skilled craftsmanship. While programming clearly applies to the latter, some don’t recognise its relation to the former.
That, unfortunately, would be short-sighted. Programming is a deep and multi-faceted discipline; one that shares a blend of aspects from science, engineering, and art alike. Yes, programming will always be a logical process, and yes, code will always be framed within a systematic pattern. But that still leaves ample room for creativity.
So, before you ask, ‘Is programming art?’, you need to delve a little deeper into the highly inventive process of writing code.
A programmer starts in the same place as a poet, or a composer, or a painter. That is, they start with nothing and pull something into existence, using their skill and creativity.
And, as with art, there is no single, correct way to program. It’s down to the developer, their brain, and their imagination. The scope of what can be created with code is vast, and it’s all down to the developer to design and architect.
Like creating a symphony, or a literary saga, there are endless options to carry the endeavour from conception to completion successfully. Each programmer will have their own approach; will bring their own unique style to the challenge.
Indeed, a good developer will have a certain ‘feel’ for programming beauty. They will strive to create code that is elegant and aesthetically pleasing. So, programming isn’t just typing logical rules into a screen. Rather, it’s an intersection of logic, individuality, and artistry.
Is programming art?
So, is programming art? Ask anyone who has coded their own program, or chipped away at a software product to make it run smoother and quicker with cleaner code.
Firstly and most obviously, programming is art in a skilled craft sense. Programming can also be used to create art; with code as a resource to create a beautiful end product. But beyond that, on a deeper level, programming is often art as a form.
Programming can be aesthetically beautiful. It is imagination and ingenuity manifest; pure creation branded with each developer’s own individual style. If that’s not art, then what is?