Live data from Hacker News

Lost Lessons from 8-Bit BASIC

prog21.dadgum.com

31–40 of 85 posts

Re: Lost Lessons from 8-Bit BASIC

#31
I think the article misses the point a little bit. The IDE facets that the author fondly remembers isn't part of the BASIC programming language, it's part of the command shell. It's loosely akin to your terminal emulator running Bash. By default it works in real time but you can write more complicated routines programmatically and then run them at your convenience; and you can do so from the shell prompt (either via aliases, shell functions or just echo'ing to a shell script in a similar fashion as his line numbered example).

Plus a lot of his complaints seem to be about the modularisation of modern languages - which seem an odd complaint to make in my opinion. If anything, I'd personally argue that things like importable, self-contained, chunks of code is one of the single greatest advances.

He definitely has a point that the barrier for entry these days is much higher (and this is probably why so many kids these days fall into web development over native applications) but I think the examples he's used don't justify the conclusion he's trying to draw. And neither do I agree that regressing to a BASIC-like environment would fix the problem. I think the problem is simply expectation - people expect so much more that there often isn't the patience to start with the basics. Plus the "code me!" vs the "consume me!" mindset raised by chx[1] erodes what little patience some might have.

That's my 2c worth anyway

[1] https://news.ycombinator.com/item?id=8256211

Re: Lost Lessons from 8-Bit BASIC

#32
post #31

I think the article misses the point a little bit. The IDE facets that the author fondly remembers isn't part of the BASIC programming language, it's part of the command shell. It's loosely akin to your terminal emulator running Bash. By default it works in real time but you can write more complicated routines programmatically and then run them at your convenience; and you can do so from the shell prompt (either via…

BASIC and its command shell were in an 8KB ROM. They were one monolithic program. You've got modern ideas, and trying to apply them to a 20-year-old environment. Its not 'like' a lot of things; it came before them so the most you could say is, those things are like BASIC.

What BASIC was, was an extremely accessible try-it-now environment that needed no installation, no setup, no environment variables, no directory structure. It was what we thought of when we thought of interpreters, as opposed to compilers. But then interpreters got all file-oriented and broken too.

SO there have been a lot of improvements since then. But some of what we lost was very, very different. And some of it was valuable in a way.

Re: Lost Lessons from 8-Bit BASIC

#33
post #21

Earlier quoted context omitted.

