Skip to content

Comment on Knuth: Computer Programming as an Art (1974)parent

Comments

Michelangelo was working with chisel, colors, palette - was he a craftsman? How about guys that were replicating his work? They would have been closer to the 'craftmanship' side.

Programming is art for many of us. For some it's a craft. If you are original and independent thinker in our profession, have creative ideas nobody had prior to you, you are much closer to an artist. If you just reuse what somebody else created, you are closer to a craftsman. Where do you stand?

if you are original and independent thinker

You equate art with originality, but Knuth do not, and most arts except "Contemporary Art" did not either. Just turn your eyes to Quattrocento or Chinese landscapes: these artists are not trying to invent something or be original. Listen to Bach: where is the inventions? It is just a natural flow of notes in a structuring harmonic frame. I do not imagine Bach thinking "Let's do something unheard" when writing his partitions.

They might not try to invent something original, but they end up with something original and touching people deep in their psyche. Compare that to a perfectly fluent user interface you "just love". Is that a craft? Or is there something more in it? Can you really quantify and automate the process of coming up with it?

My view is that most people that view programming as a craft are middle managers that somehow need to get ants working on whatever they need. However if your innate inspiration comes from somewhere else, if you "feel" the algorithms and their optimality, wake up during nights when inspiration knocks on your the door of your mind to start working on an idea you just saw with your inner eye, you won't view programming as a craft at all.

I think it's more of an art in the classical sense (which is like a craft), in that we are artisans rather than artists.

The difference being that we primarily create things valued for their utility, rather than their aesthetics. Video games being the possible exception, although even there the programmers are essentially building a vehicle for the art-stuff (story, graphics, gameplay, music) to shine through.

I am learning technology so that I can express my ideas and share them with the rest of the world, and have fun with likeminded people. I also do photography at the pro level, movies, compose music in a world-class home music studio etc. I assume if you want to be great at art, you have to be great at techn(ology/ique). In my case it means I need to write superb pixel shaders, create VSTis producing sound nobody else has produced before and still awesome, stabilizing hyperlapses with my own computer vision algorithm, making robots dance and so on. For that I need to study whatever I find at MIT/Stanford/Harvard/etc even if it is very very difficult. So is this a craft?

Craftsman by day, artist by night.

--Programmer Man

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.