Happy (belated) 60th birthday Basic!

https://arstechnica.com/gadgets/2024/05/the-basic-programming-language-turns-60/

My first introduction to programming was using HP's version of Dartmouth Basic (Time Shared Basic [TSB]) in about 1973. We've come a long way since then!
Computer Lab terminals for the school district mainframe, running BASIC with paper tape for data storage. 1975.
Heh, yeah! Commodore!

I remember spending hours typing in those non-sensical example programs to do simple stuff. (It was only later that I realized that most of that junk was just data used by the program.)

I also got to play with some simple programming on my fatherā€™s old CP/M (Z80) setup.

But I really got going on our 8088, when I started writing assembly routines to tell GW-BASIC how to use with the VGA X-mode so I could write myself simple games.

(1975 I was a wee babe just growing my first teeth.)
Last edited on
1
2
3
4
5
6
7
10  DIM A$[20]
20  A$ = "Happy Birthday"
30  L = LEN(A$)
40  FOR A = 1 TO L
50  PRINT A$[1, A]
60  NEXT A
70  END


1
2
3
4
5
6
7
8
9
10
11
12
13
14
H
Ha
Hap
Happ
Happy
Happy
Happy B
Happy Bi
Happy Bir
Happy Birt
Happy Birth
Happy Birthd
Happy Birthda
Happy Birthday


HP TSB code using the SIMH simulation
http://simh.trailing-edge.com/hp/
Last edited on
I came late to the party, school's apple II had basic and I had already been programming my HP calculator for a while before I got to that. But I never did much more than print stuff to the screen; it wasn't my computer and I didn't have the allowed time on the box to do much. The first time I really tried basic, I already knew pascal and had that on my own machine. I think the school machine with the tape recorder storage attachment (cassette music type!) had it but by the time it could do anything at all your time was gone.

Still, just a couple of years ago I wrote some basic in both excel and for a database manipulation program that let you inject it. Its alive and well
Last edited on
Maybe it is just my old fart curmudgeonly nature reminiscing....

BASIC IMO should be revived and used to teach people the very beginning basics of computer programming, people who have never done any programming. C++ and other high-level languages are too extensive and convoluted as a primer for programming. A couple of hours/days mashing on some BASIC code would make learning C++ or Java or Python or whatever less stressful.

I still have a BASIC source for the Super Star Trek game, I should dig it out of storage and waste some time reading it, along with the C sources for similar versions of the game.

FYI, I ain't even remotely talking about that travesty known as Visual Basic. If one is going to mash up some WinAPI code either use a more decent framework or to-the-bare-metal C/C++ original Desktop coding.
I actually really like TrueBasic (https://www.truebasic.com/).

But BASIC was never a very good teaching platform IMHO. Pascal is. And FPC is amazing. But, thatā€™s only the opinion of me and N.Worth. Heh. šŸ˜‰
But BASIC was never a very good teaching platform. Pascal is.


Agree.

I still have a BASIC source for the Super Star Trek game

https://github.com/philspil66/Super-Star-Trek
from the wiki..
Pascal was influenced by the ALGOL W efforts, with the explicit goals of teaching programming in a structured fashion

so yes, its ideal for teaching the basics. That or C, which has you down and dirty in the machine, learning how it all works, both work as first languages.

But there is NO TIME to spend a year in a 4 year program learning the basics now. If you get a full 1/2 year of fundamentals, you are lucky these days. Most schools are skipping all that and going directly to OOP on day 1.
Wirth was always dissatisfied with Pascal from day one. That is why he eventually created Modula-2 and Oberon/2/L/etc. If you are interested in something cool, check out Oberon+ (https://oberon-lang.github.io/).

But by the time he had refined things it was too late. Delphi had already burnt out because C++ and VB and the like were taking the world by storm.

My experience has always been that schools are unbalanced in their approaches, and either:

Ā Ā ā€¢ waste time on C basics, or
Ā Ā ā€¢ expect you to figure out basics yourself

I personally think that by the time you get to Uni, having decided to learn to program, you would have already taken the first steps yourself at home.

Even back in the days of BBS and useful knowledge mainly via bookstore it was not too difficult to hack at your machine and Make Stuff Goā„¢.

I am unsure what pedagogy is most useful. As long as you learn to develop code with proper structure then all is good. If you need to learn at some point how pointers work or other machine structure and the like, you should hopefully have the right mindset already instilled to make that a very simple thing to pick up.

Personally, I have never considered C to be a very good teaching language. It requires too much deep diving for even simple stuff, like getting a string input from the user, for example. A simple task that most languages can do for you, but not C. (Thereā€™s a reason that stupid ā€œcs50ā€ library from Harvard, of all places, is so popular.)

Imma gonna stop rambling now.
Last edited on
I had Commodore 64, but a more serious peek into code was when I had to run a (QBasic?) program and rather than feeding data repeatedly (with way too many typos), I ported the thing into Visual Basic. (Did not know term "port" then.) Anyway, from then on the data (and results) were stored in spreadsheet that also had that number cruncher.
I had a C=128, a souped-up version of C=64, several C=1541 floppy drives and a special hole punch to be able to use both side of the 5.25" disc. I ran a dial-up BBS with the setup, late 1980's. The cost of the BBS software and all the hardware was over $4,000. Cheap for what 80's tech.

I also had an Amiga 500, with a 500MB HD "sidecar". Ooooh, 500MB! That was a lot of space for the time. Instead of having multiple external floppy disc drives other than the single built-in to the case.
Registered users can post here. Sign in or register to post.