Live data from Hacker News

Lost Lessons from 8-Bit BASIC

prog21.dadgum.com

61–70 of 85 posts

Re: Lost Lessons from 8-Bit BASIC

#61

Earlier quoted context omitted.

It's not worthless , and neither is "watching shit scroll by for hours", but I think the better signal is in the motivation and tenacity of the kind of people who set out to do this in the first place. In the 80's, this kind of people made up a very large proportion of all computer users out of sheer necessity (heck, in the 70s, you generally had to assemble your own hardware as well). Today, it's a vanishingly small…

People do still assemble their own hardware and write their own dedicated programs for that hardware. The blossoming micro-controller movement is a lot like PC's were back in the day.

Of course they do. And people write web servers in assembly. But they don't need to do it to use a computer at all.

Re: Lost Lessons from 8-Bit BASIC

#62
post #6
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…

Also see "Why Johnny can't code" by David Brin: http://www.salon.com/2006/09/14/basic_2/

I have a lot of respect for Brin, but it's amazing how wrong that piece is. There's more code being written now than ever before, not just by kids but by all kinds of everyone.

There's an entire sub-culture of collaborative development - github, etc - which would have been impossible with 8-bit micro technology.

Away from that, a lot of non-devs have hacked together simple VBA/AppleScripts. And not a few people with zero experience have produced apps of reasonable quality.

Never mind web pages, including Wordpress sites.

Of course you can't own your hardware any more. But no one ever did. Even if you built a Z80 micro from scratch and burned your own EPROMs for it, you were still stuck with the original instruction set, and you likely had no idea how it worked on the inside. You certainly couldn't hack it to change it.

As someone who made a brief living building custom Z80 controllers and coding in assembler, I'm thrilled by modern dev tools, and the fact that if you have a problem you can almost always find the answer online.

Compare that to my first C programming experience on the Atari ST, where I spent two weeks trying to work out why a library function in the compiler didn't work, only to get a letter - on paper - from the compiler developers saying 'Er, we haven't done that part yet.'

Re: Lost Lessons from 8-Bit BASIC

#63
The best thing about line oriented languages like BASIC was that, lacking abstract functions, the language worked exactly like the machine worked. If you wanted functions and parameters, you had to implement that much like you'd do if you were writing assembly.

Learning BASIC with line numbers and GOTO meant learning how the hardware control-flow worked. This is abstracted away in all languages today.

Re: Lost Lessons from 8-Bit BASIC

#64
I think the best thing anyone can do to encourage people to learn programming (with what we currently have) would be for Google to include a RAD IDE with a simple interpreted programming language like Python with the OS itself. Something standard, across one of the currently most popular platforms. When first launched it should give you a programming manual.

