The Greatest Software Ever Written

Bookmark and Share

August 18th, 2006

Information Week journalist Charlie Babcock has written a fascinating article with his “top 10″ list (which actually contains twelve items) of what he considers the greatest software products/systems/programs ever written. He takes responsibility for the list — and presumably its rightness or wrongness — but acknowledges insights and assistance from a number of people, including software guru James Rumbaugh, ACM President Stuart Feldman, venture capitalists Ann Winblad and Gary Morganthaler, PHP 3.0 authors Zeev Suraski and Andi Gutmans, and his little brother Wally.

You should definitely read his entire article, but if you’re in a hurry, here’s the list:

  1. Unix
  2. IBM’s System-R database product, forerunner of relational databases
  3. Gene-sequencing software at the Institute for Genomic Research
  4. IBM’s System 360 operating system
  5. The Java language
  6. The Mosaic Web browser
  7. American Airlines’ Sabre reservation system
  8. The Macintosh operating system
  9. Excel, as a robust, industrial-strength implementation of Visicalc
  10. The Apollo spacecraft guidance system
  11. Google’s search ranking software
  12. The Morris worm

I might quibble with a few items on this list, but Babcock has put a lot of thought into his choices (as you’ll be able to see by reading his article), and has presumably had his initial thoughts confirmed and refined by the group mentioned above. I might have an epiphany about something they’ve all overlooked after I mull things over for a few days, but for now, I’m happy to take Babcock’s list as a darn good starting point, if not the final word on the subject.

Still, I’d like to know why things like e-mail and word-processing didn’t show up on the list. I guess there’s no single example of an exemplary e-mail program or word processor that changed the world, but as a class of software, their impact on society has been enormous. If I had a little more time, I would take advantage of some links at the end of the article to participate in a poll, offer my own candidates for “best software ever,” and see a list of software products that almost made it. Obviously, you can do the same.

But there’s something far more important I think we should be doing instead of quibbling over the past. Let’s accept Babcock’s list without any further quibbling, and then ask ourselves: what does it tell us about the next generation of “greatest software” that we might look forward to in the next 40 years? Keep in mind that Google’s page-ranking software was introduced only about 5 years ago (again, let’s not quibble about the details), Java was introduced a little over 10 years ago, and Mosaic appeared sometime in the early 90s. But the Mac operating system first appeared some 20 years ago, in 1984; Unix appeared in the early 1970s, and Sabre, Apollo, and IBM’s 360 software date back 40 years, to the 1960s.

So we shouldn’t necessarily expect the next item on Babcock’s list — which might appear as #13, or might shove one of the current top-12 entries out of its spot — within the next year or two. It might take five years, it could easily take a decade, and perhaps even a full generation of hard work and inspiration by software engineers just entering the work force today. But what will it be? Will it be something entirely serendipitous, something we haven’t even imagined in today’s computing environment? Or will it be something we know we want, but just haven’t figured out to do — e.g., a truly awesome AI system (Babcock discusses a couple that almost made his list, but weren’t quite impressive enough), or a truly accurate long-term weather forecasting system, or a robust, industrial strength real-time any-languge-to-any-languge translation program? Does the existing list of “greatest software” offer us any clues? I don’t know, at this point, but I’m certainly going to think about it…

Equally important: how should we expect the next several instances of “greatest software” to come into existence? I was fascinated by fascinated by a comment in Babcock’s description of the #1 entry on his list, Unix: “Bell Labs often gets credit for creating the Unix operating system, but Bell never funded its development. In fact, the labs’ management knew nothing about it (emphasis added).” This is apparently how a lot of Google’s new products come into existence — subsidized, essentially, by the engineers being allowed to spend 20% of their time pursuing their own R&D initiatives — and it’s obviously in stark contrast to the kind of top-down, hierarchical development efforts typified by the American Airlines Sabre system, or the Apollo spacecraft guidance system.

I suppose that the answer, in terms of future development, is that both forms of product conception, initiation, and funding will be important; the top-down approach is more appropriate for some kinds of products, and the bottom-up approach has obviously worked well in other cases. But should we expect to see a 50-50 split? Or is Google’s 80-20 budgeting of engineering work-hours more appropriate? With computing power so cheap these days, and with the open-source development model working so well for products like Linux, should we expect that the next several “greatest software” examples will bubble up from a grass-roots community of students, hackers, and bored software engineers who want to spend their evenings doing something fun and exciting, after spending all day debugging ancient legacy COBOL programs for Acme Widget Company?

There’s no doubt that software has transformed our world during the past 40 years, and I’m optimistic enough to think that if we don’t blow ourselves up with nuclear weapons, or destroy our environment with global warming, we will have an opportunity to continue transforming our world for another 40 years, as today’s generation of computer science students (and millions of others who have figured out how to do great software-related things on their own) emerge from universities and enter the workforce. Heck, some of them are already doing great things with their computers in high school.

But it would be nice if we could give them a “wish list” of things we’d love to have them tackle for us. And in the meantime, it would be a good idea to be prepared to be “blindsided” by some awesome new software that we haven’t even thought about yet.

3 responses about “The Greatest Software Ever Written”

  1. Charles Babcock said:

    Ed,
    You pose a question that I haven’t been prompted to think about much before. But you’re right. If we know what’s been the greatest software in the past, even if only on a basis of personal priorities, then we should be able to project forward to what the coming generation might look like.
    I am trying to watch the “wisdom of crowds” phenomenon that can now be captured over the Internet by software in various ways. Google page rank is a strong expression of it, but it could occur in many other ways. I would think the wisdom of crowds could be invoked to help the police to solve particularly socially reprehensible crimes, where many people, knowing bits of information succeed in pooling what they know to suggest an evidence trail that the police might not have thought of. This could have some anti-social, vigilante outcomes as well. But when a child goes missing, learning everything anyone knows about the disappearance quickly has a big impact on the chances of authorities recovering the child. The police are not really effective unless backed up by an alert, observant citizenry.
    Likewise, some of the machinations that politicians use to drive societies into wars might be blunted by the kind of pooling of information that would reflect the best information of citizens below the level of the leaders who are manipulating facts. Crowds can make the wrong decisions. Crowds sometimes stampede in the wrong direction, based on small amounts of erroneous information. But the greater danger in a democracy is that too few people have enough information to know whether they’re being manipulated and they end up feeling compelled to support their country first, ask more questions later. Given enough eyeballs, all manipulative politicians become shallow. Charlie

  2. Evan Palmer said:

    The problem with forecasting is that only part of what comes in the future is based on the past. Often the greatest impact product or service is original enough to be considered “out-of-the-blue” and therefore something we wouldn’t have predicted based on what’s happened before.

    On the other hand, 100 different persons will see 100 different futures in an analysis of the past.

    One angle on this is a company (whosae name I can;t recall) that collected and studied the PHD theses around the world and other related things like patents and used this to predict what’s coming. From what I saw of it, this approach was very very effective.

  3. parthiban said:

    it was very nice …

Leave a Reply