1. 23
    1. 6

      I quite miss the immediacy of older home computers, even though I was a bit too young to understand much of it. I could just switch on the C64, and instantly have an interactive programming environment. Type in POKE 53281,4 and watch the background change to purple. I had no idea what I was doing, but there was no friction. I’d copy code from magazines and learn by playing around with it. I started sketching on a little device dedicated to running TIC-80, that I hope to put together some day.

      1. 2

        I have a suspicion that this is partly why web development is so popular – you can manipulate the DOM and get immediate feedback without really having any idea what you’re doing.

        1. 2

          That’s a good point, and I share your suspicion. “Have a web browser” is basically the only requirement nowadays, then you have a decent REPL, instant-feedback GUI manipulation (and you can fiddle with any web page you’re viewing,) and so on. I think most would agree that the barrier of entry is enticingly low.

          1. 1

            Although I’m usually anti-web-app, one of the great developments in that space is being able to play with code in the browser without installing anything. Especially in conjunction with tutorials on learning that language. It would’ve been nice to have when I was new to programming. I had QBasic, though, so next best thing. :)

            1. 2

              I agree. I don’t particularly enjoy web dev, or web apps, but I would be delighted if more projects would strive for this kind of accessibility. FWIW, I think the Rust folks have done an amazing job here, considering the space Rust operates in. Cargo is just delightful, super easy to get started, to build/run a project, to generate documentation; no wrangling virtual environments, packages that fail to install for incomprehensible reasons, or the other things Python/Ruby expect me to put up with (let’s not even talk about C++.) And, of course, the rustc diagnostics are just amazing. It’s not quite QBasic though, and requires more effort before you have something fun running. But it’s clear that they consider this a priority, and it shows.

      2. 2

        Have you been using TIC-80 a lot? I used to spend some time messing around in PICO-8, how does it compare?

        1. 3

          It’s a big plus to me that TIC-80 is open-source. I also like that it exposes functionality similar to raster interrupts, so I can try some of the old-school techniques I used to see in games.

    2. 6

      I loved QBasic and it’s where I started too… but I don’t see how it is any easier than, say, ruby or python for the same tasks being done in this post. No need to introduce advanced concepts just because a language has them.

      1. 9

        He double clicked the icon on his desktop and in a split second, we were in the IDE..

        Ruby and Python can’t do that.

        Also, OP doesn’t mention it, but: graphics. In Ruby or Python if you want graphics you end up having to deal with gem and rvm and pip and virtualenv and on and on and on and fucking on. In QBasic you type CIRCLE and hit F5.

        I’ve written about these issues before. You have to try teaching programming for yourself to see the tiny things that trip noobs up.

        1. 3

          I expected graphics to be the reason OP thought QBasic was the way to go, but then it was never mentioned so it seemed like a much less compelling argument.

        2. 3

          you end up having to deal with gem and rvm and pip and virtualenv and on and on and on and fucking on. In QBasic you type CIRCLE and hit F5.

          Racket can do just that.

          You have to try teaching programming for yourself to see the tiny things that trip noobs up.

          Racket is also made specifically for teaching.

          1. 2

            True. The drawback of Racket: much as I hate people harping on lisp parentheses, they do hinder noobs. Also mentioned in my post linked above.

            But Racket also has Pyret. Which seems pretty nice, though I haven’t tried it.

        3. 2

          And then VB6 made GUI’s about as easy. And like you said about QBasic, I’d click VB6, IDE loaded in a second, start project, type some code for the console thing if I wanted, press run, wait one second, results. Rinse repeat. The concept that mattered aside from speed is flow: the BASIC’s have a development flow that maximizes mental flow to keep people constantly moving. Pascal’s can do it, too, since they compile fast. Smalltalks and LISP on extreme end of it.

          The other advantage of BASIC’s are that they look like pseudocode people write down before actually coding. BASIC is so close to pseudocode that they can do the pseudocode in BASIC itself or barely do a translation step. In the Slashdot and other comments, I see the “it looks just like pseudocode!” response show up constantly among people that started with BASIC. Something that shouldn’t be ignored in language design at least for beginners. Probably also DSL or HLL designers, too, trying to keep things closer to the problem statement.

    3. 5

      I’ve been working through some debugging books from the early 80s that are mainly about BASIC since that was the universal constant for home computers at the time. I’ve installed an Apple IIe emulator and have thrown myself back into the past.

      BASIC is so awful as a language it’s pretty amazing. The pure spaghetti it creates will astound you. Old versions have a limit of two characters for variable names. You have global scope and that’s about it. GOSUB barely counts as a subroutine. And it’s not even remotely portable if you do anything interesting. (QBasic does improve on this, but only so much.)

      And yet… it’s a blast. The whole computer is your IDE. Programs can be written and executed without the concept of a file. You don’t have to start anything to start doing something. More importantly, you’re not paralyzed with the notion that you must do something interesting because you have so little available to you. You really can keep it simple and get some joy from it.

    4. 1

      My only regret today was to realize that in more than 30 years, we have not been able to come up with something better for our kids

      What about Scratch?

Stories with similar links:

  1. 30 years later, QBasic is still the best via jcs 7 years ago | 30 points | 10 comments