The similarities and differences between programming and art are brought out in an article by John Littler. Some interesting points emerge from this article. Programmer and author Paul Graham is quoted, who describes the creative act of programming as being like the creative interaction of an artist with their media. When freed from the constraints of having to model and plan all software development the programmer can “figure out programs as (they're) writing them, just as writers and painters and architects do.” Thinking in code is more creative than planning in one medium and then translating it into code. Just as the text writes its author or the painting uses the artist to realise itself, through becoming engrossed in one's medium of expression, a creation emerges through the interaction. The author vanishes and becomes a means in the creative act.
This idea can lead to a distinction between programming which is art and programming which is not. Bauhaus wants the artist to use the tools of the trades for art purposes, but does this make every welder an artist? The programmer who just updates the variables in the code is equally limited in creativity as the welder. Creativity in programming involves an artistic mind using the tools of programming creatively, not just doing a job.
John Littler makes it clear that creativity is the essence of artistic work, quoting Einstein to emphasise that science in its most advanced forms merges with art. By analogy, programming when freed from purely instrumental constraints can become artistic creativity.
Like human languages, programming languages are tools which can be used for a range of purposes. It depends on the context and content as to whether it is used artistically or otherwise. In human languages there is trivial talk, getting jobs done, explaining the way or educating as well as poetry and literature. Like a human language, programming languages develop their own trains of thought, like discourses. A creative person or team following these logical threads can develop them into new art forms, spaces which have not existed before and make breakthroughs for the human spirit. Or they can do the same old thing as before in a new skin.
John Littler writes that art involves a “special degree of inspiration in one's work”. Joseph Beuys, on the other hand, suggested that we are all artists and what we do is art. In the case of programmers, it may be more interesting to require a special degree of inspiration for artist status to be achieved. How this is defined is more difficult. Who decides what is special and what is inspiration? The market place? History? The “Golden WebSite Awards”? Or are the truly inspired programmer-artists never to be discovered working in a garage somewhere and surprising just a few people in virtual reality? While dog-blogs win the awards.