Linux is Evolution
In my past life (ok, about 34 years ago) I was a Systems Programmer. I worked for what was the world's largest independent software company, Computer Sciences Corporation. In 1972 I moved to Richland, Washington to do systems programming work for the Hanford Nuclear Reservation where CSC had the contract to run the computer center.
This was back in the time of card punches and multi-million dollar mainframe computers. One of my responsibilities was to upgrade and maintain what was called the "premium billed library". This was a set of programs running on a Univac 1108 mainframe where the users were charged a royalty to pay for the cost of the software.
Possibly the most important program in that library for Hanford was NASTRAN, a structural analysis program. It is important for building bridges and airplanes but more important when building nuclear reactors.
Fast forward to today. I was looking through Desktop Engineering, an industry print magazine. I see an ad for NASTRAN. It starts with
Why pay more? NASTRAN for Less Than $1000
I had to take a look at the information. Sure enough, it was the same NASTRAN, minus the card deck input for data and minus needing to write a "plot tape"--a magnetic tape with output data to be processed by a stand-alone plotter system. It, of course, runs on a desktop computer.
Before you ask, no, there doesn't appear to be a Linux version yet. But, if you are an engineer you might want to look at ANSYS. ANSYS is a simulation program that used to run only on big iron as well. Today, there is a Linux version.
While I was still working at Hanford I bought a $400 microcomputer kit. It was made by SouthWest Technical Products and sported a 2MHz 6800 processor and 4KB (yes, four thousand bytes) of RAM. I later added a cassette tape interface that talked to two audio tape recorders to record and play digital data at 30 characters per second.
When I was done buying pieces (the CRT terminal I bought cost more than the system) I had spent more than I spent on my most recent Linux laptop. It was a toy. I knew it and I knew NASTRAN would always run on multi-million dollar hardware.
My point is that computers are young. While today's new automobile is not significantly different from one of 35 years ago, computers certainly are. What you could expect to do on less than $2000 worth of hardware has made amazing strides and will continue to make amazing strides for quite a few years more.
Jumping over to the Linux track, we can only see a bit less than 15 years of history. But, the design of Linux is based on the ideas of UNIX which is a couple of years older than my NASTRAN experience. UNIX was designed to run on minimal hardware (meaning only costing tens of thousands of dollars up into hundreds of thousands). The standard input/output device was a teletypewriter that worked at 10 characters per second.
By 1980, when I got in to UNIX, we had progressed to hardware that was a bit faster and a bit cheaper and CRT terminals (that cost over $1000 each) that operated at about 1000 characters per second.
In another dozen years we saw Linux appear. It ran on "cheap" computers meaning a few thousand dollars. It started out as a text-only system but it was quickly modified to work with the MIT X Window System. Graphics on that cheap little computer.
While X (standard shorthand for X Window System) offered graphics, it was clunky for applications programmers. You can still see some of the old X programs if you look hard--Xfig, a program to create graphics is a good example. As an aside, the person responsible for getting X to work on Linux was a Microsoft employee--see my interview with Orest Zbrowski from Linux Journal in 1995.
The next evolution was what we call desktop environments. KDE is an example. GNOME is another. They each offer interfaces for applications designers and toolkits (Qt for KDE, Gtk+ for GNOME) that offer a well-defined and standard way for applications to use the graphical abilities.
Each year we see these environments evolve. That evolution includes more features. More features mean more memory and more CPU resources. The good news is that hardware evolution has made this possible. If we look back at that multi-million dollar Univac 1108 mainframe it filled a room and has 256 thousand words of RAM (about the same as one megabyte. It did less than one million floating point instructions (1 megaflop) per second. Those working on NASTRAN in the early days could only dream of a machine with the capabilities of my laptop.