Biculturalism: This is old Spolsky, but it’s still good Spolsky —
In this essay from 2003, Spolsky responds to Eric Raymond’s just-published (at the time) book, “The Art of Unix Programming”. That book is a classic that just drips with old-school Unix disdain for anything else. (Don’t confuse that statement with negativity — the book is excellent and a must read for any programmer. You can read it for free at the link above.)
Anyway, Spolsky praises the book for its general content, but takes exception to Raymond’s general tone:
Raymond does attempt to compare and contrast Unix to other operating systems, and this is really the weakest part of an otherwise excellent book, because he really doesn’t know what he’s talking about. Whenever he opens his mouth about Windows he tends to show that his knowledge of Windows programming comes mostly from reading newspapers, not from actual Windows programming. That’s OK; he’s not a Windows programmer; we’ll forgive that. As is typical from someone with a deep knowledge of one culture, he knows what his culture values but doesn’t quite notice the distinction between parts of his culture which are universal (killing old ladies, programs which crash: always bad) and parts of the culture which only apply when you’re programming for programmers (eating raw fish, command line arguments: depends on audience).
In general, Spolsky makes a good point about the difference between commercial programs and open-source programs: commercial programs are written for users to enjoy. In contrast, open source programs are usually written for programmers to enjoy. Big difference.
Suppose you take a Unix programmer and a Windows programmer and give them each the task of creating the same end-user application. The Unix programmer will create a command-line or text-driven core and occasionally, as an afterthought, build a GUI which drives that core. This way the main operations of the application will be available to other programmers who can invoke the program on the command line and read the results as text. The Windows programmer will tend to start with a GUI, and occasionally, as an afterthought, add a scripting language which can automate the operation of the GUI interface. This is appropriate for a culture in which 99.999% of the users are not programmers in any way, shape, or form, and have no interest in being one.
It’s pretty true when you think about it. I’ve written several things that could be released under the GPL, and — in each instance — I was thinking, “I bet there’s a lot of developers that could use this.” Never did I write anything where I thought, “This will make my mother’s life easier.”
Mozilla Bon Echo Alpha 1 Release Notes: The first alpha release of Firefox 2.0 is out. Some thoughts on it -- There are not a lot of new customer-facing features. There are two reasons for this, in my mind: Open-source projects are often more developer-friendly than customer/user-friendly. Spolsky has…
A convoluted Mambo: Why open source software needs usability Nazis: A good rant over at TeleRead about the state of usability in open-source software -- Mambo, in this case. I also wonder if the Geek Snobbery Factor may have been at work. So often, leadership within open source efforts…
That makes me a "Windows" programmer then - I don't give a rip about another developer's opinion, but I do care greatly about whether or not my target users will be able to use what I've written and whether or not it helps them perform the taks the code was written to help with in the first place. If it doesn't, I've wasted my time and efforts. Coding for the praise or critiques of other developers is snob factor times ten - or approval seeking in a small audience, if you prefer. I'd much prefer to hear "Thanks - I can get the job done quicker/easier/whatever" than "Your algorithm could use some tweaking but I admire the way you solved that problem - who do you plan on marketing this to?"
I imagine it's a lot like the Oscars. How many actors won Academy Awards for performances in limited-run movies that no one saw? And how many actors that were in hugely popular films that never won anything?