General Question

lifeflame's avatar

Computer programmers: if you had to make a music video of the beauty/elegance of your thought process, what music and visuals would you pick?

Asked by lifeflame (5922points) June 6th, 2010

I’m working on a physical theatre play called “Craig & Miriam.” It’s a play about a couple who have completely different worldviews. She is a social activist, he is a computer programmer and gamer. Right now I’m working on a sequence that would reveal to us the beauty of his world. I’ve done a little coding, and it’s just a really absorbing activity. I like how I can chunk the problem down and solve things. So, I’d like to ask:

(a) What is it that you love about coding, and how could you imagine translating it in a visual form that others could relate to?

(b) What music would best express this? [links to the actual pieces, e.g. Youtube tracks] welcome.

(c) Have you seen any art that was abel to capture the elegance of the process/world of a computer programmer?

Observing members: 0 Composing members: 0

9 Answers

gorillapaws's avatar

There are many aspects to programming, and so it’s hard to come up with an analogy that fits them all. I used to write a fair amount of poetry in what feels like a former life. I can say that the stage of programming where you’ve figured out how you’re going to proceed forward is similar to when you’re furiously writing a poem that is pouring out of you, and your biggest fear at that moment is that you’ll be interrupted and loose the whole string of thought.

There’s the debugging stage when you’re trying to figure out why something isn’t working the way you’re intending that can be quite maddening, and it’s such an exquisite relief from agony when you finally figure it out followed quickly by anger and frustration at yourself for not being able to see it sooner. In this regard it’s a bit like a magic trick, in the sense that it seems so impossible when you don’t understand the problem, and then so incredibly obvious after you (or someone else) has figured it out.

The planning/design phase is comparable to playwriting, in the sense that you pick out various characters and determine what their roles will be, determine the physical limitations you may run up against. In object-oriented programming (most programming is done this way these days) you use objects which are similar to characters in a play in many respects: they have properties, roles, and behaviors. They have some actions which are public facing, and others that are strictly private and not exposed to others.

lifeflame's avatar

good point, @gorillapaws! – it seems to make sense to break it up into different stages.

(Oh, the debugging! the debugging! It felt always to be 10% coding and 90% debugging)

Ok, so what music would you pick for each of the stages?
[I have heard a theory that there’s something about math and music that are related—certainly there were a disproportionate number of CS students who were also musicians; so I’m curious about the musical choices people here will make..]

gasman's avatar

For ‘mathematical’ music:
old — JS Bach
new — Philip Glass

The mathematical aspects of Bach are discussed in depth in Douglas Hofstadter’s prize-winning Godel, Escher, and Bach. Philip Glass (e.g., Glassworks) reminds me of computer programming because there are a lot of arpeggios played both slow and fast—reminiscent of nested subroutines. At least that’s what comes to mind right now…

roundsquare's avatar

I don’t know if this helps but…

To me programming is the idea of breaking down something into small very concrete steps. So you take a task, and figure out each step. Then you take each step, and break that down. And so on, till you get to the point where the steps are so small that a computer can figure it out.

Visually, you can show something like a block, being broken down into more blocks, being broken down further, etc… Or something like an outline. It starts with:

I. Calculate how much money I need to save to pay off my loans.

Then it becomes:
I. Calculate how much money I need to save to pay off my loans.
A. Find out how big the loan is.
B. Find out how much I get from my bank account.
C. etc..

And then A, B, C get broken down.

Problem is, its not an exciting visualization.

All I ask is that you avoid things like what was done in swordfish. The visualization done there was horrible.

ipso's avatar

@gasman nailed it with either a Bach Fugue or some specific Philip Glass. Two songs come to mind immediately:
– [Philip Glass – 1000 Airplanes on the Roof – 01 – 1000 Airplanes on the Roof], or better yet
– [Philip Glass – GlassWorks – 04 – rubric]

I’d go with Rubric – custom made for your needs (but you actually risk being cliché with it, if the audience is older – or to anyone who has seen Koyaanisqatsi and/or her cousins. (FYI – Jean-Michel Jarre was the original go-to guy (e.g. Equinoxe), Glass inherited the throne.)

Or something off the beaten path: (recon “IDM” music for much-much more)
– [Autechre – Incunabula – 03 – Autriche]

@roundsquare has an excellent point about breakdown and subdivision. I would add: nesting, recurrence, and many other programming modes of organization/thought. Unfortunately the visual arts have never done well (to my mind) to even come close to representing those things – in other words, they have not successfully built the language that bridges the two. (The closest may have been Tron, and more recently The Matrix).

In wine or Scotch tasting they have tried to build a bridge language to describe taste. This hasn’t happened sufficiently yet with core technology (or with wine and Scotch – to my mind).

If you’re cerebral, and willing to roll-up your sleeves, of course the answer must lie in the more hard core experimentalists. Starting with John Cage (audio) and working your way forward from there. Dig around and find something that feels right for your application.

Good luck!

lifeflame's avatar

If it helps, you can imagine the scene like this.
Your girlfriend/bf goes: “Heck, what do you do all day, staring at the screen?”
And you say, “No.. no… it’s like this… ” [cue sequence]

Actually, what would you say to your significant other if they asked you that?
Would you put on a Bach or Phillip Glass to explain what you are doing?
Or would it be something else?

So I’m interested in representing the thought-process of the coding (e.g., nested subroutines), but I’m also interested in sharing the feelings of programmer in their most sublime state of work. What do you feel? Immense clarity? Power? Loss of self? ...

gasman's avatar

The creative part of programming consists of cleverly devised algorithms or data structures—sometime associated with a key insight or “aha” moment of realization. This is tension & resolution as you analyze the problem. Triumphant music abounds in every genre.

Much time spent coding, however, can be monotonously tedious—like knitting. Perhaps the austerity of Gregorian chants is in order. Debugging would be pure dissonance and agitation. Bartok or Stravinsky, perhaps, or more avant-garde stuff.

I think in the end you’ll have to find your own way (musical or otherwise) of explaining the experience to others. To the extent that this is even possible, good luck!

lifeflame's avatar

Yes, in the end we battle alone. I thought I’d try to tap into our collective knowledge though.
For those interested, I first started writing “Craig & Miriam” four years ago, and now am reworking it. Some photos/blurb here:
http://www.burntmango.org/creations/craig-miriam.html

I’ll let you guys know what I end up with.

roundsquare's avatar

@gasman Has it dead on with the Gregorian chants. The moment he said that it was immediately clear to me that it would fit perfectly.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther