Yesterday my archean project was added to runme.org, a website about software art. Archean is certainly a beautifull project. The patterns are pleasing and always changing. But is it art? Can software be art?
In times now long gone, there was no real distinction between artists and craftsmen. People did there job and if they were really good, they were artists. Painters or sculpturers were no different in that respect than carpenters or bakers. Indeed Socrates was a sculpturer before he became a philosopher. Not as an artist, but just as a way to make a living.
So can you create art in any job? I suppose so. But some jobs have more possibilties to excell, to be creative and to be original, all aspects we have learned to associate with art. Against these criteria, art is to be expected from the best computer programmers. Like Fredericks Brooks wrote in the Mythical Man Month:
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.
It is not only the abstraction of the work, although this freedom allows the programmer to use his creativity and to come up with truely new solutions, to build new stuff in new ways. It is also something different.
A good programmer knows how to judge code not by how it works, but by its beauty. A program that is beautifully written, it will probably work a lot better than a program that is not. Indeed, if a novice approaches the master with a programming solution that is uggly, the master will tell the novice first that it is uggly and why it is uggly. Only when the novice starts to protest that it doesn't matter, because it works, will the master will explain why it doesn't work either.
So is Archean art? In a way it is only the implementation of an algorithm I discovered/designed. The code is not very beautifull, more a quick hack actually. But on some level, Rembrandts paintings were also the implementation of a new algorithm he discovered. Great implementations and a nice algorithm, that is what an artist makes an artist.