From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
To: COFF <coff@tuhs.org>
Subject: [COFF] Re: Fwd: [ih] NYT: Thomas E. Kurtz, a Creator of BASIC Computer Language, Dies at 96
Date: Sun, 17 Nov 2024 17:43:18 -0600 [thread overview]
Message-ID: <20241117234318.vx5ygtduutcsmiav@illithid> (raw)
In-Reply-To: <CAC20D2M1b=_pDh2jY8Yuhf4_V9MN2TsCCNKWvpBwu_VXndybXA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6874 bytes --]
I have a testimonial to offer as a member of the generation who
really did grow up using 8-bit micros and Microsoft BASIC...
> On Sun, Nov 17, 2024 at 4:33 PM Dan Cross <crossd@gmail.com> wrote:
>> BASIC is much maligned, but was important nonetheless.
At 2024-11-17T17:17:35-0500, Clem Cole wrote:
[...]
> But, in all of those cases there was much more computer behind it and
> there was some argument the added complexity was worth it to expose
> “system’s features.”
Yes. I think Wozniak's Apple I made an excellent choice by booting into
a monitor, not a specific language interpreter. Microsoft of course did
not make that decision. They had a BASIC, and "the only thing that
matters in this business is volume", as Gates has been quoted saying, so
it was to their advantage to funnel all micro users down a cattle run if
they could.
And they did.
And so did Apple, later.
> The problem came in that because the core language K&K described was
> so simple it was easy to implement on 8-bit systems.
This was true of Forth, too. I knew of its existence (and Pascal, and
COBOL) when I was a kid, thanks to magazines like _80 Microcomputing_,
but didn't get to experiment with it in person until GNU Forth (also I
had a chance to play with a Canon Cat for a time--that was pretty neat).
> But by then the RSTS extension had started to become more popular
> however the 8-bit micros lacked the systems-ness of even something
> like RSTS. The result of the micro versions of BASIC was
> Frankenstein’s creature - which was really hard to love unless you
> knew no better.
When I learned that micro BASICs all threw out Dartmouth's MAT
operators, I was pretty annoyed. Even with a rudimentary exposure to
matrix algebra in high school I could tell that they were the sort of
computational application that screamed for automation by computer.
Unless the machine sat in the corner of the room as a toy and was
operated only by people who didn't write (or even modify) programs in
the first place, and had zero curiosity about programming, I think the
prevalence of the "forever corrupted by BASIC" specimen is overstated by
several orders of magnitude.
It was impossible to operate a TRS-80, an Apple, or a Commodore without
being aware of alternatives to BASIC as a programming language--
foremost, the availability of machine language. The hobbyist magazines,
like the aforementioned 80 Micro, the _Rainbow_ for a Moto 6809-based
machine (nothing to do with the DEC product), and even Radio Shack's own
"Microcomputer News" monthly, which absolutely was dedicated to flogging
only products they sold from their own stores, ran features or columns
on machine/assembly language programming in practically every issue.
(The last went so far as to run a series presenting the architecture and
some of the organization of the Sharp PC-1500/TRS-80 PC-2 "pocket
computer". I would attach it for the list's amusement, but the PDF is
too big. The author was Bruce Elliott.)
ML was inescapable. It was blindingly faster than BASIC and necessary
to program certain features of the hardware that Microsoft or its
licensees didn't get around to abstracting in the language.
Considering games, collections like David Ahl's were largely portable to
help protect sales, and limited to Teletype-like interaction because
that's often the environment whence they originated. But there
were hardly any commercial game programs for the micros that _didn't_
poke into RAM for device configuration, contrive to poke ML subroutines
for speed or obfuscation, or were just outright written in ML.
To be unaware of alternatives to BASIC on an 8-bit macro was to achieve
a miraculous feat of ignorance.
Granted, I'm sure we've all met at least one programmer in our lives who
fit that description. But a familiarity with BASIC likely wasn't their
problem.
An even halfway serious 8-bit micro user was never unaware of the
underlying ISA. William Barden, Jr. wrote multiple bestselling books on
assembly language programming, and he had competition.
To not even be tempted to go to the "bare metal" on these machines would
be a feat of self-restraint that would tax even the sternest ascetic.
> And here in was the issue, because the micros were inexpensive and
> they all included a simple BASIC you sort of warped a generation or
> two without real guidance. And because there was little
> standardization in the system interface anyway, what you saw was more
> and more ugliness. By the time the micros grew up enough to support
> more system features, MS was full bore into trying to own everything
> so there private extensions became ‘standardize in there world but no
> where else.”
Alternatives to Microsoft's dialect of BASIC were known and sold,
sometimes bundled with alternatives to the vendor's OS. Frequently
these had better feature sets and/or higher performance than MS BASIC.
They had to, to survive at all in the market. Microware's BASIC-09, a
really disciplined dialect for the time that I feel pushed BASIC in the
direction of Pascal as far as it could, was an eye-opener to me and
prepared me well to encounter Pascal and C for real. And again, thanks
to hobbyist magazines and culture I knew of the existence of those
alternatives long before I got to experiment with them.
One of the nice features about the M6809-based Color Computer 2, was
that it shipped enough RAM chips for the entire address space along with
its ROM. That meant that while part of the reset sequence copied the
ROM into RAM, you could then get rid of it, replacing it with something
else (usually an OS). You could then enjoy a BASIC-free, or even
Microsoft-free, runtime environment.
Again, the "(MS) BASIC is the only way" cohort must comprise (a)
mythical beings, (b) mindless Microsoft boosters, and (c) the supremely
incurious.
I think the trope of maligning BASIC is more about maligning people,
hence the emphasis on programmers supposedly being irreversibly brain
damaged by having acquired competence in the language. Some people love
to construct hierarchies and pecking orders, and often the person with
the most prescriptions for who shall get pecked, and why, has a
startlingly unimpressive beak for programming.
> By then teacher has given up and switched to better teaching
> languages, al biet, ones that did require a bit more computer system
> to expose.
Relatively few of us would go back to a Unix that would fit into a
PDP-11/45 as a daily driver, either. ;-)
At the risk of getting back on topic, I reviewed Kemeny & Kurtz's _Back
to BASIC_ 15 years ago.
https://www.goodreads.com/book/show/2140350.Back_to_BASIC?from_search=true&from_srp=true&qid=l7wRgphXzf&rank=9
Regards,
Branden
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2024-11-17 23:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <01f401db3932$4b17f190$e147d4b0$@glassblower.info>
2024-11-17 21:33 ` [COFF] " Dan Cross
2024-11-17 22:17 ` [COFF] " Clem Cole
2024-11-17 23:43 ` G. Branden Robinson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241117234318.vx5ygtduutcsmiav@illithid \
--to=g.branden.robinson@gmail.com \
--cc=coff@tuhs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).