VOGONS

Common searches


First post, by pbagain

User metadata
Rank Newbie
Rank
Newbie

Hope this is not too far off-topic, but my retro adventures have led me down this rabbit hole now..

In his thought-provoking 2006 article "Why Johnny can't code" David Brin discusses the value of a universal (yes I know), readily available (at least in the 80's) programming language like BASIC for pedagogical purposes. He mentions that some (many?) school text books for math and other sciences used to have little "Try it in BASIC" experiments for students "offering the student a chance to try out some simple algorithm on a computer. Usually, it's an equation or iterative process illustrating the principle that the chapter discussed."

This has tickled my curiosity, so I was trying to find some of those text books. Alas, my searches come up with books about "basic math examples" and such, but nothing that looks like it has actual basic examples. Similar with Google books, even with a filter on time period (1980-95). My google skills are letting me down 🙁

In any case, do you guys know of any such books from your own experience? Any suggestion how to find such books now? Was this mainly a thing in the U.S.? I didn't get this in my 80's primary school education in the Netherlands, although we did have an MSX2 in the classroom, mostly to run programs to help memorize geography.

FYI: there is already an extensive discussion about the merits of Brin's thesis in the comments of his follow up 2019 article on blogpost. At the moment I'm really just interested in finding some examples of the books he is talking about, but of course feel free to share your other thoughts here as well 😀

Reply 1 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie

Yes I remember maths books having code listings (usually in the back/appendicies) for various plots and statistics to suppliment some (not all) of the concepts. This would have been around mid 90's in the UK, however the books were probably older (late 80's/early 90's).

They were always BASIC (Probably BBC Basic since Archimedes/BBC Masters were more prominent in 80's/90's UK education system). We didn't code as part of the syllabus since 'IT' was still quite optional for a lot of students, however I do remember doing one of the larger multipage listings on a 5150 at home, so the BASIC was probably compatible (spirograph type program, using logo commands to draw a shape, then applying various rotations to generate some funky spirograph plot).

You might want to look for UK 'GCSE' Mathematics books circa '87-'92 although not all of them had code examples and avoid anything with 'Revision' in the title (as these were short summaries of the course prepping for exams, not content/course) or 'KeyStage' (as this was a bit later iirc).

Had a quick look on ebay/google and cannot find the book that I definately remember had some code listings in the back. However it looked similar to these...

s-l5002.jpg
Filename
s-l5002.jpg
File size
27.88 KiB
Views
1671 views
File license
Public domain
mathsbook1.jpg
Filename
mathsbook1.jpg
File size
23.6 KiB
Views
1671 views
File license
Public domain

The one I remember was similar to the bottom one... but was more turquoise and had a cubic plot on it. Sorry can't be of more help.

Reply 2 of 19, by Jo22

User metadata
Rank l33t++
Rank
l33t++

The book/article seems very provoking, indeed, because it seems to ignoring the availability of QBASIC and Turbo Pascal on 90s era PCs.

It also seems to ignore Visual Basic, which was the #1 RAD IDE of the 90s (VB3) and early 2000s (VB6).

All in all it seems to me as if it was written by some C64 fan who misses BASIC.
Which would be kind of ironic, because C64 BASIC V2 was an extremely poor example of Basic.

Turbo Pascal (and Object Basics like Turbo Basic or MS Quick Basic) used to be much better teaching tools.

Plain BASIC as it was available on low-end systems like C64, ZX Spectrum or ZX80 is a really bad teaching tool.

Edit: Positive examples were BBC BASIC or Locomotive Basic (GEM), I think.
Amiga Basic also was advanced. Quick Basic also was available on Macintosh.

Edit: The 2006 article mentions 8052s.
That's apparently a reference to 8052-AH BASIC, an 805x microcontroller pre-programmed with an embedded Basic.

It's very good, indeed. But also a far cry from those toy computers of the 1980s.
It's a professional Basic, with EPROM writing/reading routines, interrupt handling etc.

Also, it's being made open by intel and can be freely used.
It can still be flashed onto modern 805x controllers.

No idea how the author makes so strange connections, though.
AH-BASIC was like a BASIC-based OS for embedded use rather than our typical homecomputer Basic.
A tiny bit like Arthur OS for the Acorn Archimedes used to be.

If you're curious, there are some BASIC-52 clips in my channel.
There's even a video about an DOS-based 8052 emulator running on an 8088 PC.

https://m.youtube.com/@dreambyte7926/search?query=8052

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 19, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie

For the average home computer user, Visual Basic, Turbo Pascal, Turbo Basic cost money. The IBM PC compatible came with PC-BASIC, GW-BASIC, and later QBasic for no additional cost, and Microsoft based BASIC was super common in learning how to use a computer. And early 8bit machines, BASIC was basically the only interface into the computer if you wanted to do something different with the computer. Anyway, QBasic is kind of an odd one, because the compatibility with GW-BASIC, so you didn't need to rewrite your magazines and books to teach people, it had online documentation to explain how to port it minimally, or you could learn the full environment if you wanted.

I do remember these math text books into the 90s. They persisted with the older style BASIC syntax, because again, it was the standard that everyone could access.

Interest dropped in BASIC in the early 90s, probably because of GUI interfaces and the availability of so many programs, that the need went away in the home of that being the way to use a computer. But I can tell you that one American university was teaching using QBasic in 2000, and I was also told that in a foreign school, they were still using GW-BASIC to teach computers into the 2000s. So I wouldn't ding on the syntax as much as that is just about easiest to access environment and lesson material that you could find. I guess until the internet and media where professors could bad mouth it enough to get people not to use it. Personally I don't care what people really want to learn, but one thing that this discussion raises, is there has not really been an equivalent rise up to replace BASIC as a beginner's language to the level it was used as extra exercises in textbooks, and written into stories of so many children's books, etc. So as far as the author, I think I would write about the days it was most popular too, as that is the best historical knowledge of what it accomplished in education.

Reply 4 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-06-21, 14:58:
The book/article seems very provoking, indeed, because it seems to ignoring the availability of QBASIC and Turbo Pascal on 90s e […]
Show full quote

The book/article seems very provoking, indeed, because it seems to ignoring the availability of QBASIC and Turbo Pascal on 90s era PCs.

It also seems to ignore Visual Basic, which was the #1 RAD IDE of the 90s (VB3) and early 2000s (VB6).

All in all it seems to me as if it was written by some C64 fan who misses BASIC.
Which would be kind of ironic, because C64 BASIC V2 was an extremely poor example of Basic.

Turbo Pascal (and Object Basics like Turbo Basic or MS Quick Basic) used to be much better teaching tools.

Plain BASIC as it was available on low-end systems like C64, ZX Spectrum or ZX80 is a really bad teaching tool.

Edit: Positive examples were BBC BASIC or Locomotive Basic (GEM), I think.
Amiga Basic also was advanced. Quick Basic also was available on Macintosh.

Edit: The 2006 article mentions 8052s.
That's apparently a reference to 8052-AH BASIC, an 805x microcontroller pre-programmed with an embedded Basic.

It's very good, indeed. But also a far cry from those toy computers of the 1980s.
It's a professional Basic, with EPROM writing/reading routines, interrupt handling etc.

Also, it's being made open by intel and can be freely used.
It can still be flashed onto modern 805x controllers.

No idea how the author makes so strange connections, though.
AH-BASIC was like a BASIC-based OS for embedded use rather than our typical homecomputer Basic.
A tiny bit like Arthur OS for the Acorn Archimedes used to be.

If you're curious, there are some BASIC-52 clips in my channel.
There's even a video about an DOS-based 8052 emulator running on an 8088 PC.

https://m.youtube.com/@dreambyte7926/search?query=8052

Probably because BASIC was everywhere... including many home computers which would have been the target of these textbooks (Spectrum/C64 etc). These examples weren't so much trying to teach 'programming' so weren't pushing the boundaries of the language or optimisation, they were more for conveying mathematical concepts and algorithms and so a more natural language syntax was probably prefferable. It was litterally just giving an implementation as a more interactive teaching tool so you could play with various arguments and parameters and see the effects/changes.

The listings had line numbers (so we are talking pre QBasic etc) and they didn't go into any detail about what the language syntax did (although you could work it out).

Also remember practically no student had graphical calculators til late 90's so there was no other way to program anything in a classroom. So home computers would have been the only way outside of a school computer to try this... and they pretty much all had BASIC.

As I said in my post, they were listed as BASIC, not any specific version iirc. I wrote some on a PC (as we had one at home), but since the books I used were UK published, and Acron computers were the defacto (hang over from the computer literacy push of the 80's... every class room at a UK school had at least 1 BBC Master). I suspect they were written with BBC Basic (or maybe even a Spectrum?) in mind

I didn't even see a PC in a UK school until '97, although I heard they were around in other schools, so a PC would have been a bad target. For maximum reach, the most generic BASIC syntax without any specific version was probably used. It certainly worked on the 5150 when I did it, MSDOS 3.X maybe??? Which ever BASIC version that would have been.

Reply 5 of 19, by Hezus

User metadata
Rank Member
Rank
Member

Since you mentioned the Netherlands: I work at the academy for primary education and I snagged up a book that they were going to throw out:

LMVyPEn.jpg
(Translates to 'Learning and Teaching with the Computer')

It predates your search a little (it's from 1980) but it goes into detail of the possibilties of the PLATO terminal system. The book does mention the use of BASIC but it certainly wasn't something that was taught at schools at that time.

Pretty cool to read how they were already thinking of using simulations and AI in the late 70's. It took almost 50 years for this to become accessible. The kids I teach are still really amazed by AI and VR, so it's still not common place.

Visit my YT Channel!

Reply 6 of 19, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie
spiroyster wrote on 2023-06-21, 15:34:

Probably because BASIC was everywhere... including many home computers which would have been the target of these textbooks (Spectrum/C64 etc). These examples weren't so much trying to teach 'programming' so weren't pushing the boundaries of the language or optimisation, they were more for conveying mathematical concepts and algorithms and so a more natural language syntax was probably prefferable.

Oh not to forget, but TI and HP ported their BASIC to their handhelds, and that would have been (still is?) a reason to have BASIC instruction in the math text books in the 80s and 90s. Yes, the exact syntax would not have mattered for teaching concepts.

Reply 7 of 19, by Shponglefan

User metadata
Rank l33t
Rank
l33t

These aren't textbooks per se, but the Usborne line of programming books were aimed at children and taught BASIC programming.

They're current available for free (as PDF docs) from the Usborne web site: https://usborne.com/ca_en/books/computer-and-coding-books

These books were my first introduction to programming. I was probably 1o or 11 years old at the time. By the time I graduated high school I had learned BASIC, Pascal, C, and a bit of assembly language.

These were definitely effective at sparking an interest in programming.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 8 of 19, by Jo22

User metadata
Rank l33t++
Rank
l33t++
the3dfxdude wrote on 2023-06-21, 15:33:

For the average home computer user, Visual Basic, Turbo Pascal, Turbo Basic cost money. [..]

No, it didn't. People pirated software in practice. That's what the majority did, so it was free. Especially the C64 kids on the school yard did that.

In schools, Turbo Pascal was an accepted language in IT class (in late 80s, 90s).
The Pascal language was being favored by teachers due to its logical design and because it wasn't encouraging spaghetti code.

Also, schools usually got special offers (doscounts etc) for their PC stuff.
Visual Basic etc were even available special students versions (learning editions).

Edit: The kind of BASIC that was being used on home computers for teaching purposes in the early 80s was very crude.
"Computers" like the Commodore VIC-20 (and C64) had a very limited Basic, forcing users into using DATA fields and PEEK&POKE to get something useful done. Not cool.
In the end, they'd be good at 6502 assembly, which nobody was needing in real life, though.

I've seen a few YT videos about Basic use in class room. LOGO and the turtle graphics also were an alternative for teaching programming (mid 80s).

By contrast, 1970s Commodore PET computers and C128 (Basic v7) had real BASIC versions.
That didn't help those poor C64 freaks, though. On paper, SIMON Basic was an acceptable extension, but it wasn't being used very often.

Last edited by Jo22 on 2023-06-21, 21:07. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 19, by appiah4

User metadata
Rank l33t++
Rank
l33t++

For me definitive BASIC will always be GWBASIC even thoıgh I learned to code BASIC on an Atari 800XL..

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 10 of 19, by Jo22

User metadata
Rank l33t++
Rank
l33t++
appiah4 wrote on 2023-06-21, 21:05:

For me definitive BASIC will always be GWBASIC even thoıgh I learned to code BASIC on an Atari 800XL..

GW-BASIC is okay, but not as good as MBASIC / BASIC-80 was on CP/M.
Quick Basic (or the cut-down version QBASIC) started to implement advanced language elements.

It's essentially a hybrid of Pascal syntax with Basic language.
That's why it was so popular, I think.
It allowed using classic procedural, problem-oriented programming, but in a modular way.

QB and its competitors (Turbo Basic, Power Basic, PDS 7.x, VB DOS etc) made it a powerful tool for prototyping and RAD.

That's why so many sample codes had been written over the years.
Or why VB6 was so long-lived.

https://en.wikipedia.org/wiki/QuickBASIC

Edit: Whats also not to be forgotten:
BASIC code wasn't really platform independent in real-life.
More than often, programs had to be rewritten in large parts if they were being written for another computer. Or shoukd I say home computer?

The Basic versions on 8080/Z80 PCs (CP/M) had a more standardized feature set, by comparison.

On 8086 PCs, QuickBASIC, Locomotive basic (GEM) etc. also had a wide basic dictionary of BASIC commands.

Likewise, Turbo Pascal v3 was an industry-standard, sort of.
It ran on both CP/M and DOS PCs of the time, and could use Units, function libraries etc.

Edit: Sorry for being so hard here, but old BASIC wasn't all about rainbows and sun shine.
Especially in the math department, the differences were huge!

Most Basics were integer Basics, without proper rounding or floating-point math.
Leave alone transcendental or logarithmic functions.

They weren't even usable in school, because they didn't follow the accepted math rules the schools were teaching.

Things like parentheses first, then multiplication/division, then addition/substraction etc.

In fact, oldtimers of the 1960s had learned different rules or so I heard, making this issue even more complicated.

Edit: That beibg said, I started out with Basic, too, btw.
I learned my first steps with BASIC 5510, then S-BASIC..

Edit: Another reason why BASIC on home computers was so catastrophic was limited storage/address space.
Everything had to fit into a lumpy 64KB of memory, with the additional requirement to leave memory available to users for programming code.
That's why most BASIC interpreters were so lacking. They had to be as tiny as possible.

Okay, while the 64KB limit also applies to QuickBASIC, technically, due to 64KB segment size of x86, the situation is not as bad in practice.
These 64KB are free to the BASIC program, and segments can be switched (QB supports that, PDS 7.x can addess large memory).
Also, operating system functions (KERNAL in C64 slang) arw in separate in memory locations.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 11 of 19, by doshea

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2023-06-21, 20:55:

No, it didn't. People pirated software in practice. That's what the majority did, so it was free. Especially the C64 kids on the school yard did that.

In my school yard, the kids were pirating games 95% of the time, and sometimes some other very popular software like Microsoft Windows and Word. And then people in office environments also pirated software but the situation was much the same. I think I knew someone I could have gotten Microsoft or Turbo Assembler or QuickC from, but generally it seemed like such a small number of people had any interest in development tools that they just didn't spread around.

My school certainly didn't want to get in trouble for piracy, nor spend money on development tools, so I think all we had was GW-BASIC then QBasic. I could imagine that the situation may have been quite different in countries less closely tied to the west as software publishers would struggle to take legal action for piracy, so schools might have felt comfortable with piracy.

Another advantage of BASIC is that PC books and magazines would often have examples and information in them. For example the PC Magazine DOS Power Tools book (1988) explains some things using BASIC, and while the tools in it are mostly written in assembler (without source provided), there are some written in BASIC (source provided of course since they weren't written for a BASIC compiler I guess).

BASIC just had a critical mass or something.

From what little I know from reading these forums, I imagine that by the mid '90s, a UK school textbook could have example code in Pascal or VB and then have a note saying 'if you don't have Borland Delphi or Microsoft Visual Basic, contact your local Blobby "retailer"', because I'm pretty sure when I've searched for various old pieces of software like that online, I get matches on some of those Blobby pirate CDs, and people on here have made it sound like there were people selling those all over the place 😁

Reply 12 of 19, by Ryccardo

User metadata
Rank Member
Rank
Member

In 2003, when I was 8, my uncle gave me "Fisica" by someone called Paride Nobel (a complete unknown, apart from apparently having continued to write until at least 2012), that being a late 80s high school physics textbook (not too good for learning, IMO - topics are very rushed despite being a thick, 4-column A4-ish sized book) that ends in a fairly long appendix of commented type-in programs for C64 Basic and Oxford Pascal 😀

photo_2023-06-25_23-12-07.jpg
Filename
photo_2023-06-25_23-12-07.jpg
File size
69.81 KiB
Views
1343 views
File license
Fair use/fair dealing exception
photo_2023-06-25_23-12-34.jpg
Filename
photo_2023-06-25_23-12-34.jpg
File size
127.01 KiB
Views
1343 views
File license
Fair use/fair dealing exception
photo_2023-06-25_23-12-40.jpg
Filename
photo_2023-06-25_23-12-40.jpg
File size
101.57 KiB
Views
1343 views
File license
Fair use/fair dealing exception

At that age I couldn't make much out of the contents, but it taught me something called a Commodore 64 existed, then the internet taught me about commodore.ca (rip) and VICE - it might well have been my first retro* AND programming experience!

* Not sure anymore if going to a friend's home and seeing Win 3.1 in action on his only computer was before or after...

Reply 13 of 19, by pbagain

User metadata
Rank Newbie
Rank
Newbie
spiroyster wrote on 2023-06-21, 15:34:
Jo22 wrote on 2023-06-21, 14:58:

The book/article seems very provoking, indeed, because it seems to ignoring the availability of QBASIC and Turbo Pascal on 90s era PCs.

Probably because BASIC was everywhere... including many home computers which would have been the target of these textbooks (Spectrum/C64 etc). These examples weren't so much trying to teach 'programming' so weren't pushing the boundaries of the language or optimisation, they were more for conveying mathematical concepts and algorithms and so a more natural language syntax was probably prefferable. It was litterally just giving an implementation as a more interactive teaching tool so you could play with various arguments and parameters and see the effects/changes.

My interpretation is that Brin indeed laments the loss of even simple, ubiquitous home-computer BASIC languages, but not any one specific variant or implementation. Just that it made it possible for publishers to adopt in text books and as a side-effect many school children got at least some exposure to programming at an early age, which possibly has all kinds of advantages down the line. In one of his many comments under the article he even makes a back-of-the-envelope calculation along the lines of: x-million children were exposed to basic/BASIC programming examples every year as part of their schoolwork, 10% may actually try the examples and for some percentage of those children the programming bug may catch on, etc.

There are of course other options for publishers nowadays: possibly even too many options, compounding the problem. Anyway publisher's seem to have mostly given up on the idea of explaining concepts with code examples, which I do feel is kind of a missed opportunity in general, even though no, not everyone needs to "learn to code".

Btw, in his article(s) Brin also proposes a solution adapted to modern times. It sounds good theoretically, but depends quite heavily on industry standardization. Kind of tricky at the best of times as many commenters rightly point out, but worth a try 😀

Reply 14 of 19, by pbagain

User metadata
Rank Newbie
Rank
Newbie

Thanks everyone for your great contributions!

It's going to take some time to parse all your feedback and look up some of the references.

Shponglefan wrote on 2023-06-21, 17:41:

These aren't textbooks per se, but the Usborne line of programming books were aimed at children and taught BASIC programming.

They're current available for free (as PDF docs) from the Usborne web site: https://usborne.com/ca_en/books/computer-and-coding-books

Wow, these books are amazing! I would've loved this as a kid. The fact that the publisher has made them available is just fantastic.

Note for others: if the link goes to an empty page it may be redirecting you to an empty localized page. I used a VPN to solve that problem.

Reply 15 of 19, by appiah4

User metadata
Rank l33t++
Rank
l33t++

I think Python is more or less filling that void left behind when BASIC more or less died..

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 16 of 19, by gerry

User metadata
Rank Oldbie
Rank
Oldbie
appiah4 wrote on 2023-06-26, 10:47:

I think Python is more or less filling that void left behind when BASIC more or less died..

i think so - by and large

it isn't there when a computer is switched on like old line numbered basic in 8 bit machines used to be, but it is seemingly ubiquitous now

i suspect what is happening is that there is a smaller proportion of computer users that understand even simple programming now than there were, but that it is mostly because there are so many computer users now

Jo22 wrote on 2023-06-21, 14:58:

Plain BASIC as it was available on low-end systems like C64, ZX Spectrum or ZX80 is a really bad teaching tool.

it is, but it also formed a kind of general familiarity with ideas like variables, string manipulation, conditional branching and so on that i suspect may have been behind some of the early excel 'power users' unafraid of employing such logic in excel formulas or vba and maybe if self-taught inspired others to learn programming more deeply and start careers

Reply 17 of 19, by appiah4

User metadata
Rank l33t++
Rank
l33t++

My BASIC training on the ATARI 800XL and later in GWBASIC was what made me an Excel maestro at work when I started making very complex spreadsheets and coding Macros..

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 18 of 19, by Shponglefan

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-06-26, 10:47:

I think Python is more or less filling that void left behind when BASIC more or less died..

I suspect game engines are also filling that niche.

Part of the appeal of BASIC back in the day was being able to make your own games.

These days the availability of engines like Unity, Unreal, GameMaker, etc., provide an easy entry point into game development without having to program games from scratch.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 19 of 19, by doshea

User metadata
Rank Member
Rank
Member
pbagain wrote on 2023-06-26, 10:19:

as a side-effect many school children got at least some exposure to programming at an early age, which possibly has all kinds of advantages down the line. In one of his many comments under the article he even makes a back-of-the-envelope calculation along the lines of: x-million children were exposed to basic/BASIC programming examples every year as part of their schoolwork, 10% may actually try the examples and for some percentage of those children the programming bug may catch on, etc.

It probably would have worked for me! As it was I don't think I had any textbooks with code in them and the GW-BASIC manual that came with my PC was so bad that I now can't understand how it was released, but I was able to borrow an IBM BASIC manual and it had some examples that helped me, and I got some example code from my dad that just had some basic input, output and conditionals, and I kind of figured out quite a bit from that.

Off-topic: I'm pretty sure my GW-BASIC manual had pages out of order, lots of typos, and one thing I definitely remember from looking at it recently as an adult with access to the Internet is that in at least one case it described features that were only available in the BASIC compiler. It's like they were part-way through converting the GW-BASIC manual into a manual for the BASIC compiler, had to ship a GW-BASIC update, and just sent it as it was without any proofreading. No wonder I didn't find it very useful as a ~10 year old! The IBM BASIC manual on the other hand had actually been upgraded by someone my dad worked with at some point - new pages added, table of contents replaced, etc., as I noticed when I checked it recently - but it was still usable.