I'm wondering if models of creative processes in programming have been
proposed in the literature.
I think that the role of creativity in programming is vastly
Considering the case of a programmer working without a clear
specification, for example to compose some music or some other partly
serendipitous task, the relationship between the program and
programmer seems complex and dynamic. The programmer somehow has an
idea, comes up with an algorithm to implement it, and then types it in
to their text editor.
Most algorithms are very simple and frequently used.
In fact developers seem to have a small repertoire of techniques
they use most of the time.
The process of typing in the algorithm requires
that everything about it is made explicit, including areas of its
operation that the programmer may not have considered. This may feed
One big difference between programming and music composition (I may
be exposing my complete ignorance of music composition here) is that
lots can be left out of a program or just not work in all cases and
users are often none the wiser.
For instance, 'numbers' is a project I am currently working on
and without reading the source people might think it works as
intended :-) In fact all sorts of functionality is still listed as
TODO or does not handle edge cases.
back to cause the programmer to modify the original idea they had.
They then run the algorithm which might surprise the programmer with
unintended consequences, good or bad, again causing them to reflect
upon and modify their original idea. The programmer decides on the
next edit in response, and around it goes.
Running a program often generates surprises
that result in additional or modified functionality. Changes of
algorithm used for existing functionality is much rarer.
I imagine work has already been done in this area, could anyone
suggest references? I'd be very interested in any opinions on the
above ideas too, and on the subject of programming and creativity in
Derek M. Jones tel: +44 (0) 1252 520 667
Knowledge Software Ltd mailto:de...@knosof.co.uk
Source code analysis http://www.knosof.co.uk
The Open University is incorporated by Royal Charter (RC 000391), an exempt charity
in England & Wales and a charity registered in Scotland (SC 038302).