Hacker News new | ask | show | jobs
by teddyh 2938 days ago
I would hope it runs something other than BASIC. BASIC is a terrible language, and the only reason it became popular is that there was a book published with a lot of games written in that language. People buying a home computer wanted games, and the commercial game market was initially nonexistent, so people wanted a computer with BASIC, since then they assumed they could play those games. The designers of this new computer might want to restrict themselves to old hardware, but there is no reason for them to restrict themselves to that old accident of history.

Naïvely, I would assume that something like Forth or Occam would be much better for this, and both are also age-appropriate.

10 comments

BASIC is a terrible language, and the only reason it became popular is that there was a book published with a lot of games written in that language.

Not even close.

BASIC was a very powerful language. Not "powerful" in the way we think of languages today with OOP and all that, but powerful in its flexibility. Each machine had its own version of BASIC that made the most of each machine's unique capabilities.

Games were probably the minority of BASIC programs. BASIC was a serious language for serious business programs, especially in sales and accounting.

If your needs were scientific, you went with FORTRAN. If you were needs were hardcore business, you went with COBOL. If your needs were academic, there was Lisp and a bunch of others. But BASIC was the common language that almost every computer had available.

Huge companies managed inventory with BASIC. Transit timetables were calculated in BASIC. Machine control, non-mainframe astronomy, specialized journalism applications, record-keeping, and dozens of other needs were handled well by programs written in BASIC.

The first program I ever sold commercially was essentially a single-user Salesforce for the Commodore 64 tailored for limousine companies. I wrote it in BASIC.

If you think BASIC was only used for games, that's a reflection of your limited experience, not of the limitations of BASIC.

No, not every version of BASIC made the most of the underlying machine's capabilities. The BASIC on the C64 (the most popular 8-bit machine of all time) did not support graphics or sound.

Seriously, there was no support for what made the C64 the C64 in the C64 BASIC! You wanted grpahics? PEEK and POKE. Sound? PEEK and POKE.

You're right, there was no direct CIRCLE or BOX or other easy BASIC commands on the 64 unless you had a Simon's BASIC cart or something similar.

That said, I didn't have any trouble doing graphics on the 64 with PEEKS and POKES that was good enough to get one of my screens on the cover of Run Magazine. It wasn't easy, but once you got your brain around it, I remember it being pretty fun.

Sound, however... no argument there. But that could be because I've never been musical in any way whatsoever. Never understood notes and scales and such.

Basic was a fantastic choice for a computer back in the day, it was very straight forward for people that never used a computer before and pretty easy to fit into the ridiculous size constraints, most Basic interpreters had a few thousand bytes carved out for it, since many computers of the time had around 64 Kb in RAM and less in ROM.
Err no it wasn't because of a book! Its because most of the early machines had basic and normally the ones by Microsoft.

You might not know that is where Microsoft made its initial $

Most of the early machines had BASIC because of the book and the rising desire for BASIC. Also, the reason Microsoft made it initial money selling a BASIC interpreter for the ALTAIR is because people wanted BASIC, again mostly because of the book.
BASIC is just a ROM. If I recall correctly, I had a LISP cartridge for my Acorn Electron. Except I didn't know LISP and there was no internet. We had a library though.
I...don't think that's accurate. As far as I can tell, just about every significant 8-bit personal computer shipped with its own version of BASIC, starting with the Apple II in 1977. I really doubt that all of those were inspired by one book, especially since they used such different implementations that only the very simplest text-only programs could be ported without modification.
https://en.wikipedia.org/wiki/BASIC_Computer_Games

That's the book I learned to program from, a compilation of games in BASIC published in 1973. I don't know the truth of the GP's claim but reportedly that book was very influential so there might be something to it.

What's the best introduction to Forth or Occam for complete beginners to programming.

(I didn't downvote you, and I have upvoted your post.)

Starting FORTH was aimed at beginners. I wasn't one when I read it, so I couldn't really say. Certainly you wouldn't find a lot of games in Forth in the magazines.
the c64 supported k&r c via the abacus c compiler.

I learned c on my c64, in fact. a skill I still use 32 years later.

you can download the manual courtesy of archive.org: https://archive.org/details/Super-C_1986_Abacus

I had that. I interned at NASA as a high schooler, got exposed to C, and suddenly found BASIC lacking. SO I tracked down Abacus C at, as I recall, a JC Penney electronics section.

It didn't support then entire K&R standard though. No function pointers.

no, I had to learn about function pointers through my work with MUDs, had a nice curiosity to go along with it, and an excitement when I figured out how powerful they were.

mine came from a small software store that was a bed store the last time I drove by.

> BASIC is a terrible language... I would assume that something like Forth or Occam would be much better for this, and both are also age-appropriate.

BASIC had a couple huge advantages in that it ran in minimal memory and had a reasonable infix syntax. The infix syntax was a particular advantage in educational scenarios where it matched (roughly) with the way math was taught. (Which was never in pre or postfix notation.)

The cross-platform nature of BASIC was also useful. If you knew one microcomputer, it made it more likely that you could sit down at another and get it to do useful things.

It's easy to second-guess, but even in hindsight I think BASIC was a reasonable choice for the time, goals, and hardware limitations.

People forget that the B in BASIC stands for beginners, and for this purpose it's been tremendously successful. There's a real tension between the kind of languages that are preferred by users and those that are preferred by CS theorists.
Almost all of the 8-bit micros came with some dialect of BASIC built-in. The only one that I know of that had Forth out of the box, was the Jupiter Ace.

Also, Occam?! That is a concurrent programming language... I'm not sure it would have done too well on the machines of the day.