Mac vs. PC, not that other war. Den Beste already has an excellent post on what silly zealots the Mac cultists are, Jason Rubenstein explains why the whole argument is stupid, and Jane Galt chips in a few snide remarks about Apple’s ridiculous new ad campaign. I have nothing to add on those points. Instead I want to examine the historical origins of this conflict.
Part of it is the Jobs Cult of Personality (at Apple they used to call it the Jobs Reality Distortion Field), to which the Darth Vaderish aspects of his chief rival also contribute. Jobs used to say that the problem with Microsoft is that “they have no taste,” which is it in a nutshell. You can use a Mac like all the other different-thinking artsy-fartsy cool dudes and dudettes, or you can use Windows like a square-toed troglodyte Dockers-wearing lame-ass corporate suckbutt. Who do you want to be? Me neither. (Full Disclosure: I run a Linux server, because it’s good for serving web sites securely, and Windows 2000 desktop machine at home right now. But my first few computers were Macintoshes, and I quite liked them.) The Mac cult, like many cults, had a kernel of truth in it. For a long time the Mac OS and Windows really were different. One had a Finder, the other didn’t. One had a cute little trash can (that bulged when you threw stuff away!), the other didn’t. One had easily moveable overlapping windows, the other didn’t. One looked good, the other didn’t. For ordinary users Macs were better, once.
Then Windows 95 came along, with overlapping windows, and a pseudo-Finder, and a trash can on the desktop, even if it didn’t bulge when it had stuff in it. It still crashed all the time, but so did the Mac. But for ordinary users there wasn’t much to choose then, and seven years later there still isn’t.
Why, then, does the cult persist? My theory has to do with the history of computer science itself, which has been punctuated by, has in fact almost entirely consisted of, religious wars. One of the first famous comp sci flame wars was begun by the great Edsger Dijkstra, in 1968, with the classic Go to Statement Considered Harmful. Dijkstra actually argued that gotos were overused, not that they should be uniformly proscribed. But the flames flew: gotos made certain loops easier to read; what about error blocks? and on and on. Computer scientists gripe about Dijkstra’s paper to this day. And since gotos it’s been one war after another: compiled languages vs. interpreted languages, weak typing vs. strong typing, procedural programming vs. object-oriented programming, Waterfall vs. Extreme Programming vs. Scrum vs. Objectory vs. Booch, C++ vs. Java, every flavor of UNIX vs. every other flavor, .NET vs. J2EE.
This characterizes all immature fields, because nobody knows anything. We don’t have religious wars over how to build internal combustion engines because we know how to build them. But nobody knows anything about how computer languages are supposed to work, and nobody knows anything about user interfaces either. Few people can opine about the relative merits of single or multiple inheritance; but everyone who uses a computer can opine on the interface, and everyone does. End-user squabbles over interface are largely the trickle-down effect of geek squabbles over everything else. And since we geeks don’t know a hell of a lot more now than we did in 1968, expect the wars to go on for a good while yet.