A Tribute to the Compucolor II (2013)
compucolor.org
compucolor.org
Discovering old obscure platforms like this is really a treat. It's like a peek into an alternate universe of computing. What did people do with these? Did they use them for games? Things like inventory and payroll? Solving engineering problems? Getting online with like CompuServe? Did their users communicate with each other? Was there a boutique industry for software?
Of course we know all about these things for the "winners", your Apples, Commodores, and Sinclairs. But what was the "scene" like for the Compucolors and Videobrains? The ones that maybe moved a few tens of thousands of units?
In practice, there was enough in common between BASIC-PLUS and Applesoft that you could mostly treat the Apple's BASIC as a subset.
They were awesome.
I still think there is a place for basic-with-linenumbers for teaching beginners.
One of the most awesome things about it was that when you switched it on it just powered up and was a computer. It dropped you straight into a prompt.
You don't need named subroutines for that, at all.
Original BASIC was essentially a more user-friendly 1956 FORTRAN, but timeshared, interactive BASIC terminals beat Fortran punched card decks, and BASIC was more accessible than assembly language for microprocessors but still ran in 8KB. Most importantly, it seems that for many people BASIC enkindled a love of computing (as can be seen in many HN comments.)
You're right though that large and composite programs benefit from modularity and named, multiline, reentrant functions. And BBC BASIC seems like it was an impressive system. In an alternate reality, I wonder what would have happened if BASIC and Tiny BASIC had been based on another language (e.g. Lisp, which had history at Dartmouth) and Bill Gates had implemented a version for the Altair. (Note there was later a muLISP/Microsoft LISP that ran in 20KB.)
JavaScript seems to be as ubiquitous as BASIC once was, and is a modular and scalable language used by novices and professionals alike. But there just isn't the push to programming that "boot to BASIC" systems delivered, or the pull to create your own programs or web sites, since there are millions of existing ones that you can use.
I have sometimes¹ wondered this about Forth and Occam; both of which were used by some microcomputers at the time.
But I'd still say they're an OK choice for toddlers.
I agree with you that writing anything significant (comfortably) requires more than BASIC gives and you need to move on to something more substantial pretty quickly.
In my case the beginning of my path was:
ROM basic on a Compucolor. GWBasic on a XT PC. Turbo Pascal. Quick C/Turbo C.
A bit of assembly thrown in in between (think more Debug than MASM).
Edit: added my path
BASIC - original BASIC - was designed to get people programming computers for fun and work, with little or no weight given to understanding 'computer science'. After a long career devoted to the latter, I respond 'pfooey!' to that.
Named user-defined functions is essential for any program longer than a screenful of text.
I wrote business software back when people did such things in BASIC. It was no big deal.
I remember a conversation with someone who insisted that no one should be playing songs on the guitar until they first memorized all of the scales. I’m just strongly advocating building joy and a feeling of capability before anything else.
On the other end, I really can't stand Scratch as being distant enough from real programming to make the leap difficult (as seen by my son and fellow students).
And neither are you. Why are you speaking for someone else, much less a stranger on the internet?
you presumably wrote “business software” as an older, experienced, programmer?
No, your presumption is wrong. I specified "business software" because business software of the era was typically more complex than other software, and thus required more GOTOs and other conventions that the previous commenters have stated are problematic.
> No, your presumption is wrong.
Fair enough. So it was “no big deal” for you. But functions clearly have value, since every language since that time has added them as a language feature. And I claim that, barring the occasional genius like you, most people (including myself at that time) actually need the language support in order to be able to get used to building abstractions in ever larger programs.
The Compucolor 8001 (1976) - https://news.ycombinator.com/item?id=8391344 - Sept 2014 (6 comments)
Much of my nostalgia for vintage machines has faded but I still have a twinge for this one.
I first saw one some time in the 1970's when I was < 10 years old - magic.