It all started around 1986 (when I was 13) when my dad bought me a Sanyo MBC-16 PC. It had an Intel 8088 processor running at 8MHz (compared to the 2000MHz Intel Core Duo I am using now), 640kb of RAM (I now have 2,000,000kb) and ran MS-DOS 3.22.
One nice “feature” of that PC was that it came with two floppies only (it didn’t have a hard disk). The first floppy contained the operating system and the second one was GW-BASIC.
GW-BASIC (do you know what GW means?) was without doubt the reason I became a Computer Scientist (so, thanks Bill!). Remember, I bought that PC when I was 13 and the only way for me to play was to write my own games. So this is what I did. I wrote numerous Space Invaders clones and I wrote my own version of Tron with a very slow collision detection algorithm…
I had one friend at Royal College Curepipe who was also a computer maniac. I think his name was Harry and he died when we were still in college… Anyway, one day he gave me one floppy containing one executable: turbo.com
I went home and ran it. It was Turbo Pascal 1.0 and I couldn’t program anything as I didn’t know the Pascal language. I did what all good geek would do: I looked inside the executable and I found a data segment containing all the Pascal keywords (program, var, type, writeln, etc.).
I guess I tried all kinds of combinations for days until I became a fairly good Pascal programmer. I then wrote my own Mastermind game. I also fondly remember typing a maze-generating and -solving program I got from SVM magazine. Those were the great pre-Internet and pre-Google days where you really had to be motivated to learn something new…
This PC had two graphical modes: one was 320×200 with 4 colors out of 16 and the other one was 640×200 monochrome. This was the CGA standard.
As the color palette was so limited (4 out of 16 colors compared to the 16,777,216 we have today), games tended to look the same :-)
I fondly remember King’s Quest I by Sierra and Karateka by Jordan Mechner:
My next computer was a Commodore Amiga 500 but I’ll write about it in a future post…
Eddy Young says
I had the same model of computer. Unlike you, I never programmed in TP in earnest until I started working (then Delphi 4.0) — I was too used to GW-Basic (GW? Something to do with graphics/windows, I think). I could never get TP out of my head, though. The code structure looked great compared to Basic’s numbered statements, but since it was an academic language at the time, all the manuals that were available were very dense and intimidating for a self-taught. So, I learned dBase3 instead.
The SVM listings were great. I remember spending hours typing in the code to an artificial neural-network. When I finished, I decided I had to learn how to touch-type.
Played the same games, too. Since these games were passed around, there were no manual, and hours would be spent just trying to figure out how to play them. Not to mention the countless viruses that were being disseminated!
Nice post, Avinash. Brings back good memories.
avinash says
I still fondly remember the Brain virus. You’ll notice that I contributed the screenshot on that Wikipedia page: it was a picture I took of a dump of the boot sector of an infected floppy.
And, no, GW does not mean Graphics/Windows :-)
Eddy Young says
From Wikipedia:
I said “graphics/windows” because it’s what I read in a GW-Basic book eons ago. Surprising that the answer is much more mundane than that :-)
Central Point PC Tools or Norton Utilities? ;-)
chervine says
I’m happy i’ve not live these ‘bad times’
..Actually i think i been born in a very very good time/era..We have Very user friendly interfaces (not the black background with white text), blogs,Internet, Extra powerful computers, Very realistic computer games, multimedia players, extra cool mobiles/smart phones!! And much more is to be seen! Surely,(‘mo lepok pli serye qui zot”!!)
selven says
I bought that PC when I was 13 and the only way for me to play was to write my own games. So this is what I did. I wrote numerous Space Invaders clones and I wrote my own version of Tron with a very slow collision detection algorithm…
the missing part and what is itching my curiosity is how did you get into game programming when you just got a computer and 2 floppies for the first time? Were you still 13 when you wrote those games? Was there a GW/Basic manual along?
I looked inside the executable and I found a data segment containing all the Pascal keywords (program, var, type, writeln, etc.).
I guess I tried all kinds of combinations for days until I became a fairly good Pascal programmer.
Hmm :s how the heck can someone learn all those small tihngs like syntax and rules of the language just by looking at the data segments and trying out all possibilities, you must be horribly lucky!
Hmm i am curious as to how you figured out about the assign part in pascal, i.e the ‘:=’, since most ppl would think of only ‘=’. Damned if i were you i would have bought some lottery ticket first before trying that. Hmm, that’s horribly leet for a 13 year old kid to do and to try all those possibilities :p.
*joke: hahahaha, i believe that’s partly the reason for hairloss*.. hahahahahaha, reminding me of the avinash with hair contrasted with the normal avinash..hahahahahaha.. huh, okay that was a bad joke, couldn’t resist.
But definitely, learning pascal that way is uber leet.. (amazed)
+$3|v3n
David says
Ah! 4 color CGA graphics…Fond memories… :)
I also had a Sanyo PC (80286). It was actually my second IBM-PC clone (so weird to use the term “clone”…no one ever uses it anymore!)
I still remember the Brother matrix printer pictured above. My dad had one too!
My first step in programming was in BASIC on an Oric-1 when I was in primary school. Very simple things like For loops, If conditions, Goto, Gosub, Poke, Peek…When I was in high-school, I got an Amstrad CPC6128 for my birthday. Learned a little bit about CPM, machine code, assembly language. It was only at tertiary level that I got to learn Turbo Pascal, C and C++…Loved it! But sadly, I never really made a career out of programming (although, I did experiment a bit with Objective-C on Mac OS X…just for fun)…
Always dreamed about having an Apple II or Macintosh, but they were way too expensive at that time. Had to settle for an unbranded taiwanese 8086 PC Clone with 2 floppies (BTW, anybody still have those old 5.25” DS/DD floppies lying around?). It was only in 1997 that I got my first Mac.
The BRAIN virus was really ‘cool’!! ;) Had a friend who used to collect virus…PC Tools, Norton Utilities, Stacker, RAM doubler…so many great utilites…I still remember those pre Windows days, with Expanded/Extended memory managers (EMM386, HIMEM)…Autoexec.bat, config.sys… :)
avinash says
To Selven:
Seriously. I learned Pascal by trial and error. I was fortunate to have Turbo Pascal which had nice error messages…
The toughest part was not := actually. It was the syntax for pointers…
To Chervine:
Yeah. But I still believe that those who started with those “primitive” computers were lucky… It was great to have different people bragging about their very different computers: Oric Atmos, Amstrad CPC and PCW, BBC Micro, Thomson, Amiga, Atari ST, C64, C128, Sinclair ZX spectrum, PC, whatever. Sometimes the discussions became very passionate. And very very highly technical. Now I understand why I founded LUGM and why I like (from time to time) to come to a LUGM meeting, the atmosphere is the same (except that I am much older now…)
I was having fun with Gilles Granger the other day as he was an Atari ST user when he was young as I had a mighty Amiga 500 :-)
selven says
“have Turbo Pascal which had nice error messages…”
:p basically hacking into pascal..lol
Hearing all those old machines i have never seen reminds me also that i have been using my own computers for learning when I had a crappy computer and a crappy bandwidth (old for me but probably old for you guys means Jurassic period), When i got a powerful computer with a good graphic card + cdrom, computers became mostly porn+games.
If i had sticked with my 386 and console i would probably not have gotten sick.
+$3|v3n
David says
I have to agree with Avinash, people using home computers in the 80/90’s era were in a sense lucky. In the pre-Internet age, the amount of technical information was so scarce, you had to go to bookstores and libraries to find magazines and books. It was really learning to program the hard way…by trial and error mostly…But it so much fun meeting and exchanging ideas with people who felt so passionate about their gear…The kind of friendly-rivalry between users of different machines/architectures that is sorely missing these days.
You really had to be a nerd spend hours in front a low-resolution screen, coding hundreds of lines, just to have that little sprite walking across your screen!! Or even use a soldering iron to build your own data cables from pinouts…
The Amiga 500 was one hell of a machine!! Superb graphics and powerful 32-bit processor and DSPs…I still remember those Trackers and Demos. Too bad Commodore dropped the ball. The OS was soooo far ahead…I doubt they will ever make a comeback, even with their upcoming OS5.
The Atari ST, on the other hand, was “The Mac for the poor”…I had so many great applications. I wanted to have one just because it had integrated MIDI ports and could run Pro-24!
David says
Avinash, do you still have your Amiga 500 in working condition?!?
Eddy Young says
Selven,
Actually, it’s quite possible to learn programming by trial-and-error. I did the same with BASIC, only I referred to some sample programs that were on the MS-DOS discs.
Talking about MS-DOS, when I got my first computer, there were the MS-DOS disc and the BASIC disc. I kept wondering why the manual instructed not to format the MS-DOS disc (while at the same time stating that new discs should be formatted) until curiosity took over and did just that. Gee, the trouble that I had to go through to get another MS-DOS disc — not many people had computers at that time, mind you.
–Eddy
avinash says
To David:
I lent it to a friend who was doing video editing (or, more precisely, video titling) around 10 years ago and that friend never gave it back to me.
I must ask him :-)
selven says
lucky era that was :(
Adarsh says
1986…I was one at that time…not something on which I know much about(Lepoq mangoz sa..:))
Sometimes. I wish I could have the experience of people of that era, the hardship you people undergo to learn to program..comment dir learning the hard way to have fun with a game…maybe writing the game itself is something more fun that actually playing the game, which nowadays would be a silly one(that was my case for my gfx assignment).
Well about me, I did not had a pc when I was 13,during college time, I only did computing studies up to form 3, no experience about programming,we(i am refering to me) were just taught how to use a word processor, things like thats as you would have already guessed was boring.Infact, thought having supposedly learn computer for three year at college, I still did not know to use a computer(compared to the way i do now),maybe that was one of the major reason why i did not do computing in Sc or Hsc, moreover my parent could not afford to buy me a pc for me to “play around” and neither did any of my near family had a pc….so basically there’s would have no possibilty for me to learn programming( I wonder if ever I even knew about the word.
I’ve got my first pc about five years ago(this november will make it five),hein actually it was bought for my brother in order for him to do his assigments(I was in lower Six at that time). It was now the time for me where I could really say that i know how to use a pc.Needless to say, like you wanted to play game, I too wanted to play game
(mo osi mo ti zenfan) but the only difference betwwen your era and mine is that lot of games were easily and cheaply available, so there was no need for me to learn to program as pastime.
I was introduced to programming only at the university and as most of you already know, C++ is my first programming language(maybe why sometimes I prefer C++ to do some of my assignment
especially the OR ones…thought sometime I wonder if I know how to program)…along came java,C,VB(if we call that a language),ruby,etc…and now erlang.
Oops, I hope I have not been too much out of subject(that was just the way i see things).From your time and now, lots of thing have changed.You learn to program so as to play games but now lots and lots of game are easily availble, so why would any learn to program to play game.Moreover, with the internet(where lots of youngster spending their time on communities site like facebook among others) and mutimedia facilities available, I don’t see any normal human being who would strive to learn the hard way to make a simple and silly game for fun…unless you are learning these stuffs for your academics..
Who now cares how the watch work as long as it gives us time unless you are a watchmaker..
this is what technology for…to ease the life of common people(I mean the non-scientist folk)…to save them from learing the hard way..
Hope have not been too much out of subject
avinash says
Nice comment Adarsh.
Don’t worry about starting late in the 2000’s :-) You are going to be a great programmer because you LIKE programming. Thanks for mentioning Erlang. It a fantastic language: easy to use and incredibly powerful especially for doing concurrency.
Those who DO NOT LIKE programming, of course, will have (or are having) a tough time doing CS. And this is perfectly as expected. In fact, in many universities, they would not have passed the first semester and would have moved to something else. Which unfortunately does not happen here in Mauritius.
This year I’m teaching Programming Languages for the first time and some (bad) students are already telling their friends that they are going to fail BEFORE actually having followed one lecture with me! Those (bad) students with such a pathetic mentality and fright of programming should never have chosen CS in the first place…
vicks says
@ avinash
seems you made yourself a notorious reputation among some students lol..
during my time at uom, PL is one of the most interesting module i’ve done.. another nice thing about the module was that the paper was entirely set about the labworks so basically learning something by heart didn’t work :)
PL is a quite heavy module for students but am sure you’ll come up with something to make the class interesting as usual..all the best for next semester..
avinash says
Thanks :-)