>I've never thought of coding as involving much creativity
Truly?
Programming requires a whole lot of creativity (sometimes enough to sap it from your other creative endeavors). Not necessarily in the part where you write the if, else, for and while stuff, but the part before that - when you're figuring out what you actually want to DO.
I've spent hours simply thinking about the best algorithm to use for a task. Sitting there with a notebook, sketching different possibilities over a simple example, thinking about its algorithmic complexity and whether there's a way to do it better. Considering what data structures I need to implement it, and the trade-offs between those choices. Whether I might just need to start over altogether (and I have; on some of the more challenging algorithm assignments, I've gone through 4 iterations of implementation before I hit one I was happy with).
You might call that engineering. But, the act of actually COMING UP with new algorithms and implementations that might solve the problem? That's creativity. And the harder the problem, the more it takes to solve.
Maybe it's just that I'm still a student, doing some projects on my own and doing a lot of homework assignments. I don't know what kind of coding you're doing, but if you can do it mechanically, without requiring any creativity whatsoever, then it doesn't sound like a very good use of your time.
> I've never thought of coding as involving much creativity.
I do. In both writing (drawing/sculpting/whatev) and coding you have something based in reality, that you transpose into you mind and then create another reality with.
In writing you may have something you have experienced, in drawing you might have an object in front of you, in coding you have a non-computer-based system/algorithm that you need to support. The better you are at imagining how to best support the real life system, the better a programmer you are. That said, I consider programmers more like craftsmen; but as in all crafts, some artistry usually slips in.
It depends on the ‘level’ at which you employ this creativity. To me, neither coding nor writing requires much creativity at a very low level (think inside a function or a paragraph), but it does require creativity as much as the ability to analytically extract suitable abstractions at a higher level.
That is, once you created (using your creativity) some sort of flow-chart for either your programme or your story, you will be able to fill in the remaining bits using strictly analytical thought without much creativity: Once you created pseudocode for Dijkstra’s algorithm, you don’t need much creativity to implement it. Similarly, once you set up the story of your genius cheating the devil, you don’t need much creativity to fill in the gaps.
The quality of this gap-filling will still greatly depend on your skill as a coder/writer – making the best use of the language you have – but this is not a necessarily a creative process, unless your language is ill-suited to the task and you need to create it on-the-fly, c.f. Shakespeare or K&R. Neither Goethe nor Thomas Mann made up many words, but only used their tools at a very high level and are still considered among the best writers in the world. Similarly, Linus didn’t invent C, but he used it to build a very complex system (or randomly ended up at one by continuous evolution, though that’s another discussion).
The above obviously only applies to writing/coding, and I would assume that the same goes for composing – even more so, as you can choose a particular set of rules (harmonic, atonal, you-name-it) and each individual note follows from the previous with little choice. Bach’s Well-Tempered Clavier is probably a good example for this.
On the other hand, at least to the uninitiated (read: me), painting and sculpting appears much more ‘creative’ and incomparable to coding/writing/composing.
Or is your point that good writers and artists and such are not actually being creative?