April 12th, 2011


Programmers At Work

So I was reading Zadie Smith's review of The Social Network, because at this point [personal profile] ninhursag and [personal profile] merisunshine36 have convinced me that I need to see it, despite my initial resistance.

Anyway, it's worth reading as a meditation on a changing internet society from someone who does not quite understand it but is willing to try, and even though I don't agree with her about everything, I liked the thoughtfulness she brings to the subject. She's fully aware of her own uncertainty and lack of full understanding. (Also, for you Eduardo fans, she has some things to say about Andrew Garfield's face that made me think of you. :p)

But what really struck me is this section:

If it’s not for money and it’s not for girls—what is it for? With Zuckerberg we have a real American mystery. Maybe it’s not mysterious and he’s just playing the long game, holding out: not a billion dollars but a hundred billion dollars. Or is it possible he just loves programming? No doubt the filmmakers considered this option, but you can see their dilemma: how to convey the pleasure of programming—if such a pleasure exists—in a way that is both cinematic and comprehensible? Movies are notoriously bad at showing the pleasures and rigors of art-making, even when the medium is familiar.

Programming is a whole new kind of problem. Fincher makes a brave stab at showing the intensity of programming in action (“He’s wired in,” people say to other people to stop them disturbing a third person who sits before a laptop wearing noise-reducing earphones) and there’s a “vodka-shots-and-programming” party in Zuckerberg’s dorm room that gives us some clue of the pleasures. But even if we spent half the film looking at those busy screens (and we do get glimpses), most of us would be none the wiser. Watching this movie, even though you know Sorkin wants your disapproval, you can’t help feel a little swell of pride in this 2.0 generation. They’ve spent a decade being berated for not making the right sorts of paintings or novels or music or politics. Turns out the brightest 2.0 kids have been doing something else extraordinary. They’ve been making a world.

I'm at the point in my life where I'm really bad at teaching programming, because all of the assumptions, all of the thought patterns you need for programming have become second nature to me. It's hard for me to rewind to a point where I can understand what it's like for people who have never seen code before and who have no idea how to

So then, how do you explain programming to someone else? How do you write about it? How can you represent it? Programming at its heart is an act of creation, but the process of programming isn't very interesting. You can't fill people's minds with the joys of using a well-written library or the thrill of getting your code to compile for the first time. Literal programming is almost impossible to make exciting to non-programmers. The same vocabulary and background just isn't there. Most of the time I see programming show up (usually in the context of scifi), it's deeply metaphorical. There are virtual realities where you can craft entire buildings or artificial intelligences that are slowly manipulated into being.

I write about programming metaphorically, myself. It's such a huge part of my life and my the way I look at the world that I keep trying to describe what it feels like, and I'm just bad at it. My best attempt is probably Interpreted Languages, since technopathy is just an extremely advanced version of programming, is all. In order to be good at programming, you have to understand how computers think. You have to listen to them when they're telling you things aren't going right, and you have to be patient with them when everything is going wrong. I don't think computers are alive by any means, but I think that when you learn programming, you are learning a new way to talk, a new way to think. The vocabulary of a language defines how people can think in it, what ideas can be expressed, and computer programming languages make that so very literal.

I tried writing some stuff about programming languages into a fic once. This is only bit of it that's worth reading:
The theoretician in Rodney loves Haskell, loves the pure mathematical beauty of the language, but the engineer in him can't stand anything but the right-up-against-the-hardware power of C. The Ancients only use one language for their systems, simple and clean and powerful, and Rodney spends a lot of time staring at the unearthly code of their systems, tracing the control flow with the tips of his fingers.

I think that's some of the best I could do to capture the magic of it, the joy of understanding and learning and creating. It's a little like the joy of writing and reading, but not quite, and it's sort of like the joy of building something with your hands, but not quite. It's like both of those things and like neither of those things, and now I'm just going around in circles so I'm going to stop.

Also, I'm not convinced that Zuckerberg did it all for the love of programming, I gotta say. That dude's an asshole.

Because I might as well:

I'm at faviconthedeadparrot on the AO3. Subscribe to me - fandoms in the immediate queue include Sherlock Holmes (2009), SGA, and Sherlock (BBC)! (You'll need to log in to see the subscribe button.)

This entry was originally posted at http://thedeadparrot.dreamwidth.org/488545.html. You can comment there using OpenID or you can comment here if you prefer. :) comment count unavailable comments there