Updating The Single Most Influential Book of the BASIC Era

In a way, these two books are responsible for my entire professional career.


This is a companion discussion topic for the original entry at https://blog.codinghorror.com/updating-the-single-most-influential-book-of-the-basic-era/
1 Like

Let’s dedicate this topic to general commentary on the blog post; anything project specific should go in the project topic, or on GitHub.

1 Like

G’day Jeff,
I still remember my amazement when sitting in my second year electronics class in 1977 and playing with a beige Apple II that was hooked up to a TV screen.
Having grown up with mainframe computers because my Dad started programming in '56, this small beastie was a revelation and I totally enjoyed writing graphic pattern animations in BASIC.
Good luck with the project and HNY!
Cheers,
Rob

1 Like

I have good memories of this DIY gaming concept, if not of these books specifically (which I admittedly have never seen, but I grew up in the UK).

It’s odd to see that these books are for the generic “home computer”. Did they really work on any version of BASIC or did they have caveats for different models of computer (Apple, Commodore, Tandy, etc)?

1 Like

Heh. Funny you should mention that… most home computer versions of BASIC were “sorta compatible” so figuring out which commands worked and which did not on your particular home computer with built-in BASIC was … uh, let’s just say, part of the fun!

1 Like

I’ve updated the post with direct thanks to all previous contributors who submitted 5 or more pull requests to the project, which was soft-launched in January 2021. My apologies, I should have thanked you directly, and in my rush to publish the blog post before the end of 2021 – otherwise I’d have published zero blog posts for an entire year – I forgot that important detail.

Please accept my apologies, and thank you for all your contributions to the project!

1 Like

I also remember typing in BASIC program listings on our Atari 400. Typing it in was just part of the experience since there was no other way to even see what they do.

Much later, I was reminded of this by Why the Lucky Stiff, who regularly posted snippets of creative ruby on his blog, but as hand-lettered illustrations rather than copyable text.

1 Like

This is a great idea! I too learning programming this way, although in the UK.

What’s the general feeling about contributions in other languages?

1 Like

I am ridiculously excited by this idea.

This was part of how I, also, learned to program. I wound up porting and enhancing in particular the Super Star Trek code to Commodore basic (it didn’t require MUCH porting, but some, particularly for the 40-column narrower screen width). Just READING this code taught me a lot at the time.

This is brilliant! Thank you, @codinghorror , and thanks to David Ahl, both for his original books, and for giving permission for this project!

[Hmmm…maybe I’ll undertake the port of Super Star Trek to ruby…]

2 Likes

Wow, good luck, Super Star Trek is a monster, easily the “Super Mario Brothers” of this book, as it was wildly popular…

and

2 Likes

Yeah, I fully expect it to be a bit of a challenge, but I I’ve sort of wanted to give it a try for a while! So…

2 Likes

This is a great resource for new programming students since you don’t want to start with very complex graphical APIs.

A couple of points:

  1. It would really help if there was a list of “Still needs to be done” games organized by language. For example, I’d certainly like to contribute some Java games, but finding them is time consuming.

  2. There’s a lot of repetition of code between the games (at least the Java ones), and I’d think it would be nice to consider creating a utilities class to reduce code duplication. Of course, the same applies for the other languages.

  3. What about games from the follow-up book?

  4. Could you include links to useful translation tools, or at least tips on text conversion using search/replace.

2 Likes

Looking at the ruby version of AceyDucey, it’s a valid ruby program, but it simply replicates the original basic-y code structure. I don’t want to step on the toes of the developer who contributed the current version, but I feel like we need a ruby-ish ruby version - i.e., one that uses the best features of the language (where appropriate) and actually looks/feels like Ruby.

So, is it okay for me to submit a completely different version of a program that’s already done?

1 Like

I stumbled upon your page from a Seth Godin post and I couldn’t be more excited! These are the books that I bought at the Scholastic Book Fair in the early 80’s and spent countless hours typing the programs into my Atari 400 with the BASIC game cartridge.

I’m ready to be part of this project!

2 Likes

Ah, memories of hand-coding Wumpus into a TRS-80 with 4K of RAM and no media to back up to or load from! Thanks for putting this out there - hits all my nostalgia buttons, as well as a way to see how different languages implement the same concept.

2 Likes

Excellent points, it would be lovely if you could help drive those forward with pull requests! :pray:

If it does nothing but replicate the old BASIC implementation then I say yes, that’s a valid refactoring! And welcome @Stacey_Jenkins and @Alex_Lahoski !

2 Likes

Yep, brings back memories. From '76 to '80 I’d spend hours on the dot-matrix terminal in our high school counselor’s office, logged onto some PDP that was shared amongst several schools in the area. Wrote an inter-school e-mail program, MESAGE (6-character filename limitation) that had to work around the fact that the system admins would delete any globally-writable files each night.

It wasn’t that people were buying multiple copies of the books, or buying them without access to computers. Time-sharing, baby, the father of SAAS.

2 Likes

You had a color TRS-80? I’m completely jealous. I remember attempting to load a bowling game on my second-hand monochrome TRS-80 using the tape drive, trying over and over again until it finally loaded and worked. Then, to my great excitement, I could steer a white rectangle up the screen to ‘knock over’ some other white rectangles.

I also tried typing in the code for a space invaders game from a library book. I never got it working, however, and gave up. To think what could have been if only I had stuck with it …

2 Likes

I actually own a physical copy of the sequel that I picked up somewhere (I was born in '84, so these books are long before my time). Or maybe it was my dad - he was a contractor then, and I attempted to add some of them to the machines we had at home as a kid.

I’ve actually used Chuck-a-luck (p29) as a form of code-kata on most new languages I’ve learned.
I’ve previously ported Maze (p101-103) to … RPGLE, both as an exercise in untangling GOTOs (I changed everything to procedures), and because the training class I was in wasn’t quite challenging enough…

2 Likes

Amazing! If you are willing to contribute ports of chuck-a-luck, please do! :clap:

1 Like