For those who don't know: I grew up in the Netherlands and emigrated to the United States in 2000. (EDIT: I just noticed I don't have an entry in the introductions thread, so let this be it
)
In the 1970s, when computers were rooms full of metal cases that some people had heard of but no-one had actually seen, I read about them in books from the library like the Dutch translation of the How and Why Book of Robots and Computers that Ed already mentioned. The first time I actually was in the same room as a computer was at a friend's house: his dad worked for the police and they had a PET-2001 at home. I wasn't allowed to touch it. My friend showed me that it could load programs (games such as Hunt the Wumpus and Space Intruders) from cassette tape. This must have been in 1978, when I was about 11.
When I was 12 and went from primary school to high school (I'll just call it high school for ease of discussion), I found out the school had a PET-2001 too. The only person in the school who used the computer was one math teacher (hello Mr. Verschuren). Sometimes he would have it sitting on a table in front of the class with the screen pointing towards him and away from the class, and he would work on it while the students were doing an assignment or a test or something. I was much more interested in the computer than in maths, so I tried to sneak a peek and figured out quickly that those line numbers were steps in the program, and there were statements like "if" and "goto" and "print" and "input". I didn't know about "for" or arrays so my first program that I wrote on paper to calculate students' grades was several pages long.
I don't remember exactly how it happened, but I somehow got permission to spend some time on the computer every once in a while (later on I definitely told some people that I had permission even if I didn't
). By now there was also a CBM 4032 and a CBM 8032 in the tiny computer lab, and they were still mostly unused, except by the math teacher and me. One or two older kids would sometimes come in and do some stuff with the Comal language which I didn't know or understand. I learned Basic from a book that I got from the library by a Dutch writer whose name (I think) was K.L. Boon.
The school had a copy of 101 Computer Games by David Ahl, and was also subscribed to PET Benelux Exchange (of which I can find almost no information online even though the Courbois brothers who ran that Dutch Commodore computer club and magazine were active for a long time; I think they ran a shop for Amiga software and parts in the 1990s). The library also had the Radio Bulletin magazine for which HansO wrote articles. All of these magazines and books provided plenty of source code to spend lots of time after school typing programs into the computer. At first I used one finger (plus one finger on the shift key but on Commodore keyboards you hardly needed the shift key at all for Basic programs), then two fingers. I learned a lot from those programs, although it was mostly similar to learning how to solve Rubik's Cube from a book: I learned how it was done but not why. That would come later.
The second computer language I learned was 6502 Assembly from the Rodney Zaks book which also has been mentioned already. I remember spending a lot of time reading through the book (the original English version, not a translation) while I was in classes that didn't interest me, such as biology.
The school got a Commodore 64 in 1983 or so, and by then, some kids that were younger than me had started appearing in the computer lab. I didn't think the C-64 was that interesting because I thought Commodore should have done more to adapt the Basic interpreter to the new features, or should at least have left the machine language monitor in there. I didn't know there was no space for an ML monitor, or for Basic 4.0 which I had grown very fond of on the 4032. I already knew a lot of stuff about the PET-2001 and 4032 (less about the 8032 - it was incompatible with all the games), and I didn't want to learn all the new stuff that the C-64 had to offer; I was never interested in games much so those sprites and sounds were just silly things to play around with, they weren't intended for anything serious. Besides, those new kids were nice but they always hogged the C-64, playing games and stuff. Most of them weren't really that interested in programming as far as I can remember.
By now, the school took the computers a little more serious too: there were some computer programs for educational use (including a sort-of game that would let you simulate building a company and all the challenges of entrepreneurship; they organized competitions against other schools in the area with that game), and the lab had moved to a bigger room. But there were still no computer-related classes as far as I know. Another maths teacher asked me if I wanted to teach the kids in my class some things about computers during the last 5 minutes of one hour a week, and I did. I told them some things about Basic but I think most of them enjoyed it only because it made the math hour 5 minutes shorter
.
In that time, my dad was working for the municipal automation department, and they had some open-door days. I remember being in awe of all the big computers they had (IBM mainframes, probably S/360's but I don't know for sure). VDU terminals, punch card machines etc. The first IBM PC's started appearing, and in 1984 my dad brought one of the first IBM PC's home so he could work on it (and so I could work on it too, after I finished my homework of course). I think he figured he could keep an eye on me instead of letting me be at the computer lab at school. The IBM PC changed to a PC/XT with a whopping 10MB hard disk (of which I was allowed to use 1MB in my own directory). I started learning what this thing could do, and typed a lot of listings from PC Magazine which my dad brought with him from work. My dad didn't do any programming at work except for writing Lotus 1-2-3 and Lotus Symphony macros. But he made sure that I had the DOS Technical Reference, the PC/XT Technical Reference (with BIOS listings), the IBM Macro Assembler, the IBM Pascal Compiler and all the other information that I needed to understand programs in the back of the American PC Magazine (which was more than a centimeter (half an inch) thick back then).
I also started modifying programs and making my own versions. For example PC Magazine produced a program that let you navigate directories and copy files, and another program that let you open text files and show them on the screen (without editing them), and I combined the two into one program that was very useful to organize a hard disk in the DOS days. It was called SV (for SuperVisor) and I let my dad take it to work with him. He told me a lot of people used it, and they installed it on PC's that they installed in the various municipal departments. I did summer vacation jobs at the place where my dad worked twice, when I was around 18. This was awesome, and I learned all kinds of things about how IBM PC's arrived in separate boxes, and how to assemble them, and which DIP switches to set, how to write CONFIG.SYS and AUTOEXEC.BAT files, how to create batch-file based DOS menu systems etc. Great times!
Around that time, I graduated from high school and the world was changing to PC's too, so my 6502 days were over (for the time being, anyway). I had never owned a Commodore but I still have fond memories of learning to type on a PET-2001 keyboard, and not liking the PC keyboard at all. Why the beep would you put all the numbers on the right, AND on top, but make it necessary to hold Shift to type a double quote??? When Num Lock was on, I thought, the keys on the right should be numbers and the keys on top should just be !"#$%^&*() or whatever, just like the Commodore keyboard, so that you could type Basic programs almost without using shift. I learned 10-finger typing around that time, just by doing it.
My dad changed jobs and started working for Philips, and this eventually got me the first computer I actually owned and could put in my bedroom, in 1988 or so: a Philips P3102 (PC/XT compatible), followed by a Philips P3316 (not sure about the type number; this was an 80386 computer at 16MHz that took 20 minutes to compile Hello.cpp in Visual C++ 1.0).
The first computer I actually bought, around 1992 or so, was a motherboard with a 486DX at 80MHz which I later upgraded to a DX4/100 processor; I built the motherboard into the Philips 386 case. It was a large desktop case that I used as a tower, and (somewhat amazingly) there was enough space for two MFM hard disks (one 5.25", one 3.5"), a Sony CD-ROM drive (which was twice as fast as the hard disks at 300KB/s!), a 5.25" floppy drive and a 3.5" floppy drive. I also bought a Commodore Amiga 500 around the same time, from a house mate, and hacked two MFM drives to it, which I talked about in a comment to
this G+ post yesterday. I didn't get back into the 6502 until 2007 or so when I found out about this website, and Vince Briel's shop at brielcomputers.com and the fact that I must have passed by the Western Design Center office literally hundreds of times when I dropped my wife off at her job just before that, without knowing that that was the home of the 6502 now.
===Jac