The Greatest Software Ever
soldack writes "Information Week has an piece on the 12 greatest pieces of software ever. It also notes some that didn't make the cut and why. Their weblog covers 5 others that didn't make the cut."
← Back to Stories (view on slashdot.org)
I agree that it is simply amazing how few bugs there are in Tex. I do not think this is due to the fact that Knuth was paying people who found bugs. Rather, I believe the quality of TeX is due to Knuth's genius, and also not in small part to his idea of "literate programming".
There are better ways to put it, but in essence, literate programming means that you are supposed to write text that explains the algorithm or process; the code is like actions intersepsed in the text, but in a sense, the main product is the text, not the code.
I try myself to follow this style, having code that either reads obvious, or having large comment sections that explain what is going on, and all the background assumptions, so that the code is then obvious. It certainly had an influence on the amounts of bugs in my code, not to mention in my coworker's ability to understand what is going on.
In this respect, I believe a lot of OSS is sorely lacking. And the pity is that they lose developers in this fashion. As a personal story, some time ago I wanted to develop a plugin for Gimp to implement a particular effect, something I used to be able to achieve with a chemical darkroom. After three hours of staring at the code, and not being able to figure out for certain how to get to the pixels of an image, I gave up. I remember staring at hundreds of lines of C code, written in poor style, with very few comments (and what comments there were explained the obvious, instead of the background and the assumptions of the piece of code).
-
IBM's VM operating system. (1972) OS/360 was a nightmare, and not even the best OS of its era. Burroughs and UNIVAC were way ahead in operating systems in the late 1960s. VM, though, had paging, good security, hypervisor capability, and good performance. In the 1970s. And it's still in use.
-
Backus' FORTRAN compiler (1957) The first good compiler. Optimizing, even. Better code generation than anything running on UNIX prior to the mid-1980s.
-
QNX (1980) The first really good microkernel OS. Still in use, deep inside railroad signalling systems, machine tools, and nuclear reactor controls, where it has to work.
-
NLS (1967) The first system with a mouse, windows, and a GUI. It took a mainframe to make it go in 1967, but all the key ideas were there.
-
AutoCAD (1982) This is the program that replaced the drafting board. Huge increase in productivity. Ever ink in a drawing by hand? Redraw a drawing to make changes? Engineering companies used to have acres of people doing that stuff. No more.
-
Bravo (1974) The first what-you-see-is-what-you-get text editor. Multiple fonts. Ran on the Xerox Alto. The ancestor of all modern word processors.
Those are older examples, each a major advance over previous technology. As the technology becomes more mature, the advances become smaller, but more widely deployed.Tell me about. I remember 20 years ago when young lady was just getting into email she ask me if a virus could be spread by email. I just laughed and said no, it would never happen. It would require that email readers have the ability to execute code passed to them, and nobody would be stupid enough to write a mail program that would do that. Execute code passed to it from anyone.
Supporting World Peace Through Nuclear Pacification