Home Journal Programming is art

Programming is art

by John

Sketch by Leonardo DaVinci showing vanishing point projection

I’ve talked a lot about programming of late so I think it’s time to flip hemispheres for a bit, and talk about art. Years ago I took a course on 20th century art; each week we’d visit a gallery. Over about eight weeks or so we looked at all the modern art movements from impressionism to the present day. For the most part I got it, but towards the end we took in the Turner Prize nominees at the Tate Britain.

I can see artistic value in most creative pursuits but I just can’t seem to get along with modern contemporary art. It’s preoccupation with personality and situation seems to me purposefully exclusive. Maybe I just don’t get it; or maybe getting it is optional. If nothing else this journey broadened my personal definition of art:

“Art is any human creation that provokes an emotional response.”

Although often referred to as a science, I believe programming is an important artform. In my opinion it’s a creative exercise as culturally valid as writing, painting or sculpture. I’d go further and say it is the artform that is defining our generation. Now how’s that for modern art.

I’m not making this observation because I code – my background is in illustration; I’ve done “proper art”. I’m making it because the artistic aspect of programming is not generally recognised. Donald Knuth, Turing award winner and author of the Art of Programming, explored this distinction in the 70’s. He ventured that if programming can be completely automated then it could be called a science, but for the most part it can’t. Programming requires conscious thought and creative solutions.

Art has always had a symbiotic relationship with science. Advancements in science continue to offer new tools and media for artistic expression. The greatest artists of the Renaissance were not just exceptional painters, but great engineers to. It’s no great surprise then that many great innovations have come from applying the wisdom learned in one discipline to the media of another.

In a modern software development or web agency environment employees get pigeon-holed as either a designer or a developer. Very occasionally you’ll come across a “technical artist” or “creative technologist” but on the whole job descriptions prohibit the crossing of disciplines. These days programming, especially programming for the web, and in particular programming for the Flash Player, blurs the line between art and engineering, left brain and right brain, media and code. Spanning disciplines is not only healthy for the mind but vital for progress and innovation.

You may also like


galvogalvo March 20, 02008 - 12:15 pm

The other week I picked up the O’Reilly Book “Beautiful Code”, which is more of a ‘The art of Programming’ book rather than ‘Programming as Art’ – but it got me thinking a little bit about this subject.

Most art post 19th Century involves some kind of technical skills, whether it’s mixing complex polymers or concrete for sculpture (Henry Moore -> Rachel Whiteread -> Anthony Gormley) or using electronic devices to modify sound (Joe Meek -> Stockhausen -> George Martin -> Herbie Hancock -> DJ Shadow). The practice of making art relies heavily on specific ‘technical’ skills, of which programming seems to be one. Whilst most programming output probably isn’t ‘art’ – it is artistic, so maybe an alternative job title would be ‘Digital Artisan’

There’s a PHD in this somewhere… 🙂

John March 20, 02008 - 12:31 pm

I really like ‘Digital Artisan’. It’s a title that seems to imply functional or applied art. It seems very applicable to industrial or digital design. Time for some new business cards!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.