Conversation on the Ullman essay

Written for the Salon Magazine tabletalk discussion on Ellen Ullman's essay on the dumbing down of computer programming .


I don't think that this is about the semantics of who is and isn't a programmer, and I don't think Ellen Ullman does either. My discontent comes from my search for what it was that drew me into coding in the first place.

When I dropped out of school, to be a mass market applications programmer a coder had to know assembly language. At the very least we needed to know what sort of code the C compiler output for different constructs so we could choose the efficient ones. Don't like the way the system services work? Break out the assembler and write your own driver. And yes, I did have to know what malloc() really did. Amazingly enough, I still do.

Now programming on personal computers has become much like the skills of the mainframe COBOL authors we maligned when microcomputers were cool: lots of glue code, the challenges are trying to find the way around the existing APIs.

Steve Jobs recently bragged that "Apple has a core competency in the fashion and design area." He's right. The business is no longer about finding novel solutions to cool problems, we've been reduced to label painters in the soft drink wars.

That's hardly a satisfying place, and I can see the writing on the wall; no matter what the language, writing COBOL in a cube for the rest of my career seems singularly unsatisfying even if it does pay well.

It's not that Microsoft is the evil empire, it's that I (we?) no longer find joy in solving the sorts of problems that the mouth-breathing knuckle-drag... errr... users of Microsoft products, the vast majority of the market, want solved, so we end up trying to work around APIs that have no real elegance in order to solve problems that we don't really have a personal stake in anyway. ("Don't do that, then.")

This is the attraction of Linux: Everything's exposed. Further, the Unix paradigm has evolved to be totally about rapid prototyping of ideas: "what happens if I take this data source, pipe it through this filter, drop it into that database, then query it in this other language." Interface isn't important, we'll work around that, this is about ideas!

But more and more it's not ideas that sell, it's better marketing. The market for content is a lot smaller than the market for flash.

I still believe that there will be new niche markets that involve pushing the edge for users who do care more about solving problems than aesthetics, but I also know that it's the nature of those problems that they'll eventually be solved, and aesthetics will become the deciding issue.

Alas, like Ms. Ullman, I'm having to struggle to see them.


Wednesday, May 13rd, 1998 danlyke@flutterby.com