Hacker News
Usborne 1980s Computer Books
PaulRobinson
|next
[-]
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.
neilv
|next
|previous
[-]
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.
Then one of the most obvious components -- 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 printable STL files, and cutting patterns, and PCB layouts you can send off, and affiliate links, or 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 not have anything to program on for a long time.
If it doesn't zap the family computer, then you try to 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.
redwall_hp
|next
|previous
[-]
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.
vunderba
|root
|parent
|next
[-]
https://www.thriftbooks.com/w/absolute-beginners-guide-to-qb...
Like most people, I also learned how to program in BASIC from a mustachioed machete-wielding British gentleman whilst on safari.
xp84
|root
|parent
|next
|previous
[-]
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.
redwall_hp
|root
|parent
[-]
I think I did also get my hands on a free version of Liberty BASIC from another book at one point, because it was on an included CD-ROM. https://en.wikipedia.org/wiki/Liberty_BASIC
I also moved into the Web sphere, because of course there were HTML books and I was already looking at JavaScript. I ended up picking up PHP for awhile, then eventually got into Java (especially after Minecraft was on the scene) and that has served me well career-wise.
flir
|root
|parent
|next
|previous
[-]
I definitely remember Creepy, Battle and Space.
lelanthran
|root
|parent
[-]
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.
nkassis
|root
|parent
|previous
[-]
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.
defaultcompany
|next
|previous
[-]
AndrewStephens
|next
|previous
[-]
But my favourite[0] was Write Your Own Adventure Programs, which taught data driven programming and text parsing.
pjbk
|root
|parent
[-]
beschizza
|next
|previous
[-]
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!
timc3
|next
|previous
[-]
Loved them and they really did spark an interest in taking music and computing more seriously.
pjbk
|next
|previous
[-]
simonw
|next
|previous
[-]
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
asdefghyk
|next
|previous
[-]
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.
polpo
|next
|previous
[-]
AdmiralAsshat
|next
|previous
[-]
noufalibrahim
|next
|previous
[-]
mymacbook
|next
|previous
[-]
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. :)
zabzonk
|next
|previous
[-]
lelanthran
|next
|previous
[-]
Still think my comment applies: they need to be updated for a modern platform (not Python).
fredrickleo
|root
|parent
|next
[-]
chb
|root
|parent
|next
|previous
[-]
lelanthran
|root
|parent
|next
[-]
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.
aperrien
|root
|parent
|previous
[-]
lelanthran
|root
|parent
[-]
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.
egypturnash
|root
|parent
[-]
And page 23 teaches you about significant whitespace, and how to configure several text editors that a kid's likely to have available to actually show it like that. Heck, I use Panic's Nova for my text editing and it does that out of the box with no configuration needed.
lelanthran
|root
|parent
|next
[-]
I don't think you actually used those books :-/
No one linearly writes code, from the start of the file to the end; they edit it. They move blocks around if they missed a page, they navigate around putting in missing if statements and removing incorrectly-added loops. Those programs were very much not one-and-done, they were heavily modified by the kids.
Your proposal of "Tell them to configure their editor for Python" and "add in unicode symbols to represent whitespace" is the exact opposite of what those books were about.
The books were about removing superfluous barriers, not adding them! Using Python would result in a whole lot of incidental complexity for literally no gain.
redwall_hp
|root
|parent
|previous
[-]
Education has already chosen Python as the preferred language for this sort of thing. It has some unfortunate bits, but it's certainly a more ergonomic language than BASIC. Counting tabs is less arduous than messing with line numbers and GOSUB.