A. About computers I used
Here I am speaking of hardware, and I am mainly listing computers I have worked with:
- mainframe IBM in the early 1970ies, briefly
I've also seen this computer, but the actual programming of that day consisted in writing code for punch-cards in Algol or Cobol, handing this to the technician who took care of the computer, and wait for a line-print of the output.
In the late seventies a friend bought a SIM-computer - which was in effect a motherboard with some chips and other electronics, with a LED-screen on it, for 8 characters or numbers.
To program it, on had to write machine-code for it. This was theoretically interesting, but not productive, and also expensive, since it cost much more than a Texas-Instrument electronic calculator of the day, while it could do little more.
Around 1980 the same friend, after discarding the SIM, bought an early Apple. This came with a 14 inch green on black screen; one could code AppleBasic for it and see the results; and one had to store the programs one wrote on the tape of a cassette-deck.
This was quite amazing and it also allowed one to do things that were more difficult to do on paper, such as - in my case - drawing and calculating truth-tables for propositional logic.
In 1987 a girl friend who had a father working for Philips as a middle manager got his Osborne, that dated from 1982 or 1983, which was one of the first computers that were meant to be laptops - i.e. computers one could easily carry around when travelling.
In fact, the Osborne when packed for travelling looked like a hefty sewing machine in its box, and when unpacked had a keyboard and a 4-inch screen, though one also could connect it to a screen like the Apple used.
This machine ran CP/M, and came with Visicalc and Wordstar. Visicalc was one of the earliest spreadsheets and Wordstar one of the first text-editors. Both were amazing, and made the Osborne a really productive tool.
Its memory was 64 or 128 Kb (I forgot), minus what CP/M needed, and I think its processor ran at 0.6 Mhz, but it was a great introduction to personal computing.
The Osborne was rapidly followed up 1987 with a Philips with all of 256 Kb of memory and an early DOS operating system.
This was the first PC-clone I worked with, and it was more powerful and faster than the Osborne, and also ran more powerful software, but the early graphics was awful: Very big pixels in 4 ugly colors.
This again was rapidly replaced by several other Philips PC-clone, ending up with
which did have 640 Kb of memory (minus what DOS 2.1 needed) and a 20 MB harddisk.
The graphics was not as awful as on the earlier Philips, but still not really pretty or much use, but this computer could run Lotus, Paradox, Quattro, dBase III Plus, and any other program that made the PC useful and productive, and also could run DesqView, which gave the illusion of multi-tasking in DOS.
In the university I had some experience with early Macs (rectangular boxes with rather small black and white graphics screens) but I never got my own Mac because it was expensive.
Then the internet arrived, and I got a 486 computer, which was replaced in time by a Celeron or Pentium clone and another.
These were bought to run Windows95 and Windows98, which were the first graphical systems (as opposed to text-based) that Microsoft produced that one could productively work with, and that got popular very rapidly with PC-users because of the internet and because of the much more pleasant looking interface.
The main problem with Windows95 and Windows98, regardless of the hardware these ran on, was that these crashed often and unpredictably, and also regardless of what one did.
I used variants of Windows95 and Windows98 from 1995 to 2002, and hardly a day passed without a few crashes. This was annoying, and could be very annoying. Thus, when trying to program some Java in Microsoft's very own J++ around 2000, this crashed Windows98 and trashed 45 MB of data on the harddisk, which took a lot of time to recover from (and quite a lot was permamently lost).
At present and since five years I mostly use a Hewlett Packard computer with Windows XP, which is a combination that, for the first time with Windows, is rather stable (it rarely crashes) and that has been free for years from major bothers due to the hardware or the OS.
This is not a powerful machine anno 2007, but it runs at 1400 Mhz, has 256 Mb memory, and can show films and write CDs - which when compared to the Osborne I started serious computing with in 1987 is an enormous difference.
And it is an interesting fact, that illustrates both Moore's law and free market competition, that ever since the Philips 286, the price of a new computer that I bought was lower than the price of the previous one, whereas its capacities in terms of processor speed and internal memory were usually at least double of the previous one.
B. Hardware knowledge
I am no gadget-freak and never was one, nor am I interested in hardware per se or in tinkering with it, but it is good to have some knowledge of the hardware one uses. Here is a commented list of some books I have found useful over the years.
What I am concerned with is knowledge and understanding of some general principles involved in hardware, and it so happens that I found the following relatively dinosaurian books quite useful:
- Digital Computer Basics - Prepared by the Bureau of Naval Personnel
This is a training course for U.S. Navy Personnel, that was printed by Dover Paperback in 1969, and that has the great merit of explaining the basics really clearly. It is about mainframes, but this does not matter in principle.
- Home Computers: 210 Questions & Answers - Volume 1: Hardware - Rich Didday
This text is from very really early days, since it is from 1977, but it is quite good and clear, and also gives a taste of what "home computing" was like around 1977: It needed a lot of careful soldering and patience by the user.
I mention these texts because they helped me, and because they are - still! - quite good about the basics, that indeed has not changed in principle ever since Von Neumann designed the outlines of a modern electronic computer.
The above two books are mainly practical apart from explaining binary arithmetic, basic programming etc., but the next two books give some basic knowledge of principles.
- Assembly Language from Square One - Jeff Dunteman
This is from 1990, and is a good introduction to Assembly for those who know little or nothing about it to start with.
If you want to understand the basics of what a computer can do, you have to understand some Assembly, and this book explains the very basics quite well.
- Computation: Finite and infinite machies - Marvin Minsky
My edition dates from 1972, and is a very clear introduction to the science of computing as far as mathematics and logic are concerned: It explains what a computing machine is, mathematically speaking.
This does not give one hardware knowledge properly speaking, but it does explain very well what the computing hardware one uses embodies in principle.