[lbo-talk] dreaming in code

shag carpet bomb shag at cleandraws.com
Wed Aug 5 16:13:55 PDT 2009


I'm currently reading Scott Rosenberg's _Dreaming in Code: Two Dozen Programmers, Three Years, 4732 Bugs, and One Quest for Transcendent Software_.

I'm about 1/2 way in; good book. It's worth a read if you're in the business, a storehouse of all the things you already know, but put together in a "big picture" way. It's also a decent introduction to the world of your favorite (or hated) geek because Rosenberg is especially adept at translating the world of computers and software into language that a non-insider can likely grasp. (Although, to be fair, I'm probably a poor judge of that.) Even so, Rosenberg stops and explains things like why a geek counts from 0.

He has an especially lucid discussion of something I tried to say very long ago, though Rosenberg does not put in my terms. I'd argued, back in 2004 IIRC, that postmodernist/poststrcuturalist thought was difficult to understand because it was trying to describe something very complicated itself. At the time, I likened it to the same reason why non-insiders don't understand why software is buggy, why you have a hard time making it do things the way you think they ought to be done. It's because the way software works, well, it has no center.

Which is why I likened it to po-mo - which is trying to describe a world that has no center.

Rosenberg grapples with this problem as well:

"Software is different; it has no core. It is onionlike, a thing of layers, each built painstakingly and precariously on the previous one, each counting on the one below not to move or change too much. Software builders like to talk about laying bricks; skeptics see a house of cards. Either way, there's a steady accumulation going on. New Layers pile on old.

Programmers call these accretions "layers of abstraction," because each time a new one is added, something complex and specific is being translated into something simpler and more general. The word 'abstraction' comes from the Latin for 'draw away'; here's one computer science definition of the term: "The process of combining multiple smaller operations in a single unit that can be referred to by name." Abstraction begins in the nursery. It is what children learn when they realize that if they want an apple, they don't have to find one to point to but can simply say the word that refers to it. They also learn that abstraction depends on a common language, on shared assumptions of what class of objects the word 'apple' refers to.

'This is what programmers do," wrote Eric Sink, a programmer who led the creation of the Web browser that became Microsoft's Internet Explorer. "We build piles of abstractions. We design our own abstractions and then pile them up on top of layers we got from somebody else."And every year the piles grow higher."

pp. 65-6

Badiou is in, waiting at the post office. I will probably finish Dreaming in Code tomorrow or Friday, maybe take a break and dive into Badiou this weekend or next week.

By the way, remind me to rant some day about how men are not at all capable of thinking abstractly as is so often claimed. Not men in the u.s. at any rate. they are notoriously mired in details, when you try to explain a general principle and they don't get it, you give them an _instance_ of the abstraction. Right? You give them an exemplar of the class. So, dog is a class. You point at a particular dog. Men, invariably, are incapable of dealing with the more abstract dog, and bury themselves in the details of the particular exmplar of dog.

I do not have this problem with women! </SIRO>



More information about the lbo-talk mailing list