Good Software Takes Ten Years. Get Used To It.

greenspun.com : LUSENET : Joel on Software : One Thread

This may be true for mega commercial packages, and probably for PC consumer-ware in general, but IMHO that represents something under 1% of the software that is written each year (little of which actually ships), and probably under 5% of the software that actually does ship in some form.

What software ships most? The software in your microwave, in your CD player, in your TV, in your digital camera, in your car... You get the idea: Embedded software outships PC-ware hundreds, maybe even thousands, to one.

The thing about embedded software (AKA "firmware", including virtually all real-time industrial systems as well) is that you really need to get it right the first time. You certainly don't have a decade to figure it all out. Such systems need to work "right" from the day they are first fired up, to the day they are retired. (I have written embedded apps that have been running continuously for well over a decade, without update or repair. I have also written others were obsolete within a year.)

Sure, it's way easier to program a well-defined embedded controller app than an app for a faceless sea of unknown users with widely divergent expectations and experience levels, to run on an OS that's a moving target as well. I do believe that task could well take a decade for any sizeable non-trivial app (excluding apps such as utilities and plugins). [Do you notice that many mega-apps apps tend to become very OS-like as well?]

Should you expect to stick with any software app for a decade? No, of course not! Not unless you happen to work on that small slice of the market that contains such mega-apps. A category I somehow doubt many of us fall into.

May we have a show of hands?

-- Anonymous, July 20, 2001

Answers

I expect to be using Emacs in ten years. I expect I will still be using TeX in ten years; I expect I'll be using some sort of troff in ten years although perhaps not my current implementation. I expect to be using gcc in ten years.

Do these count? Admittedly, all of those are quite old already; Emacs dates from the late seventies, I believe, and troff dates back even further than Unix itself; the current implementation of TeX, TeX-83, is 18 years old now. gcc is the youngest of the group at only 15 years old.

-- Anonymous, July 23, 2001


The problem is that Joel neglects two minor details: 1. Notes' basic operation, interface, and structure hasn't changed in at least half of those ten years. 2. Notes' basic operation, interface, and structure has sucked over that entire time.

-- Anonymous, July 23, 2001

Moderation questions? read the FAQ