
The Guardian: Programming is destroying my capacity for reflective thought - madmotive
http://www.guardian.co.uk/technology/2008/may/22/blogging.computing
======
yummyfajitas
You know, I thought music would be creative. But then I tried to do it. It was
terrible! It was all about how to strike the piano keys, how to move my
fingers so they don't hit each other, etc. No creativity whatsoever!

Then I tried making up my own music, but that ridiculous. I spent more time
figuring out why it sounded bad than I did actually coming up with a melody.
My chords didn't work, the rhythm was all off, etc. When it was done, it
didn't even sound that good!

I have no idea how Reznor deals with the mind-numbing drudgery of it.

~~~
iron_ball
Bad parallel. Coding up a CSS/HTML web page full of embedded PHP and
Javascript and trying to get it pixel-perfect is worlds away from writing an
internally consistent program for a single run target using a single sane
language and APIs. You can't say "it's all music."

~~~
yummyfajitas
On the contrary, I'm saying that music "isn't all music" either. Whatever your
craft, before you reach beauty, you need to deal with technical details.

~~~
aaronblohowiak
In classical approaches to beauty, the thinking was that Beauty was the result
of strict adherence to rules. From wikipedia on aesthetics:

<quote> Greek philosophers initially felt that aesthetically appealing objects
were beautiful in and of themselves. Plato felt that beautiful objects
incorporated proportion, harmony, and unity among their parts. Similarly, in
the Metaphysics, Aristotle found that the universal elements of beauty were
order, symmetry, and definiteness. </quote>

but yea. a classical foundation in a trade and rigorous pursuit of
<latin>ars</latin> enables the craftsmen to do excellent things, or failing
that, at least be competent in routine.

------
jsdalton
Um.

I think author is confusing "programming" with "working with code." His
frustrations have more to do with CSS compatibility in browsers than with the
actual high-level conceptual thinking that true programming entails.

But even taking his argument at face value, his quibbles about syntax would be
like me complaining that painting is not a creative art, because that darn
paint gets everywhere and it's just so annoying to mix this shade of red and
that shade of blue to get the purple I want etc. If you don't enjoy the messy
details of the medium, then you surely shouldn't be working in it.

For me at least, programming is the very definition of a creative art. I find
it not only satisfying to create something out of nothing, but I take pleasure
in fleshing out all the little details and overcoming the obstacles that come
up along the way.

------
1gor
From the FA:

    
    
      ...should the width of the main column be 60%? 58%? 57%? 
      And so on, until you find something that works. It's like
      being a toddler trying to bang differently shaped block
      into the holes of an educational toy. You bang and bang 
      and scream a bit and bang some more and suddenly the block
      fits - but you've no idea why.
    

Thank you, The Guardian, for explaining to the masses what 'programming' means
and destroying my chances to look respectable at London parties.

~~~
Hexstream
"It's like being a toddler trying to bang differently shaped block into the
holes of an educational toy."

Toddler is the level 1 of any discipline... Isn't it grand that we can enjoy
the experience of being a toddler multiple times in our life?

------
swombat
Funny. I was thinking of writing an article proposing the exact opposite.

Programming and good writing are very similar. With both, you have to quickly
leap back and forth between the highest levels and the lowest levels (while
"refactoring" - a concept which can just as easily be applied to the
conceptual work on an article or story), and you have to be precise and choose
the best way to explain something amongst a large number of choices.

~~~
ovi256
Yes, but consider the problem domain to which he applies (and wastes, in my
honest opinion) his skills. Web layout. CSS. Surely one of the most
pointlessly vile and broken (as in the implementations are broken) sub-domains
of programming. And in this regard, that he is wasting time, he is right. A
good "web coder" knows the intricacies of a dozen versions of render engines,
but standardisation could, and obviously should, make his knowledge obsolete,
as it is only busywork. The wider point is that programming is still full of
such busywork.

------
DougBTX
There does seem to be a distinction between programming as art, and
programming as plumbing. Most programming probably falls into the latter
category. But even when plumbing, you don't check that the water flows through
each joint as it is fitted by turning on the tap. I assume the author doesn't
send his article to his editor every time he places a full stop.

Perhaps when you are forced to check yourself at every turn, when small
mistakes cannot be ignored and instead become hard walls to progress, that's
when creativity is stifled. When writing an article, small spelling mistakes
can be corrected in the second draft, but the ideas are already on paper and
can be exchanged with others.

