I've always found the following essay quite inspirational in the way that it describes two different styles of programming. http://www.papert.org/articles/EpistemologicalPluralism.html
Donald Schon's work on reflective practice is also incredibly rich and insightful (http://www.infed.org/thinkers/et-schon.htm). Steven -----Original Message----- From: Lindsay Marshall [mailto:lindsay.marsh...@newcastle.ac.uk] Sent: 23 March 2010 13:56 To: Derek M Jones Cc: alex; Ppig-Discuss-List Subject: Re: models of creativity in programming > > I think that the role of creativity in programming is vastly > overestimated. I have to disagree, I think it is vastly underestimated. > > 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. Which is also what composers do (since that has been used already, but also painters - a better analogy in IMHO). It's what makes your style. > > 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. Composers can write things that are essentially unplayable on the intended instrument, or impractical in other ways. Compositions go through the kinds of iterations that programs do as well. Also they can be performed with chunks (both vertical and horizontal) missing without the listeners really noticing. And that's really only for more structured classical style compositions - it gets more so when you come to other styles : performers alter melodies and phrasing in entirely unpredictable ways and without the actual original music in front of them the user often does not know what was intended by the composer (and even that might be approximate). They just like it or they don't when it boils down to it. > > For instance, 'numbers' is a project I am currently working on > http://shape-of-code.coding-guidelines.com/2010/02/using-numeric-liter > als-to-identify-application-domains/ > 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. Have a look at some of Stanley Spencer's unfinished pictures that he was working on when he died. There is a vast canvas of the BVM visting Cookham and when you look at it you can see how he was working on it. Just like a programmer would work on a program : some parts completely finished, some parts barely sketched at all, others providing support but without the detail put in, places where he changed his mind and repainted. Painters often exhibit a work and then later repaint parts of it, or leave them sitting in corners and keep going back to them over and over again. L. -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).