Even the IBM PC and XT had BASIC in ROM, which worked much the same way; and it also came with a complete set of schematics and the source code of the BIOS (I don't think the source for ROM BASIC was included, since it was licensed from Microsoft.) While it wasn't truly "open source" in the legal sense and was still copyrighted, it gave users a chance to learn how their machines worked all the way down to the hardwar…

... I think a large part of it has to do with the notion that computers are somehow "magical" and "mysterious" things that don't follow the same rules of the universe as everything else. Excellent point. Computers are indeed like bubbles of custom universes that don't follow the rules of this one. The web doesn't have a real-world metaphor. How do those universes and their foundational laws get created? By programmin…

Regarding machines and discoverability: I think an interesting comparison to flesh out would be computers vs. cars. Compare how tinkerers in each came to be (opening up their parents' car/computer, for example). Compare how "the average user" treats the thing when it breaks. Etc.

Re: Lost Lessons from 8-Bit BASIC

#34
post #2

There is one more important thing here: the 8 bit computer immediately invited you to start coding. The barrier to entry was incredibly low to the point of nonexistent. Compare this to a laptop today or even worse a tablet. I very strongly believe that perpetuating a "code me!" mindset vs the "consume me!" mindset has really big consequences. The ability to make your computer do something that you can do something wi…

You can open a web browser on a computer these days and plug away at HTML and Javascript and do some really neat things. It's the BASIC of this generation.

Re: Lost Lessons from 8-Bit BASIC

#35
post #31

I think the article misses the point a little bit. The IDE facets that the author fondly remembers isn't part of the BASIC programming language, it's part of the command shell. It's loosely akin to your terminal emulator running Bash. By default it works in real time but you can write more complicated routines programmatically and then run them at your convenience; and you can do so from the shell prompt (either via…

BASIC and its command shell were in an 8KB ROM. They were one monolithic program. You've got modern ideas, and trying to apply them to a 20-year-old environment. Its not 'like' a lot of things; it came before them so the most you could say is, those things are like BASIC. What BASIC was, was an extremely accessible try-it-now environment that needed no installation, no setup, no environment variables, no directory st…

> BASIC and its command shell were in an 8KB ROM. They were one monolithic program. You've got modern ideas, and trying to apply them to a 20-year-old environment. Its not 'like' a lot of things; it came before them so the most you could say is, those things are like BASIC.

Except what you've described is exactly what I described with Bash ;)

> What BASIC was, was an extremely accessible try-it-now environment that needed no installation, no setup, no environment variables, no directory structure. It was what we thought of when we thought of interpreters, as opposed to compilers. But then interpreters got all file-oriented and broken too.

Again, all that is comparable with Bash:

1. Bash doesn't need any installation with most UNIX-like systems. But even in the rare example that Bash isn't bundled with your OS, there's the Bourne Shell (sh) or even Windows cmd.exe (for all it's faults).

2. Bash et al doesn't require any set up.

3. Environmental variables are just global OS variables and since BASIC wasn't namespaced, all variables were effectively environmental variables.

4. Directories are a file system thing, not a language thing. However it's worth noting that many BASIC systems did have a directory structure even if though (at that point) nested subdirectories didn't really exist. You could have different storage devices that were switchable (akin to changing drive letter in DOS) and you could store multiple files on an particular medium. In fact I still have a stack of floppy disks for an Amstrad CPC 464 (which ran Locamotic BASIC) in my attic that would testify to this.

5. Bash et al are interpreters.

Don't get me wrong, I romanises about the old days too. They were fun. But I don't think you can blanket say "[it's a] 20-year-old environment. Its not 'like' a lot of things" just to dismiss any arguments you dislike.

Re: Lost Lessons from 8-Bit BASIC

#36
post #2

There is one more important thing here: the 8 bit computer immediately invited you to start coding. The barrier to entry was incredibly low to the point of nonexistent. Compare this to a laptop today or even worse a tablet. I very strongly believe that perpetuating a "code me!" mindset vs the "consume me!" mindset has really big consequences. The ability to make your computer do something that you can do something wi…

You can open a web browser on a computer these days and plug away at HTML and Javascript and do some really neat things. It's the BASIC of this generation.

But it's not in your face the same way. Most people I know likely have no idea that they can view the source of a web page, or what the "source" of a web page might mean. There are far fewer "bread crumbs" leading people towards activities that expose them to the plumbing underneath the services they consume.

Re: Lost Lessons from 8-Bit BASIC

#37
I just habe finished reading Petzold's Code after having it in my reading list for several years now. I expected something along the same lines as Code Complete and got something entirely different. And boy, I was in for a ride. I read it in two days straight. I think this book can offer an answer for us who were too late for the type of computer mentioned in the linked article. Has any of you experience in giving this book to people who don't have much to do with technology or even children?

Re: Lost Lessons from 8-Bit BASIC

#38
post #2

There is one more important thing here: the 8 bit computer immediately invited you to start coding. The barrier to entry was incredibly low to the point of nonexistent. Compare this to a laptop today or even worse a tablet. I very strongly believe that perpetuating a "code me!" mindset vs the "consume me!" mindset has really big consequences. The ability to make your computer do something that you can do something wi…

[deleted]

Re: Lost Lessons from 8-Bit BASIC

#39
post #35

Earlier quoted context omitted.

BASIC and its command shell were in an 8KB ROM. They were one monolithic program. You've got modern ideas, and trying to apply them to a 20-year-old environment. Its not 'like' a lot of things; it came before them so the most you could say is, those things are like BASIC. What BASIC was, was an extremely accessible try-it-now environment that needed no installation, no setup, no environment variables, no directory st…

> BASIC and its command shell were in an 8KB ROM. They were one monolithic program. You've got modern ideas, and trying to apply them to a 20-year-old environment. Its not 'like' a lot of things; it came before them so the most you could say is, those things are like BASIC. Except what you've described is exactly what I described with Bash ;) > What BASIC was, was an extremely accessible try-it-now environment that n…

I only disliked the wrong arguments :) Like

"The IDE facets that the author fondly remembers isn't part of the BASIC programming language, it's part of the command shell"

There was no such distinction. That's recasting of the facts into something understandandable today.

Know why the language keywords were so short? Because in an 8K ROM the symbol table was a significant hit on resources. Add a keyword? Means remove some other feature. It was a whole different world, with different constraints. And still it was usable, accessible, friendly even. At least when coming from nothing to a computer (instead of coming from 20 years of growth and confusing hindsight with foresight).

Re: Lost Lessons from 8-Bit BASIC

#40
David Brin and others have lamented the lack of an ubiquitous, interpreted, always-there programming environment to help get kids started down the path to software development. I tend to agree that it is a lot harder to penetrate the first layer than it used to be. So, from someone who also started with ROM BASIC, thanks for the memories.
Post reply on HN