
How I started programming - stevekemp
https://blog.steve.fi/how_i_started_programming.html
======
danso
I played with QBasic when I was young but never got into "real" programming
until college, I wonder if I'd be more than a mediocre programmer today had I
been exposed to assembly, which I ended up liking as a class but never did for
fun.

But computer games as a gateway drug to programming is familiar. I had no idea
what the hell EMS (Expanded Memory System) and XMS (Extended Memory System)
were. But I managed to get Ultima VII and its apparently bizarre memory
manager [0] to work on my computer. I now realize I was clueless about how the
Windows OS worked, or basic principles of the command-line, but at least I
wasn't afraid of it. Or with editing random INI files. Experimenting with INI
files and booting into DOS was the only way to get U7 to run on Windows 95
systems.

[0]
[http://wiki.ultimacodex.com/wiki/Voodoo_Memory_Manager](http://wiki.ultimacodex.com/wiki/Voodoo_Memory_Manager)

~~~
stevekemp
I had a huge gap, between playing with the Spectrum in the early eighties to
using a PC for the first time around 1992.

I remember using QBasic, and using debug.com to write simple assembly programs
- the most memorable one was a simple utility to "undelete" files from MS-DOS,
which just involved modifying the FAT.

Most of my memories of the early PC-days were reading Ralph Brown's interrupt
list and looking at the source code of viruses, via magazines such as 40HEX.

------
js8
I also started on ZX Spectrum. The interesting thing was, unlike PCs, which
continuously improved, the hardware of ZX was pretty much fixed, so people had
to come up with more and more ingenious ways to optimize.

I recently downloaded and opened the "BASIC Reference Guide", and I was
surprised. All the different BASIC commands that I considered quite
complicated when I was 11 had full description on couple of pages. It was
nothing compared to today languages' APIs!

------
sjclemmy
Brilliant! This brought some old feelings come flooding back - especially the
link to those Usbourne books, I'd forgotten about them, I definitely had a
couple of those.

The author's experience pretty much matches my own formative experience with a
ZX Spectrum, from Basic to Z80 Machine Code. But then I kind of stopped and
did other stuff for a few years. Now I'm a front-end dev for my sins. BASIC
and Z80 Assembler is much much simpler than all the crazy abstractions one
works with these days!

~~~
stevekemp
I never owned any of those books myself, but when seeing the covers I
immediately recognized some of them.

(Largely because I'd checked them out of the local library so frequently.)

~~~
sjclemmy
I think I had the space games one. I remember keying in the moonlander game.
What I found interesting was the feelings it stirred in me. I 'remembered' in
an emotional way what it was like to be 10 years old and keying in BASIC
programs from books and magazines.

One of the other things I remember doing was drawing a pattern of lines
radiating out from the centre of the screen. The spacing between the lines
would interfere with the video rendering and you'd get lovely moire patterns.
Varying the space between the lines would change the pattern.

------
mamaniscalco
Steve, just brilliant! Like a lot of others will surely say, thanks for taking
us all back for a brief moment. Your post has inspired me to write a similar
one on my own site.

It would be pretty cool if there were a website dedicated to the tales of how
individual developers got their own start and the memories that they have of
how magical it all seemed way back when. I bet there would be a lot of overlap
in the stories regardless of the era.

~~~
stevekemp
I'm sure you're right about overlap; I know that the Spectrum was probably the
best-selling machine in the UK at the time, so there must be thousands of
people who starting programming as a direct result of owning one.

There are whole scenes I'm utterly unaware of, like the Atari vs Amiga thing
that I remember reading about at the time but paid no attention to. I'll
pretend those users were more at home with the PC!

~~~
mamaniscalco
Actually I started on an Atari 400 and then eventually an Amiga 1000. Perhaps
that's more common here in the states?

------
sshagent
Similar for me really. All my school friends had spectrums, i had an Acorn
Electron. Nothing wrong with it at all, but i had no one to swap games
with...and being poor led me to messing about with the code side of it. Well
done to my parents for not listening to my cries for a different
machine...future me appreciates it.

------
anothercomment
Another nice thing about the ZX Spectrum was that it had all the basic
commands printed on the keyboard. Great for experimentation as a kid.