It all comes back to flow, transcending the mundane to imagine the creative.
And so to the question implied in the article: is there something inherent to
programming which inhibits flow?

I see three possibilities. 1) The programmer becomes an expert, and so
transcends the distraction of small mistakes simply by not making small
mistakes. 2) The programmer chooses an environment which either tolerates,
ignores or fixes small mistakes, whether through postponing compile time
errors to run time, or by automated refactoring to always leave the code ready
to compile. Or finally, 3) the programmer simply never gets into the flow, and
as with the author, creativity is void.

~~~
gruseom
_a distinction between programming as art, and programming as plumbing [...]
transcending the mundane to imagine the creative_

I think this is a common misunderstanding of what art is. Every art has its
mechanical, detailed side that must be worked through. The end result may be a
lofty and soaring creation but it doesn't follow that the artist lofted and
soared their way to get there. On the contrary, what's striking in the lives
of great artists is not how they transcended the tough slog but how they did
_more_ of it, far more than their peers. The mundane and the creative are
closely related, and the idea of the creative without the mundane is an
ungrounded fantasy.

I remember reading something about the Beatles (by one of their early
girlfriends or wives) that said when they went to parties, Lennon and
McCartney would usually end up in a corner going over song ideas. There are
countless such anecdotes. A woman walks up to Picasso in a restaurant and asks
him to sketch whatever he likes on a napkin and charge her whatever he thinks
it's worth. Picasso does so and says, "That will be twenty thousand dollars."
"But it only took you thirty seconds to do that!" "Madam, it took me thirty
years to do that."

------
Zak
It sounds to me like the author is saying that programming in PHP is
destroying his capacity for reflective thought. Having coded in PHP and a
couple other Blubs, I can see where he's coming from. I do not get this
feeling from Ruby, Lua or any of the Lisps I've used.

------
bbgm
Music is art and creative, but you can't ignore what it takes to get there. I
forget who said this but upon being asked if he practiced everyday, some
famous musician said something along the lines of

If I don't practice for a day, I notice. If I don't practice for two days, the
critics notice. If I don't practice for three days, the audience notices.

The point is whether it is programming or music or whatever, there is a craft
associated with it, which only makes you better at expressing your creativity.
IMO you can be creative without really knowing your craft, but expressing that
creativity requires practice and dedication and it doesn't really matter what
field you are in and how you define art or creative thinking.

And yes, Reznor is brilliant :)

------
euccastro
The author qualifies his claims with honesty, which explains the paradox:

 _High-level programming_ can be _like mathematics or music: it brings order
and harmony out of chaos._ [...] _But I wasn't doing that kind of programming.
If a maestro can make a program like a symphony, and an ordinary craftsman can
at least whistle a tune, I spent all week getting a ukelele in tune - plink,
plonk, plink thunk, plonk._

------
gruseom
This is a well-written article that's a pleasure to read. What a pity that
it's so shallow and silly. I mean that literally: it's a pity. When someone
from outside the technical ghettos and subcultures, who is obviously cultured
and curious, takes enough of an interest in programming to write thoughtfully
about it, I'd expect to find that interesting. Alas, this is just a guy making
grandiose, ignorant claims about an entire field... why? Because he felt
bitchy and frustrated after getting stuck doing something he didn't know how
to do with some apparently crappy tools.

What's disappointing is not that he's wrong, but that he's trivially wrong.
Every field has its morass of details that must be worked through with
patience. To complain about this is a well-known mark of the dilettante.

------
JesseAldridge
It seems to me that he's just frustrated dealing with all the initial bullshit
you have to put up with when you're new to a platform. After you get over the
learning curve, you can abstract away the trivial details and focus on the
more creative aspects of programming. But then again with most new platforms
there's a _lot_ of little things to learn, probably more than most people are
willing/able to put up with. This is why programming is a full time job.

------
edw519
Substitute "development" for "programming" and problem solved.

This is a forest and trees problem. Sometimes you're so focused on the trees
(and leaves and stems) that you forget what forest you're in. We've all been
there. Sounds like OP is there now.

But to develop, you must always be aware of BOTH the forest and trees,
constantly shifting focus in and out, like a high priced autofocus zoom lens.
Fall into either mode exclusively and that autofocus muscle in your brain
tightens up.

Don't worry, OP. A couple calls from irate superusers oughta shock you back
into the "capacity for reflective thought".

