By Ed Buzza, Tampa PC Users Group
I remember my first 286 PC from Leading Edge. I remember, with a secret smirk, how powerful MY machine really was. Why, there was a switch to adjust the speed of the processor. What a charge to jack that switch up to "turbo" mode; yeah, man, I was cruising.
You'd try 10 MHz and it would run most programs. There were some where you had to step it down to 8 MHz for them to run properly. And then there were some where you had to crank down the PC to 6 MHz. These were the game programs that depended on timing by using an instruction loop. Like you'd put a number in a counter and subtract 1 each time you went through the loop and kept checking for zero. And that's how they'd time the program for showing objects on the screen or moving icons, etc.. Later, this method was abandoned since the PC speed kept getting faster and faster and soon an internal clock/timer was available to programmers.
Note in the above sentence that the use of two m's in programmer is a sign of an old timer. Old - like mid-1950's!! The first computers were monsters in size. The old ENIAC took up the space of a large garage. In the IBM 702, cathode ray tubes served as memory components. The IBM 705 used ferrite doughnut cores as memory. They were small but still large enough that the charging and sensing wires were actually threaded by hand. A 20K (yup, twenty thousand) core box was about the size of one of those containers the county used for recycling stuff.
Now 20k was pretty daunting to program. You learned to put your housekeeping routines in the I/O areas reserved for your working files. Then, after you'd done the housekeeping and you'd set up the machine for your program, you "abandoned" the code that was in the I/O areas. Sort of like putting socks and hankies and stuff inside of shoes when packing for a trip.
Later, we (Social Security Administration) were offered 40k of memory in the 705-II. Now we could breathe. Do all kinds of fancy stuff. Soon, IBM upgraded (even way back then, computers were being upgraded on a very fast time table) and offered us the 705-III with 80k of memory. We refused it! At the time, we didn't need it.
Then, when the micro-computers, the original personal computers, were introduced, it wasn't long before they too joined the upgrade merry-go-round. Like the story about the chicken and the egg, you wondered which came first, bigger and faster PC's or bigger and hoggier programs. Needless to say, that question has never been answered.
As on the main frame (affectionately called "big iron"), the first PCs were programmed in a symbolic language that was just one step up from actual machine language. People took pride, and were rewarded, for "tight code". That is, "doing the mostest with the leastest". Soon their bosses, always concerned with the "bottom line" figure of profit, were demanding faster delivery times for programs.
That lead to the so-called higher language programming, assemblers and compilers like FORTRAN (FORmula TRANslation), arguably the first higher language, COBOL (COmmon Business Oriented Language), and then the rest such as Jovial, Pascal, etc. While it made life easier all around for the programmers and the bosses, it sure did take up a lot more of the computer resources like memory and created the need for big disk drives.
So what used to be a 40-60k routine or program suddenly became a bloated giant needing ten and twenty times as much in memory and disk requirements. Sure, some will say that with today's prices and availability of huge memory and disk space, all that is irrelevant. But do we really need a twenty ton semi to haul the garbage can from the backdoor out to the curb?
My next PC will be a 700 MHz Pentium III. Can you imagine that speed? Way back on that old 286 (in turbo mode at 10 MHz) my typing speed was about 40 words per minute. I know that with the new 700 screamer my typing speed will STILL be 40 words per minute. And I will have acres of hard disk space to store my 15-20k word processor files which, if stored in ASCII, will only take up 3-4k of space. u