The greatest software ever

The greatest software ever

Summary: Charles Babcock published his take on the greatest software ever written. As he says, most people have an opinion, but sitting down and doing an evaluation isn't so easy.

TOPICS: Tech Industry

Charles Babcock published his take on the greatest software ever written. As he says, most people have an opinion, but sitting down and doing an evaluation isn't so easy. Says he "Greatness is easier to assess given a long historical perspective. The closer you get to the present, however, the harder it is to name the greatest software."

Charles goes through his top twelve in Letterman fashion, What piece of software or feat of programming would you put on the list? from bottom to top. I don't agree with every choice he made, but he does mention some very important pieces of programming. I would probably agree with his choice for number one: UNIX, specifically BSD Systems 4.3. I'll let you read the article to understand his reasoning.

I found the companion piece to the article on the five that almost made the list equally interesting. I'd have probably put some of those, like Alan Kaye's Smalltalk, in my top ten. I have notes on two talks Alan gave last spring on Computer Science as an Oxymoron and the $100 laptop on my blog. Alan's influence, even just with Smalltalk, has been immense.

What piece of software does Charles miss that would definitely be on my top ten? Lisp. The influence of Lisp has been tremendous. Even if you've never used it, the languages you use are better because of Lisp and the ideas it embodies. Some of those ideas have yet to be made widely available and account for Lisp's continued use. I interviewed Peter Seibel about his new book on Lisp earlier this year for IT Conversations. I was impressed with Peter's book. If you're wondering why people (like me) continue to make a big deal of Lisp, get the book and work through the first 4 or 5 chapters. You'll see some of the power of Lisp.

What piece of software or feat of programming would you put on the list?  

Topic: Tech Industry

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • email anti-theft software

    Email anti-theft software is crucial for personal and business use due to the frequency of such communications. One example is Taceo,, which allows the sender to employ anti-theft controls to disable copy/print/screen capture/forwarding of emails and attachments once they're in the hands of the recipient.
    This program in particular integrates with the Outlook toolbar (or can be used with other email applications, as well) so its easy to use for individuals and small businesses.
    Email anti-theft software prevents your personal information (account numbers? addresses?), creative artwork (graphic design samples?) or customer information from unintended distribution, which is crucial to protecting privacy.
  • A few thoughts

    I would not rate excel as highly as 9. Microsoft did some neat work, in terms of synthesizing and extending the ideas around at the time. The result was a breakthrough user experience that meshed well with other msoft products. Regardless of whether you question whether this constitutes great programming, my problem is that the results only really made a unique contribution for around five-years.

    Java might be slightly over rated, but is also the hardest to view objectively at present.

    Hard to disagree with the top three - although I would swap the top two.
    Peter Cowling
  • ASM COBOL BASIC Visicalc Electric Pencil

    The first Assembler invented symbolic computer languages. COBOL made computers a commerical instead of military tool. BASIC was the first language designed for non-engineers, and gave immediate feedback, plus provided the first 'object' the string variable - still in use. Visicalc was a new way to use PCs, and changed the PC from being a curiosity to a must have item overnight. Electric Pencil from Miachel Shrayer software was the first full screen word processing software on the PC (I think) and it was one of those things that made you go WOW when you saw it.

    By the way, the IBM 360/370 lives on - there are three of them in every Space Shuttle.
  • operating environments

    When I think of great achievements in software, what ranks highest on my list, though I'm no elder statesmen in this field, it would have to be the operating system used in the Xerox Alto, used as a prototype for the Xerox Star released later. The Alto was completed in the early 1970s. It had a GUI, it used a mouse, it could print to a laser printer (the size of a photocopier), it used ethernet, and it supported e-mail over a LAN. As best I can tell computers that average folks could purchase that had all of these features did not appear until 20 years later.

    A related achievement in my list would be the Mac OS. What was remarkable about it is the engineers at Apple managed to get a GUI to work, with a lot of features, with ease-of-use engineered into it, all squeezed into the confines of 128K of RAM. And Apple sold it at a price that while expensive was within reach to some consumers. Part of this is due to the fact that part of the OS was burned into ROM. Anyway, I admire the achievement.

    Another one I'd put on the list is the Amiga OS, Kickstart. It operated in a similar form factor to the Mac, and offered some of the same features in the GUI. What it added was pre-emptive multitasking. It was primitive. There was no memory protection, and no page swapping, but it basically worked. Supported by the hardware, it was able to offload graphics and sound tasks to separate processors, leaving the CPU to handle the data-oriented tasks. Some of this work in the hardware was based on work done by Jay Miner on the 8-bit computers Atari came out with 6 years earlier, whose hardware was designed in a similar way.

    Unix should definitely be in the list, but I'm less impressed with it than the operating systems I've described above. I'm biased. I'm not as into the infrastructure of the internet.

    I like Smalltalk, and am growing to like Lisp. They're certainly great foundational programming language technologies. Smalltalk is the canonical object-oriented language. Whether it's C++, Java, or Ruby, you can trace their object-oriented roots to Smalltalk. It's the first object-oriented language I learned, and I loved it. Too bad it didn't take in the business world. Maybe it'll make a comeback in the .Net world someday.

    It's true that some features of Lisp have over time worked their way into modern programming languages. Early CTP releases of Linq, a database language technology for .Net already incorporates pragmas, a language feature first found in Lisp. Dynamic typing, found in Smalltalk, Python, Javascript, and Ruby was also invented in Lisp.

    Some of my bias is showing here, but I'll go out on a limb and say that the .Net 2.0 CLR will be seen as a notable software innovation in years to come. The only reason I mention the CLR is that developers who have written modern programming languages, and have looked in detail at the newest CLR are saying it's an excellent multi-lingual (as in multiple programming language) platform.

    I think Linq could be another Microsoft/.Net technology of note, but I have a suspicion it'll be overshadowed by Ruby on Rails in terms of innovation.

    Another piece of software to watch in the future is Croquet, developed by Alan Kay and some others. It's a 3D UI environment that incorporates visual idioms for collaboration, and developing interactive environments. I think we'll see some of it incorporated into popular GUIs in the future. Both the Mac and Windows are already incorporating some 3D features into their GUIs. Expect to see more of it.
    Mark Miller