I'm wondering if models of creative processes in programming have been
proposed in the literature.
It seems to me there are several models involved. Firstly, models in
a programmer's head of what a program is for and/or how it should
operate. Secondly, models in the computer, the structured text of the
source code, and (when married with a language interpreter), its
operation over time.
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. 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
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.
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
The Open University is incorporated by Royal Charter (RC 000391), an exempt
charity in England & Wales and a charity registered in Scotland (SC 038302).