• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Noulakaz

Noulakaz

The blog of Avinash, Christina, Anya and Kyan Meetoo.

  • Home
  • About
  • People
    • Christina & Avinash Meetoo
    • Avinash Meetoo
    • Christina Meetoo
    • Anya Meetoo
    • Kyan Meetoo
  • General
    • News
    • Mauritius
    • Politics
    • Education
    • Business
    • Travel
  • Computing
    • Apple
    • Linux
    • LUGM
    • Programming
    • Web
    • Technology
    • Knowledge Seven
  • Entertainment
    • Music
    • Movies
    • Photography
    • Sports

How I became a programmer

10 October 2007 By Avinash Meetoo 18 Comments

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…

Filed Under: News, Programming, Technology

Reader Interactions

Comments

  1. Eddy Young says

    10 October 2007 at 13:34

    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.

  2. avinash says

    10 October 2007 at 15:27

    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 :-)

  3. Eddy Young says

    10 October 2007 at 15:45

    From Wikipedia:

    The initials “GW” may have been named after Greg Whitten, an early Microsoft employee who developed the standards in the Microsoft basic compiler line. It is also purported to stand for gee-whiz. Greg Whitten is not certain on this matter.[1] An alternative theory is that “GW” stands for “Gates, William”. [2] Another common expansion is “Graphics and Windows”, as neither feature was supported by BASICA.

    The MS User Manual from MS Press for GWBASIC states that GW stands for Gee Whiz.

    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? ;-)

  4. chervine says

    11 October 2007 at 00:29

    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”!!)

  5. selven says

    11 October 2007 at 01:02

    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

  6. David says

    11 October 2007 at 13:22

    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… :)

  7. avinash says

    11 October 2007 at 21:59

    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 :-)

  8. selven says

    11 October 2007 at 22:45

    “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

  9. David says

    11 October 2007 at 22:57

    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!

  10. David says

    11 October 2007 at 22:59

    Avinash, do you still have your Amiga 500 in working condition?!?

  11. Eddy Young says

    11 October 2007 at 23:55

    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

  12. avinash says

    12 October 2007 at 15:49

    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 :-)

  13. selven says

    12 October 2007 at 18:12

    lucky era that was :(

  14. Adarsh says

    12 October 2007 at 22:02

    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

  15. avinash says

    13 October 2007 at 08:41

    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…

  16. vicks says

    14 October 2007 at 22:37

    @ 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..

  17. avinash says

    15 October 2007 at 18:21

    Thanks :-)

