|Keep It Simple, Stupid|
Re (tilly) 1: Artistic Methodby tilly (Archbishop)
|on Mar 30, 2001 at 01:48 UTC||Need Help??|
I think it is valuable to reflect on the process of programming, just as you reflect on the process of creation in art. However I don't think that the parallel carries on too well from there.
The difference is that with physical artwork, you are creating a concrete something. It has form, mass, and these attributes are intrinsic to the experience.
By contrast programming has no real form or mass. If I write:
How big is that program? It is one line, right? But no, I pulled in LWP::Simple. Which pulled in more. And if I am going to talk about that, I pulled in Perl. And Perl used the operating system. Plus I used machines and networks over a good chunk of the US. Some of which include a webserver and database in (IIRC) California.
Does it even make sense to ask how big it is? Probably not. What makes sense is to ask how big that functionality was for me.
The answer is one line.
Were I to name 2 opposing pulls in programming, I would have to name building on what was done before, and reorganizing or reconceptualizing what was already done. At any given time these dynamics oppose each other. The first is a building dynamic. The second is creative destruction. Between the two of them you (hopefully) find solutions and then boil them down to easily repeated patterns that allow you to solve hard problems with ease.
Being from math I see parallels there. For some food for thought see The path to mastery. Like art, what you don't see is often as important as what you do...