The "Practice your BASIC" book was in my school library, and in the spring of 1989, I was able to take said book to the computer room at lunch breaks and for a donation of 40p to charity (Cafod, it was a Catholic school), I could do what I wanted on the computers. I learned to code. Most of the other kids played games.
That book started a remarkable journey. By 1996 I was at University studying Software Engineering, already proficient in C. Ten years later I was running my own software consultancy. Ten years after that I had been CTO for three startups and moved to London.
I often like to haunt a bookshop or library, and check out the programming books there. No 11 year old would be able to get started the way I did today in that context. I love the Raspberry Pi project and its goals, it's the closest we have to that opportunity. I do - and will continue to - support it multiple ways, and hope others do too.
Honestly, without those introductory guides to coding, I don't know what would have happened to me, but the odds say, considering what happened to my classmates from that school, drug overdose or prison were on the cards.
Thanks Usborne. Thanks BASIC. Thanks to that computing teacher who had that idea.
I knew an adolescent kid (not me) who built the robot from that exact robots book. A historical thing to appreciate is that, even though this book was unusually prescriptive and nuts&bolts detailed, for the time, building the robot was much harder, and much less likely, than it would be today, even to the same design.
This was pre-Web, and it involved mail-order adventures, and you were kinda alone.
IIRC, he got the book in the gift shop at the Oregon Museum of Science and Industry, on a school field trip. Just getting access to the initial information was almost random.
The one of the most obvious parts -- the motors with the right gearing and power requirements and weight properties -- weren't at Radio Shack, and not something you were likely to be able to cannibalize from a yard sale.
So first you needed to order a catalog from a company known to sell the motors in single quantities. Then, once it arrived, weeks later (eons in kid perception of time), you needed to convince parents that it's a good idea to write a check or use their credit card, to order these expensive parts from some weird mail-order company they've never heard of. (And probably none of their friends have their kids doing this.)
And there are no forums where you can talk to other people doing this. And no influencer YouTube channels showing other people succeeding at it. All you have is this one book, and dubious parents.
Then you needed a bunch of hobby-shop supplies, like various sheets of balsa wood, rods, etc.
In absence of patterns and printable STL files, and cutting patterns, and PCB layouts you can send off, and affiliate links, or pre-assembled parts kits, if you stick with it, you eventually scrap a lot of supplies building the mechanics to something that looks minimally viable.
And you eventually risk plugging in your first soldered circuit board into the family's only home computer (no, you don't have a hobby/educational microcontroller SBC). And if it zaps, you might no have anything to program on for a long time.
If it doesn't zap the family computer, then you try get the mechanics not to rip themselves apart.
So a kid of that era who embarked on the project might never get a working robot, but they would learn a lot about a breadth of things, in the process of trying.
These are actually how I first learned to program, but around 2001-2002, when I was about ten years old. I found a couple of them at the library, and that's when I realized it was something you could just learn...but lacked a BASIC interpreter.
I ended up also finding a No Starch Press book on JavaScript, and porting the BASIC listings to ye olde pre-Node JavaScript as my first foray into programming.
Then I also got a Commodore 64 on eBay some time later.
That’s super cool. I’m actually surprised if you had a PC in 2001 that it didn’t have QBASIC on it though. I think that was being shipped with Windows at least through Windows 98.
But of course, your solution to that was twice as good for your education than if you’d learned only BASIC so that’s good.
My experience was kind of similar except I was learning in the mid 90s and only had access to various flavors of BASIC, because all the computers my school had were from 1980-1987 or so. When I saw modern GUI computers though, I couldn’t understand how what I’d learned in the character-based world could be applied to the GUI paradigm, so I gave up on programming until the Web and PHP gave me a usable mental model to get back into it.
If my school's library had had Machine Code for Beginners, my career might have been very different. (I'm actually a bit annoyed; I didn't know that existed).
> If my school's library had had Machine Code for Beginners, my career might have been very different. (I'm actually a bit annoyed; I didn't know that existed).
It's actually very good. I remember reading it at age 11 or so, and coming away knowing much more low-level stuff about computers than even the 18yo in the final year of school who were literally studying the stuff.
Things like "each instruction is a number", and registers like the PC, overflow, etc.
I went through a period (and a forest of pages) trying to write an entire game in machine code alone (with a small basic shim to load it).
I had the same experience in the mid 90s. We had a computer lab with windows 98 and VB was around but all the library books were for qbasic and older things. Luckily 98 did have qbasic installed so I was able to use the code.
I then asked my dad for a book on C++. While I managed to make a few things, I distinctly remember getting lost at the concept of the "this" pointer. I really gained programming competency when I discovered python a few years after this. Teenage years I spent most of my time playing with HTML and trying to understand what the heck dynamic HTML was.
I'm trying replicate that path with my kid. We just got him a C64 ultimate (replica of the original highly recommend commodore.net) and these books are perfect for him to toy around with.
I had a book which was published by Usborne which was part of their "Monsters" series. It was the Monsters teaching BASIC. There were several program listings and a "porting guide" which told you how to convert from APPLE BASIC (and other variants) to GW-BASIC (which is what I used). Doing the porting and implementing this really gave me a lot of perspective.
I learned to program with some of these books. Usborne also quickly published them in Spanish, and I was lucky that some editorial companies used to go to my school to sell their books. I grabbed the machine code and adventure programs. That was 1985 and I was 10 years old. Still looking at the drawings brings me good memories and goosebumps.
Stumbling on the Usborne "Introduction to Computer Programming - Basic for Beginners" book in the library bookmobile that came to my school was probably the first domino that set off the rest of my life in computing. I owe a lot to that book. When I had the book checked out my family didn't have a computer at home so I had to imagine what it'd be like to do the things in my head until I managed to get some time in the school computer lab to try out some of the exercises in the book. Being able to tell the computer what to do just felt so powerful to me.
I grew up with these just as they were beginning to age and part of the challenge was getting the dated Basic to run on newer machines. The blend of clear instruction and evocative old-school art remains fantastic and I want to write updated ones.
Pico-8 or Lua more generally might be a good language target. But I rather think a bespoke environment/interpreter would be the right way to go for the project.
See also the Usborne world of the future, ghosts, monsters etc. they were all magical!
These were some of the most influential books of my youth, teaching a generation of young kids quite advanced topics. I still picture cartoon robots putting numbers in boxes whenever I write code involving pointers.
But my favourite[0] was Write Your Own Adventure Programs, which taught data driven programming and text parsing.
I remember these very well from when they first came out, I particularly liked Keyboards and Computer Music and would spend ages working out what synth/drum machine that they had tried to draw as they somewhat abstracted the design away.
Loved them and they really did spark an interest in taking music and computing more seriously.
This was really cool to see life as a kid in '84 for some of these stories/games and how you convinced a young kid to copy page after page of BASIC and adapt for various machines. I loved the, "don't look at this unless you really need to cheat" and the text was mirrored (right-to-left) so you had to use a mirror to reveal or become dyslexic.
Thanks for sharing this, it's getting my creative engines going for what to do TODAY that would be fun and engaging for my daughter. :)
I can't really think of a suitable one TBH; Python's completely out of the running, Java and C# have a lot of unnecessary (for this goal) boilerplate, Pascal is not a bad choice.
Maybe Javascript? The books can then instruct "type this into an HTML file".
In my mind, a more modern platform would be a simulated one that has its own machine language (byte-code compiled, perhaps) so that these books, which take you all the way into machine language, would make sense.
The "Practice your BASIC" book was in my school library, and in the spring of 1989, I was able to take said book to the computer room at lunch breaks and for a donation of 40p to charity (Cafod, it was a Catholic school), I could do what I wanted on the computers. I learned to code. Most of the other kids played games.
That book started a remarkable journey. By 1996 I was at University studying Software Engineering, already proficient in C. Ten years later I was running my own software consultancy. Ten years after that I had been CTO for three startups and moved to London.
I often like to haunt a bookshop or library, and check out the programming books there. No 11 year old would be able to get started the way I did today in that context. I love the Raspberry Pi project and its goals, it's the closest we have to that opportunity. I do - and will continue to - support it multiple ways, and hope others do too.
Honestly, without those introductory guides to coding, I don't know what would have happened to me, but the odds say, considering what happened to my classmates from that school, drug overdose or prison were on the cards.
Thanks Usborne. Thanks BASIC. Thanks to that computing teacher who had that idea.
I knew an adolescent kid (not me) who built the robot from that exact robots book. A historical thing to appreciate is that, even though this book was unusually prescriptive and nuts&bolts detailed, for the time, building the robot was much harder, and much less likely, than it would be today, even to the same design.
This was pre-Web, and it involved mail-order adventures, and you were kinda alone.
IIRC, he got the book in the gift shop at the Oregon Museum of Science and Industry, on a school field trip. Just getting access to the initial information was almost random.
The one of the most obvious parts -- the motors with the right gearing and power requirements and weight properties -- weren't at Radio Shack, and not something you were likely to be able to cannibalize from a yard sale.
So first you needed to order a catalog from a company known to sell the motors in single quantities. Then, once it arrived, weeks later (eons in kid perception of time), you needed to convince parents that it's a good idea to write a check or use their credit card, to order these expensive parts from some weird mail-order company they've never heard of. (And probably none of their friends have their kids doing this.)
And there are no forums where you can talk to other people doing this. And no influencer YouTube channels showing other people succeeding at it. All you have is this one book, and dubious parents.
Then you needed a bunch of hobby-shop supplies, like various sheets of balsa wood, rods, etc.
In absence of patterns and printable STL files, and cutting patterns, and PCB layouts you can send off, and affiliate links, or pre-assembled parts kits, if you stick with it, you eventually scrap a lot of supplies building the mechanics to something that looks minimally viable.
And you eventually risk plugging in your first soldered circuit board into the family's only home computer (no, you don't have a hobby/educational microcontroller SBC). And if it zaps, you might no have anything to program on for a long time.
If it doesn't zap the family computer, then you try get the mechanics not to rip themselves apart.
So a kid of that era who embarked on the project might never get a working robot, but they would learn a lot about a breadth of things, in the process of trying.
These are actually how I first learned to program, but around 2001-2002, when I was about ten years old. I found a couple of them at the library, and that's when I realized it was something you could just learn...but lacked a BASIC interpreter.
I ended up also finding a No Starch Press book on JavaScript, and porting the BASIC listings to ye olde pre-Node JavaScript as my first foray into programming.
Then I also got a Commodore 64 on eBay some time later.
That’s super cool. I’m actually surprised if you had a PC in 2001 that it didn’t have QBASIC on it though. I think that was being shipped with Windows at least through Windows 98.
But of course, your solution to that was twice as good for your education than if you’d learned only BASIC so that’s good.
My experience was kind of similar except I was learning in the mid 90s and only had access to various flavors of BASIC, because all the computers my school had were from 1980-1987 or so. When I saw modern GUI computers though, I couldn’t understand how what I’d learned in the character-based world could be applied to the GUI paradigm, so I gave up on programming until the Web and PHP gave me a usable mental model to get back into it.
If my school's library had had Machine Code for Beginners, my career might have been very different. (I'm actually a bit annoyed; I didn't know that existed).
I definitely remember Creepy, Battle and Space.
> If my school's library had had Machine Code for Beginners, my career might have been very different. (I'm actually a bit annoyed; I didn't know that existed).
It's actually very good. I remember reading it at age 11 or so, and coming away knowing much more low-level stuff about computers than even the 18yo in the final year of school who were literally studying the stuff.
Things like "each instruction is a number", and registers like the PC, overflow, etc.
I went through a period (and a forest of pages) trying to write an entire game in machine code alone (with a small basic shim to load it).
It's a very approachable book.
I had the same experience in the mid 90s. We had a computer lab with windows 98 and VB was around but all the library books were for qbasic and older things. Luckily 98 did have qbasic installed so I was able to use the code.
I then asked my dad for a book on C++. While I managed to make a few things, I distinctly remember getting lost at the concept of the "this" pointer. I really gained programming competency when I discovered python a few years after this. Teenage years I spent most of my time playing with HTML and trying to understand what the heck dynamic HTML was.
I'm trying replicate that path with my kid. We just got him a C64 ultimate (replica of the original highly recommend commodore.net) and these books are perfect for him to toy around with.
I had a book which was published by Usborne which was part of their "Monsters" series. It was the Monsters teaching BASIC. There were several program listings and a "porting guide" which told you how to convert from APPLE BASIC (and other variants) to GW-BASIC (which is what I used). Doing the porting and implementing this really gave me a lot of perspective.
I learned to program with some of these books. Usborne also quickly published them in Spanish, and I was lucky that some editorial companies used to go to my school to sell their books. I grabbed the machine code and adventure programs. That was 1985 and I was 10 years old. Still looking at the drawings brings me good memories and goosebumps.
Stumbling on the Usborne "Introduction to Computer Programming - Basic for Beginners" book in the library bookmobile that came to my school was probably the first domino that set off the rest of my life in computing. I owe a lot to that book. When I had the book checked out my family didn't have a computer at home so I had to imagine what it'd be like to do the things in my head until I managed to get some time in the school computer lab to try out some of the exercises in the book. Being able to tell the computer what to do just felt so powerful to me.
When you mention, Osborne computer books, and 1980s I think of these (different ) books
Osborne Introduction to microcomputers, Volume 0 https://archive.org/details/an-introduction-to-microcomputer...
Osborne Introduction to microcomputers, Volume 1 https://www.rsp-italy.it/IT/Books/_contents/Osborne-An%20Int...
There is volume 2 in the series 2, too
I have originals of these books and his books on 6800 6502, 6809 and 68000 programming.
Wrong vowel, this is Usborne.
I had a few of these. They were excellent. Fantastic cover art too.
Just had Claude port one of my favorite one of these games as a kid to HTML+JS, from the 1983 "Creepy Computer Games" book: https://tools.simonwillison.net/usborne-mad-house
The page is redirected to https://usborne.com/fr/books/computer-and-coding-books which is 404, and there is no way around it. That's quite maddening when a website does this kind of things.
I grew up with these just as they were beginning to age and part of the challenge was getting the dated Basic to run on newer machines. The blend of clear instruction and evocative old-school art remains fantastic and I want to write updated ones.
Pico-8 or Lua more generally might be a good language target. But I rather think a bespoke environment/interpreter would be the right way to go for the project.
See also the Usborne world of the future, ghosts, monsters etc. they were all magical!
These were some of the most influential books of my youth, teaching a generation of young kids quite advanced topics. I still picture cartoon robots putting numbers in boxes whenever I write code involving pointers.
But my favourite[0] was Write Your Own Adventure Programs, which taught data driven programming and text parsing.
[0] https://sheep.horse/2017/2/usborne_computer_books.html
I remember these very well from when they first came out, I particularly liked Keyboards and Computer Music and would spend ages working out what synth/drum machine that they had tried to draw as they somewhat abstracted the design away.
Loved them and they really did spark an interest in taking music and computing more seriously.
This was really cool to see life as a kid in '84 for some of these stories/games and how you convinced a young kid to copy page after page of BASIC and adapt for various machines. I loved the, "don't look at this unless you really need to cheat" and the text was mirrored (right-to-left) so you had to use a mirror to reveal or become dyslexic.
Thanks for sharing this, it's getting my creative engines going for what to do TODAY that would be fun and engaging for my daughter. :)
Is there some relationship between Usborne and Osborne books? And of course the Osborne portable computer?
Uhm... My browser is redirected to https://usborne.com/it/books/computer-and-coding-books which 404s.
You need to first switch to English/United States in the top left.
Man, I just posted this in a recent thread :-)
Still think my comment applies: they need to be updated for a modern platform (not Python).
Heh, I've been working on an interpreter to run them https://github.com/fredrick-pennachi/OldBasic It's not quite finished yet but it can run the programs I've typed out here https://github.com/fredrick-pennachi/BASIC-programs
What “modern platform” would you suggest?
> What “modern platform” would you suggest?
I can't really think of a suitable one TBH; Python's completely out of the running, Java and C# have a lot of unnecessary (for this goal) boilerplate, Pascal is not a bad choice.
Maybe Javascript? The books can then instruct "type this into an HTML file".
In my mind, a more modern platform would be a simulated one that has its own machine language (byte-code compiled, perhaps) so that these books, which take you all the way into machine language, would make sense.
Why not python? It's pretty simple for kids to understand.
> Why not python? It's pretty simple for kids to understand.
Not for the book type format - the kids will be typing the code in, not copying + pasting them.
Significant whitespace is a killer in printed form; so Python is not even in the running.
Pretty sure HN is selling front page access. Have more popups on your website why don't you.
There isn't a lot of money in 40 year old computer books targeted at children