Software as a creative work

Machines are not creative. People are. Most people not involved in the creation of software think that programming a machine isn't a creative process. Because the machine is not creative and is not imaginative they think that this is true for the developing process, too. But we know otherwise.

Most machines (and programs) are deterministic by nature. What people distinguishes from machines is that people are non-deterministic. But creating a deterministic automat itself is a very creative work because there are an infinite number of ways to make the machine work. Every program consists of a finite number of elements, but this is true for a mosaic, too. We can turn a few pieces of stones into a masterpiece of art or into a pile of crap.

You will find that a good programmer will describe programming more as an art than as a craft or as a handiwork.Donald Knuth named his famous work "The Art of Programming" and not "The Craft of Programming". Not every program of course is a piece of art. A program is a tool, and not every tool is a piece of art, not even the tools that an artist uses to create his work are considered to be a part of his art. What makes us classify a piece of art as a piece of art are not the components but the combination of them.

The early engineers described themselves as artists and there work as art. As engineering became the pillar of our technic-based culture this description vanished over the time. This might happen to the art of programming, too, but today this isn't the case (yet). And even today engineering still is a creative process, though most people refuse to see it that way.

Another amazing parallel to artists is the big difference between an excellent programmer and an average programmer. If you give an average workman and an excellent workman the same tools and order them to build a chair you won't find big differences in the outcome. If you give the same task to two different programmers you will see often big differences. The same is true for artists.

For this reason, we have to explore the creative process further.

Previous chapter

Next chapter

Table of contents

Back to the top
Previous chapter Back to the table of contents Next chapter
Confusius, hey says: The creativity of a hacker is: using a tool for something the inventor hasn't dreamt of
Copyright: Volker Dittmar
Created: 1999-12-18, last modified: 2000-01-18