Trackbacks

  1. Avinash Meetoo: Blog » Turbo Pascal 1.0 is 25 years old says:
    10 November 2008 at 18:42

    […] How I became a programmerDay 7: Back to Mauritius and some thoughts…Functional programming to save the world […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Our Personal Websites

Avinash Meetoo
Christina Meetoo
Anya Meetoo
Kyan Meetoo

Related Posts

  • Turbo Pascal 1.0 is 25 years old
  • Kyan playing simple Flash games
  • How to become a great programmer
  • Creativity in Programming

Random Posts

  • Testing Technorati
  • Holi festival
  • My Top 20 Posts on Noulakaz.net as decided by YOU
  • Should the Government promote open-source software?

Archives

  • June 2025 (1)
  • May 2025 (3)
  • April 2025 (4)
  • January 2025 (3)
  • December 2024 (2)
  • November 2024 (2)
  • October 2024 (3)
  • September 2024 (7)
  • August 2024 (1)
  • July 2024 (1)
  • June 2024 (2)
  • May 2024 (3)
  • January 2024 (2)
  • December 2023 (1)
  • October 2023 (1)
  • September 2023 (4)
  • August 2023 (3)
  • July 2023 (1)
  • June 2023 (4)
  • May 2023 (1)
  • April 2023 (1)
  • March 2023 (5)
  • February 2023 (1)
  • December 2022 (1)
  • November 2022 (1)
  • October 2022 (4)
  • August 2022 (4)
  • July 2022 (3)
  • June 2022 (5)
  • May 2022 (5)
  • January 2022 (3)
  • December 2021 (2)
  • November 2021 (1)
  • October 2021 (1)
  • September 2021 (4)
  • August 2021 (2)
  • July 2021 (14)
  • May 2021 (2)
  • April 2021 (4)
  • March 2021 (9)
  • February 2021 (2)
  • January 2021 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (2)
  • July 2020 (5)
  • June 2020 (3)
  • May 2020 (5)
  • April 2020 (6)
  • March 2020 (2)
  • February 2020 (2)
  • January 2020 (2)
  • October 2019 (1)
  • September 2019 (2)
  • July 2019 (2)
  • June 2019 (1)
  • May 2019 (3)
  • April 2019 (2)
  • March 2019 (1)
  • February 2019 (1)
  • January 2019 (3)
  • December 2018 (1)
  • October 2018 (3)
  • August 2018 (2)
  • July 2018 (2)
  • June 2018 (1)
  • May 2018 (2)
  • April 2018 (1)
  • February 2018 (1)
  • December 2017 (1)
  • October 2017 (1)
  • September 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (4)
  • April 2017 (3)
  • March 2017 (4)
  • February 2017 (5)
  • January 2017 (3)
  • October 2016 (1)
  • September 2016 (1)
  • August 2016 (4)
  • July 2016 (1)
  • June 2016 (1)
  • March 2016 (3)
  • February 2016 (3)
  • January 2016 (1)
  • December 2015 (1)
  • November 2015 (2)
  • September 2015 (1)
  • August 2015 (3)
  • March 2015 (1)
  • December 2014 (1)
  • November 2014 (4)
  • October 2014 (1)
  • March 2014 (2)
  • February 2014 (3)
  • December 2013 (1)
  • October 2013 (1)
  • September 2013 (1)
  • August 2013 (1)
  • July 2013 (1)
  • June 2013 (2)
  • May 2013 (1)
  • March 2013 (3)
  • January 2013 (2)
  • December 2012 (3)
  • November 2012 (4)
  • September 2012 (3)
  • August 2012 (2)
  • July 2012 (3)
  • June 2012 (2)
  • May 2012 (1)
  • April 2012 (2)
  • February 2012 (1)
  • January 2012 (4)
  • December 2011 (2)
  • November 2011 (1)
  • October 2011 (4)
  • September 2011 (2)
  • August 2011 (1)
  • July 2011 (2)
  • June 2011 (4)
  • April 2011 (7)
  • March 2011 (2)
  • February 2011 (1)
  • January 2011 (3)
  • November 2010 (3)
  • October 2010 (1)
  • September 2010 (2)
  • August 2010 (4)
  • July 2010 (2)
  • June 2010 (1)
  • May 2010 (3)
  • April 2010 (4)
  • March 2010 (3)
  • February 2010 (3)
  • January 2010 (5)
  • December 2009 (2)
  • November 2009 (3)
  • October 2009 (1)
  • September 2009 (5)
  • August 2009 (3)
  • July 2009 (1)
  • June 2009 (3)
  • May 2009 (2)
  • April 2009 (7)
  • March 2009 (12)
  • February 2009 (10)
  • January 2009 (5)
  • December 2008 (4)
  • November 2008 (11)
  • October 2008 (6)
  • September 2008 (7)
  • August 2008 (3)
  • July 2008 (8)
  • June 2008 (6)
  • May 2008 (5)
  • April 2008 (7)
  • March 2008 (6)
  • February 2008 (3)
  • January 2008 (6)
  • December 2007 (11)
  • November 2007 (10)
  • October 2007 (7)
  • September 2007 (9)
  • August 2007 (3)
  • July 2007 (7)
  • June 2007 (8)
  • May 2007 (14)
  • April 2007 (11)
  • March 2007 (18)
  • February 2007 (14)
  • January 2007 (15)
  • December 2006 (16)
  • November 2006 (10)
  • October 2006 (7)
  • September 2006 (8)
  • August 2006 (8)
  • July 2006 (6)
  • June 2006 (4)
  • May 2006 (13)
  • April 2006 (10)
  • March 2006 (11)
  • February 2006 (7)
  • January 2006 (14)
  • December 2005 (8)
  • November 2005 (6)
  • October 2005 (7)
  • September 2005 (2)
  • August 2005 (6)
  • July 2005 (2)
  • June 2005 (6)
  • May 2005 (15)
  • April 2005 (12)
  • March 2005 (3)
  • February 2005 (8)
  • January 2005 (3)
  • December 2004 (1)
  • November 2004 (2)
  • October 2004 (2)
  • September 2004 (3)
  • August 2004 (3)
  • July 2004 (3)
  • June 2004 (3)
  • May 2004 (6)
  • April 2004 (10)
  • March 2004 (12)
Creative Commons License This work is licensed by Avinash Meetoo under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Unported License.