I had a Commodore 64 (circa 1986, I think) and did something similar to what is described here, except I didn’t have a manual and only learned what I could from programs in magazines. (I’m pretty sure I bought most of the parts used.)
I wanted to make a game because I played so many of them. I learned about DATA statements and using PEEK and POKE from an example program that drew something to the screen. The first thing I tried was making it draw my name. I diligently worked out what the DATA statements had to be and got it to work. I was happy that it managed to draw something.
There was just one problem: it was incredibly slow. Compared to everything else I played, it was terrible. I did what I could but it just never got fast. I gave up on it after a while, convinced I was missing something. (Of course, I was missing something: assembly language. I had no idea it even existed. I honestly thought all the programs for the C64 were written in BASIC.) I gave up on computers for about ten years after that experience.
Pining for the BASIC days is fine and all — and there is certainly a kind of visceral joy in using the old machines — but BASIC really is a terrible, terrible language. It is slow, limited, and makes for pure control flow spaghetti. I’ve been trying to write programs with it on emulator machines in the last couple months and it’s so unremittingly awful it’s hard to imagine anyone ever put up with it. It’s a testament to how novel the idea of having a computer in the house must have been. I might go so far as to say that COBOL is better.
Your experience matches mine. it was sooo frustrating. Living in a rural area pre internet, it was hell actually. I had zero access to resources or anyone knowledgeable for help. I was the most knowledgeable person in my school. Teachers didn’t know anything about computers. I quit computers/programmig for a long time.
Some people have nostalgia, I fired up a C-64 emulator once and it just made me physically ill.
I also grew up in a rural area (I bought the C-64 and all my video game stuff with the money I earned working on the farm). I didn’t even know about BBS’s. Our school didn’t have computers. Basically, no one knew anything about them. I honestly had no idea how anything worked because there were no manuals anywhere for these things. Knowing what it’s like to be cut off from any useful information is why I’m so leery of the “just stick it on a webpage” approach to documentation.
Someone could write, or post, a similar article about assembly. I had an Atari 600 and 800 as a kid and did only Basic. Of course it sucked.
Much later in life I made a demo for the Atari 800, for the last AltParty. I downloaded like 4Gb of manuals, vetted them to see which were worthwhile. As an afternoons’ project, it took me two weeks to have anything going.
The demo had almost everything cool I could think of, except moving/zooming checkerboards. Those have been done to death so I decided against including them (to my detriment). Time was running out and I also neglected how sound works.
I hacked that up at the party place, a race against the submission deadline. I found a composer program I could run in Wine that generated data for a player routine I found I could use.
I’m not very musical, the playback speed was off and worst of all: I had the demo rewrite itself during execution and I had the redesign the memory layout to make the music behave, as the routine was very picky about this.
It was an incredible and educational experience and tough as balls, even if I did use modern tools to create it. I tried to use tools of the time in an emulator to do everything but it was awful.
Much respect for people who did this stuff in the 80s!
I’m also too young to have nostalgia for the 8-bit computer era, although I have a vague idea of the names of things from that era, from consuming media made by people who were nostalgic for it. I first used computers as a kid in the late 90s, in the post-Windows 95 era when lots of things about personal computing had changed from the 8-bit days.
I actually do remember being exposed to a programming language/environment that called Liberty Basic by a family friend - but I found it pretty underwhelming. I could use it to draw simple graphics with a for loop, but that got boring quick. What I really wanted to do was write a Windows program like Paint or Minesweeper or Chip’s Challenge. But how could I generate an .exe? How could I write the thing that years later I would learn was called a GUI event loop? If Liberty Basic let users use those sorts of things, I couldn’t figure it out as a kid. So I lost interest relatively quickly, and didn’t start actually writing my own computer programs until I was towards the end of high school.
Liberty BASIC is still around. There’s even an update in June of 2018!
One thing that’s important to point out — and I’m not saying you didn’t know this — is that the BASIC on the 8-bit machines is much different than things like Visual BASIC or Liberty BASIC, although they are definitely of the same pedigree. Stuff like Visual BASIC and Liberty BASIC (and maybe QuickBASIC?) recognize variable names longer than two characters, for example. Or they have functions. Or integers. Or files. Or come with an editor…
I was aware of some of those differences between 8-bit BASIC environments and BASIC environments built for 90s PCs, but not all (2-chatacter variable names? Really?)
The broader point I was making though was that if a programming environment wasn’t designed to teach me how to make programs like the ones that came with the computer, it wasn’t very interesting to me as a kid - and as a kid in the 90s the programs that came with the computer were GUI apps with event loops and reasonably sophisticated graphics and sound and interactivity.
It might be a shame that the computers people like me and the article author grew up with didn’t have a built-in environment like BASIC to let people learn to control their computers as readily as possible - but on the other hand, the computers that did have 8-bit BASIC couldn’t run those kinds of programs at all.
I had a Commodore 64 (circa 1986, I think) and did something similar to what is described here, except I didn’t have a manual and only learned what I could from programs in magazines. (I’m pretty sure I bought most of the parts used.)
I wanted to make a game because I played so many of them. I learned about DATA statements and using PEEK and POKE from an example program that drew something to the screen. The first thing I tried was making it draw my name. I diligently worked out what the DATA statements had to be and got it to work. I was happy that it managed to draw something.
There was just one problem: it was incredibly slow. Compared to everything else I played, it was terrible. I did what I could but it just never got fast. I gave up on it after a while, convinced I was missing something. (Of course, I was missing something: assembly language. I had no idea it even existed. I honestly thought all the programs for the C64 were written in BASIC.) I gave up on computers for about ten years after that experience.
Pining for the BASIC days is fine and all — and there is certainly a kind of visceral joy in using the old machines — but BASIC really is a terrible, terrible language. It is slow, limited, and makes for pure control flow spaghetti. I’ve been trying to write programs with it on emulator machines in the last couple months and it’s so unremittingly awful it’s hard to imagine anyone ever put up with it. It’s a testament to how novel the idea of having a computer in the house must have been. I might go so far as to say that COBOL is better.
Your experience matches mine. it was sooo frustrating. Living in a rural area pre internet, it was hell actually. I had zero access to resources or anyone knowledgeable for help. I was the most knowledgeable person in my school. Teachers didn’t know anything about computers. I quit computers/programmig for a long time.
Some people have nostalgia, I fired up a C-64 emulator once and it just made me physically ill.
I also grew up in a rural area (I bought the C-64 and all my video game stuff with the money I earned working on the farm). I didn’t even know about BBS’s. Our school didn’t have computers. Basically, no one knew anything about them. I honestly had no idea how anything worked because there were no manuals anywhere for these things. Knowing what it’s like to be cut off from any useful information is why I’m so leery of the “just stick it on a webpage” approach to documentation.
Someone could write, or post, a similar article about assembly. I had an Atari 600 and 800 as a kid and did only Basic. Of course it sucked.
Much later in life I made a demo for the Atari 800, for the last AltParty. I downloaded like 4Gb of manuals, vetted them to see which were worthwhile. As an afternoons’ project, it took me two weeks to have anything going.
The demo had almost everything cool I could think of, except moving/zooming checkerboards. Those have been done to death so I decided against including them (to my detriment). Time was running out and I also neglected how sound works.
I hacked that up at the party place, a race against the submission deadline. I found a composer program I could run in Wine that generated data for a player routine I found I could use.
I’m not very musical, the playback speed was off and worst of all: I had the demo rewrite itself during execution and I had the redesign the memory layout to make the music behave, as the routine was very picky about this.
It was an incredible and educational experience and tough as balls, even if I did use modern tools to create it. I tried to use tools of the time in an emulator to do everything but it was awful.
Much respect for people who did this stuff in the 80s!
I was alive in 1983 - that’s the year I did my ‘O’ level in computing using a Commodore Pet…
editing the space invaders basic code to give myself 50 lives :~)
I’m also too young to have nostalgia for the 8-bit computer era, although I have a vague idea of the names of things from that era, from consuming media made by people who were nostalgic for it. I first used computers as a kid in the late 90s, in the post-Windows 95 era when lots of things about personal computing had changed from the 8-bit days.
I actually do remember being exposed to a programming language/environment that called Liberty Basic by a family friend - but I found it pretty underwhelming. I could use it to draw simple graphics with a for loop, but that got boring quick. What I really wanted to do was write a Windows program like Paint or Minesweeper or Chip’s Challenge. But how could I generate an .exe? How could I write the thing that years later I would learn was called a GUI event loop? If Liberty Basic let users use those sorts of things, I couldn’t figure it out as a kid. So I lost interest relatively quickly, and didn’t start actually writing my own computer programs until I was towards the end of high school.
Liberty BASIC is still around. There’s even an update in June of 2018!
One thing that’s important to point out — and I’m not saying you didn’t know this — is that the BASIC on the 8-bit machines is much different than things like Visual BASIC or Liberty BASIC, although they are definitely of the same pedigree. Stuff like Visual BASIC and Liberty BASIC (and maybe QuickBASIC?) recognize variable names longer than two characters, for example. Or they have functions. Or integers. Or files. Or come with an editor…
I was aware of some of those differences between 8-bit BASIC environments and BASIC environments built for 90s PCs, but not all (2-chatacter variable names? Really?)
The broader point I was making though was that if a programming environment wasn’t designed to teach me how to make programs like the ones that came with the computer, it wasn’t very interesting to me as a kid - and as a kid in the 90s the programs that came with the computer were GUI apps with event loops and reasonably sophisticated graphics and sound and interactivity.
It might be a shame that the computers people like me and the article author grew up with didn’t have a built-in environment like BASIC to let people learn to control their computers as readily as possible - but on the other hand, the computers that did have 8-bit BASIC couldn’t run those kinds of programs at all.
This is almost exactly what I experienced, except that it was all on Apple II+ clones.