Live data from Hacker News

30 years later, QBasic is still the best

nicolasbize.com

91–100 of 308 posts

Re: 30 years later, QBasic is still the best

#91
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.

    var drawing = document.createElement('canvas');
    document.body.appendChild(drawing);
    var ctx = drawing.getContext('2d');
    ctx.beginPath();
    ctx.moveTo(0, 0);
    ctx.lineTo(100, 100);
    ctx.stroke();
There's a bit of ceremony in setting up the canvas, but yes, it's simple.

Re: 30 years later, QBasic is still the best

#92
post #58
post #41

Earlier quoted context omitted.

>But if you press F12 right now you'll find an amazing complex dialog box -- as a professional you just implicitly skip over that complexity. That observation is fascinating to me. Isn't it possible that we're judging it with adult eyes? To me, kids can filter out "ui complexity" that's not relevant to whatever exploration they are doing. Examples I think of: A microwave oven[1] might have 25 separate buttons on it b…

Does anybody at all know what more than 2 buttons do on their microwave? I thought they were mostly there for decoration

The real problem is there is no ISO Standard for the appliance interfaces. Do you press power level first? Or time first. Is it Forth like, numbers then operation or Haskell like, Function then number. My refrigerator has illuminated bars indicating how cold it is set for. Even after downloading a pdf of the user guide I can't figure out if I'm setting it correctly. Placing a thermometer inside and using trial and error solved the problem (after a few frozen bags of spinach).

Re: 30 years later, QBasic is still the best

#93
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.

Sure! Just locate the element you want to draw in, set up a 2d context, start a path, move to one end of the line, draw a line, and then stroke that line so it fills in! How much simpler could it be really?

Re: 30 years later, QBasic is still the best

#94
I introduced my 10 years old cousin to turbo pascal when we met a few years ago. It took less than 3 hours to download it, install (also the patches to run on modern computer), make a game where you can move a circle around the screen, and teach him how can he modify it and how basic syntax works.

There's nothing like that in modern programming. Python comes close, but is too magical.

Re: 30 years later, QBasic is still the best

#95

My favorite thing about this story is that Basic was meant to be used exactly this way, for getting new programmers off the ground. And like everyone, I've got fond memories. We had an IBM PS/2 80286, with a whole megabyte of memory, a 20 megabyte hard drive, and MS-DOS three point something. At some point, I discovered that it had Basic, but it didn't have a graphical editor. It had edlin, which was still enough to…

I've always thought that learning to follow GOTOs and GOSUBs was the key to understand assembly language. "GOTO considered harmful" is really what's considered harmful. I never take anyone who says "X considered harmful" seriously because of "GOTO considered harmful".

I agree -- the whole "considered harmful" meme is long overplayed. I don't even click on links with "considered harmful" in the title. The original point, which was that GOTO abuse was letting undisciplined programmers create impossible-to-follow control structures, was true in its time. I've seen some truly headache-inducing GOTOs in 1970s-era FORTRAN that involve jumping into the middle of loops and the like. But the modern point of view that rejects GOTO out of hand is just ignorant.

Re: 30 years later, QBasic is still the best

#96
post #29

Earlier quoted context omitted.

As soon as you get to iterate over an array, you will be confronted with JavaScript's ugly design. No. It's a language to scare - and scar - young programmers for life.

I'm not sure that's a very good example. myArray.forEach( (item) => { // process item }); doesn't seem ugly to me. It's flexible and concise.

An array was a poor example. Think instead of an object:

  for (item in myObject) {
    // process item 
  }

Re: 30 years later, QBasic is still the best

#99

To be honest I don't think modern languages are all they are cracked up to be. Back in the day, very large and complex systems were managed quite well with languages like QBASIC, COBOL and FORTRAN, and ran rock solid for decades (hell, a few are still operational). But today, programming is such a polyglotic mess and conceptual navel-gazing nightmare -- it really is no wonder that so many projects end in failure.

Beware of survivor bias. Most old projects failed, like most new projects.

But why is it that the rate of failure in programming projects hasn't fallen?

I've heard it said that the computing world in general operates on the edge of acceptability. As soon as the browser became fast enough to become an applications platform, we implemented the browser in the browser; as soon as good command-line interfaces develop, we replace them with bad windowing ones; as soon as dumb phones become a mature technology, we all move to highly experimental smartphones.

This is probably most severe in programming itself, where our field's most free to make its own choices. The percentage of projects that fail remains more or less constant as our level of experience grows -- because, as we become more experienced, we move to more complicated models. Any modern programming shop could churn out successful COBOL waterfall projects at a rate of two or three a year; so, as we got good at waterfall and old languages, we all moved to Agile and OO. Then, once we developed dangerous amounts of expertise in Agile and OOP, we moved to the Web (and lost most of our ability to use IDEs). And now, with even Web programming in danger of becoming a mature discipline, I'm hearing a lot of talk about Haskell.

Why does this happen? I don't know -- because I don't feel the temptation to do it. I program in C++, and I carry a feature phone...

Re: 30 years later, QBasic is still the best

#100
post #82

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…

See also: http://smallbasic.com/

Tks. Looks like a nice BASIC but appears closed-source from Microsoft. They trash a lot if their side projects over time. So, I'd recommend it only for temporary stuff in learning. Maybe OSS imitate any good qualities it has, too.
Post reply on HN