Lindsey Bieda
Caffeine Powered Automaton

Programming is Art

Programming is art, and like a lot of new forms of artistic expression it struggles to define itself as such in the community. However, as Donald Knuth suggests in his series of books ‘The Art of Computer Programming’ the crafting of code is an art form. It is often thought of as being tied to heavily into Mathematics to be considered an art, but anyone who has ever looked at a fractal can tell you that there is a certain amount of beauty in math as well.

The empty file is the programmer’s blank canvas. The planning done ahead and comments throughout the code are sort of the sketch lines that form the basis for the piece. The code itself is the paint that gives the entire thing body. It’s not just as simple as a painting analogy. The process of coding is in itself a very creative process. There is not one way to approach a particular problem and each programmer has his or her own style; from the way that they indent, where they place their braces, when they comment if they do at all.

In some ways this explains the anger of programmers when they are forced into code conventions in the working world. They have their certain style and an outside style is being forced upon them. It’s like da Vinci being forced to paint in the style of van Gogh, it at first looks and feels unlike the code that you are not used to writing. The creative aspect also tends to explain why programmers have a tendency to make programs more difficult for themselves in the corporate world. They are looking for a challenge and for some way to be creative and often this causes horrible (yet creative) monstrosities.

demo screenshot
The Demoscene is an example of what happens when programmers try to capture the true creativity and accept programming as an art. Amazing collaborations of graphics and sound pushing the limits of what the hardware is capable of doing. Originally starting on the commodore 64 and showing just what creative programmers could do with large hardware restrictions. The Demosceners were able to make the Amiga do things never seen before.
Putting a bunch of lines of code together and being able to visualize the end result takes a massively imaginative mind. Unlike many other jobs what really makes a programmer great is tons of practice. No amount of schooling alone can turn a novice programmer into a guru.
"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter."
(Eric Raymond)