Live data from Hacker News

30 years later, QBasic is still the best

nicolasbize.com

71–80 of 308 posts

Re: 30 years later, QBasic is still the best

#71
It's mentioned in the article, but Microsoft have a nice BASIC environment called SmallBasic[0]. It's got a decent editor with IntelliSense, there's a community with a bunch of programs shared online[1] and it can interface with .NET code so you can extend it with whatever shenanigans your kids might require.

[0] http://smallbasic.com/ [1] http://smallbasic.com/program/?TETRIS

Re: 30 years later, QBasic is still the best

#72

Earlier quoted context omitted.

It's always Python+X somehow, where X is a whole different thing you have to learn to get a fraction of the whole thing shipped in Python. Keep I.T. simple - teach the kids BASIC.

The basic issue is that Python do not have a UI lib of its own, so if you want to do anything beyond a CLI you need to introduce a third party.

https://docs.python.org/2/library/turtle.html

    Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win
    32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import turtle
    >>> turtle.forward(100)

Re: 30 years later, QBasic is still the best

#73

Earlier quoted context omitted.

Logo! Logo + basic were my entree into programming

Ya I can see that, I'm imagining a way a kid could make his OWN logo implementation, though. Logo is cool because you see the things you tell the little cursor to draw being drawn-- how could a kid implement something like his son's program, though, where a user is prompted to type their name and hit enter-- then a smiley face is drawn if their name is noah and a sadface is drawn if their name is anything else?

Start off with lower primitives. In Logo, for instance, have a "draw at pixel" command. Have a way of recording a state. The student can then recreate the notion of pen on/off and pen placement and movement on top of the basic primitive plus a conditional. Pen is moving from A to B, if it's on, it draws along the way, otherwise it just moves. Some challenges with the math involved in movement, but it's solving a linear equation. Minor issue with rounding, perhaps allow the numbers to be floating point and let the renderer handle which pixel to draw. Everything up to the external turtle can be handled in this same way as long as they have the primitives.

Handling hardware, give them primitives to write to and read from devices. Build up the code on top of that to handle more complex situations like manipulating external servos over a serial port.

Re: 30 years later, QBasic is still the best

#74
post #36

For anyone that misses QBASIC, there's FreeBASIC that's a lot like it & easy to install: http://www.freebasic.net/ After loosing my memory, I have to relearn programming nearly from scratch. I took a challenge to do specific program in around an hour, from language to toolchain to solution. Had to be system-like language. Got bogged down by toolchains, IDE's, whatever. Said screw it: why the hell is it so hard when I…

> After losing my memory, ... Wow, so you forgot how to write code? May I ask how that happened?

Just a head injury. Dont give too much detail as too solud testimony might be used against me in hiring or court or something.

But, yeah, lost most memory except stuff I repeated most along with muscle memory anx hand-eye. (Shrugs). Supposed to be thoughtless drone but I do well here on many topics despite working with pieces and little short-term memory.

Re: 30 years later, QBasic is still the best

#75

For anyone that misses QBASIC, there's FreeBASIC that's a lot like it & easy to install: http://www.freebasic.net/ After loosing my memory, I have to relearn programming nearly from scratch. I took a challenge to do specific program in around an hour, from language to toolchain to solution. Had to be system-like language. Got bogged down by toolchains, IDE's, whatever. Said screw it: why the hell is it so hard when I…

I second FreeBASIC. Strong gaming community, modernized a lot of QBASIC. It's good.

My first QBASIC/FreeBASIC program I've managed to write some 15 years ago: https://bitbucket.org/tarballs_are_good/nibbles-and-bits/raw...

Re: 30 years later, QBasic is still the best

#76
post #11

>to realize that in more than 30 years, we have not been able to come up with something better for our kids: Qbasic ..., but we have never really made a simpler or more direct access to the thrill of programming than QBasic. First, I think it's really cool that he's exposing a young mind to programming. But I'm also old enough to have installed QBasic from floppy disks and part of me thinks his statements I quoted ar…

Is it simple to draw a line in JS? Like in one line of simple and straight code, yes? I mean, not adding some divs to some DOM, but actually drawing a line or circle. Drawing is simplifying things for kids.

|0

How's that?

Re: 30 years later, QBasic is still the best

#77
post #11

>to realize that in more than 30 years, we have not been able to come up with something better for our kids: Qbasic ..., but we have never really made a simpler or more direct access to the thrill of programming than QBasic. First, I think it's really cool that he's exposing a young mind to programming. But I'm also old enough to have installed QBasic from floppy disks and part of me thinks his statements I quoted ar…

> I think that Javascript in today's browser is a fine substitute.

I cannot think of a more complicated way to introduce someone to programming. Yes, you can use `alert` and print things, but that's about where the ease of interaction ends.

Re: 30 years later, QBasic is still the best

#78
post #11

>to realize that in more than 30 years, we have not been able to come up with something better for our kids: Qbasic ..., but we have never really made a simpler or more direct access to the thrill of programming than QBasic. First, I think it's really cool that he's exposing a young mind to programming. But I'm also old enough to have installed QBasic from floppy disks and part of me thinks his statements I quoted ar…

[deleted]

Re: 30 years later, QBasic is still the best

#79
post #66
post #27

Earlier quoted context omitted.

Yes. I've been doing Javascript + HTML games with my 9yo nephew every now and then, and the complexity of the environment as a whole is incredibly discouraging. Sure, he gets assignment, functions, conditionals and other basics. But the interface between the logic and the presentation is just so incredibly abstract that getting from those basics to anything interesting is way too hard. I've been thinking of switching…

Consider using an HTML5 canvas (with a 2D rendering context) instead of DOM manipulation. It makes programming very similar to QBasic's LINE, CIRCLE, PAINT.

I write a lot of stuff with the Canvas in general, but it's not great for teaching programming. The Postscript imaging model is again very abstract, complex, and easy to misuse early on. It can be made to work if by setting up a lot of scaffolding up front.

And then there's interfacing the other way around, which the Canvas doesn't help at all with or makes even more complicated. It's somewhat easy to explain an onClick handler for a HTML button; doing a useful onClick handler for a canvas, or body-level onKeyDown handler are again much more complicated affairs.

Re: 30 years later, QBasic is still the best

#80

I don't think that QBasic is so bad as procedural language. All the primitives are there and I've never written any code with much GOTOs in them. Just did not feel the need even when I was 10 years old. What this article clearly lacks is SCREEN 13 Seriously, unsurpassed easiness of programmable graphics. Even by javascript, which is otherwise better for teaching.

Nice - I remember reading the GW-Basic manual alphabetically and wondering why none of the graphics commands worked until I got to 'SCREEN'
Post reply on HN