But I can imagine them ruining it. It would be tied to their cloud service (oh my tablet's offline? Half of the features won't work, the manual is gone and I can't share my code). It would be updated all the time so wouldn't be stable. The runtime and IDE would be so fragmented (one of the benefits of ROM was that it was expensive to burn so tended to be quite stable over a long period). And of course there would be the AOSP version and the Google version furthering fragmentation.

Modern computing has turned me into a cynic. I'm slowly starting to hate what our industry has become. By the time I was old enough to start my professional career, the world I had fallen in love with was gone.

Re: Lost Lessons from 8-Bit BASIC

#65
post #64

I think the best thing anyone can do to encourage people to learn programming (with what we currently have) would be for Google to include a RAD IDE with a simple interpreted programming language like Python with the OS itself. Something standard, across one of the currently most popular platforms. When first launched it should give you a programming manual. But I can imagine them ruining it. It would be tied to thei…

Not exactly what you mean, but...

    Ctrl+Shift+J
    
    console.log("Hello World");

Re: Lost Lessons from 8-Bit BASIC

#66
post #6

Earlier quoted context omitted.

Also see "Why Johnny can't code" by David Brin: http://www.salon.com/2006/09/14/basic_2/

I have a lot of respect for Brin, but it's amazing how wrong that piece is. There's more code being written now than ever before, not just by kids but by all kinds of everyone. There's an entire sub-culture of collaborative development - github, etc - which would have been impossible with 8-bit micro technology. Away from that, a lot of non-devs have hacked together simple VBA/AppleScripts. And not a few people with…

Nobody's arguing that it isn't easier today for the professional, but that doesn't really lower the barrier of entry for the barely interested. Never mind that we simply orders of magnitude more people with computers now, so that even with a drastically lower percentage of people actually starting some kind of dev environment we'll just have to come out on top.

Yes, it's easier to create the good stuff (well, at least web stuff and mobile apps…), but I'd doubt that it's as easy to create silly crap that you're inordinately proud of. That may be nothing more than a simple question/answer loop, but even with that you created something and you understand some basics of how a program operates…

"Why Johnny can't read" was about literacy, not everyone going out to be a journalist or Hemingway. I view Brin's piece in the same light.

But yeah, we really shouldn't get lost too much in nostalgia. Things aren't that bad and projects like the Raspberry Pi show that this subject is tackled today. For me, the lesson to learn from BASIC environments aren't about forcing people to relive that nowadays, but that the programs that resulted out of the very first days with such a computer are interesting for educational purposes.

Re: Lost Lessons from 8-Bit BASIC

#67
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…

On those early consumer 8-bits, the command shell WAS the BASIC interpreter. You turned the computer on and you were right there in the BASIC environment! You couldn't do anything without typing in BASIC commands.

Your other points are OK, but it really wasn't like a Bash shell. An interactive Python command-line is closer, but it's still a stretch.

Re: Lost Lessons from 8-Bit BASIC

#68
As a kid, I first learned how to program in an 8-bit BASIC environment. This proved to be a mixed blessing.

On the plus side, it was every bit as approachable as this post makes it sound. Not just because of its "always-on" nature, but because of the relatively small learning surface it presented: line numbers, GOTO, a few operators. It was comprehensible in a way that more complex languages weren't.

On the minus side, soaking my young mind in the paradigm of structuring program flow around line numbers bent it in ways that didn't become apparent until I got a little older and tried to graduate to languages like Pascal and C. I struggled to get comfortable in these environments in ways that other peers with less programming experience did not, precisely because I had internalized so much of BASIC's skewed way of thinking about program structure. It took a fair bit of time to un-learn the bad habits all that BASIC programming had taught me.

Re: Lost Lessons from 8-Bit BASIC

#69
post #59
post #8

I've still got all my machines from that era. They still work, they're still highly entertaining, and very, very useful. My kids (6 and 4 yrs) are learning to read, write, spell .. and do math .. with the same machines I used when I was 13. This just points out, to me, how arbitrary technology really is. All the energy into building that C64 is wasted if the thing ends up on the trash heap .. but dust it off today an…

> I think where things went wrong is the disassociation of 'developer' from 'user' that happened as a consequence of marketing-grads getting involved in the business of computers Somehow this happened to happen at the same time when computer users rose from 1% of populace to vast majority. We probably ended up with more "developer" guys this way.

Its difficult to really say, but you may be 'right' in the sense that the more people you throw at something, the greater the variety of skill set you have to accommodate. In the early days, "only nerds used computers" - and now look at us. Still, I blame the tools vendors for not making it viable to include developer-style applications as a basic default built-in - certainly not true of most OS's, except 'those built for consumers'. Imagine if we'd had the temerity, we nerds, to demand that the dev tools be treated as 1st-class applications in the OS/execution environment? I suppose we'd all be using Lisp machines, eh? :P

Re: Lost Lessons from 8-Bit BASIC

#70

As a kid, I first learned how to program in an 8-bit BASIC environment. This proved to be a mixed blessing. On the plus side, it was every bit as approachable as this post makes it sound. Not just because of its "always-on" nature, but because of the relatively small learning surface it presented: line numbers, GOTO, a few operators. It was comprehensible in a way that more complex languages weren't. On the minus sid…

I learned my ropes with QBASIC. It's as approachable as good ol basic but it had text labels instead of line numbers.

Thus for me the biggest step in moving to C when I was 12 or so was string processing and the concept of having to compile it and the weird include files. And why do I have to write -lm to djgpp so I can use cos? Those were the days.

Post reply on HN