Live data from Hacker News

30 years later, QBasic is still the best

nicolasbize.com

71–80 of 133 posts

Re: 30 years later, QBasic is still the best

#72
At least QBasic gives you modern-style loops, no requirement for line numbers, etc.

It's a good starting point and it won't force bad habits on you. It's really too bad that Microsoft never managed to make VB.Net anywhere near as clean as QBasic/QuickBasic or the DOS version of VisualBasic.

Re: 30 years later, QBasic is still the best

#73

Earlier quoted context omitted.

Honestly it's pretty strange that assignment has a directionality.

It has to though. X = Y; // what should change?

Whichever isn't currently bound to a concrete value, or neither (except that they become bound to each other) if neither is; if both are, it's an error should occur, since they cannot be unified.

Re: 30 years later, QBasic is still the best

#74
I must admit that I'm ever so happy to have seen this post, QBasic was massively important towards me becoming a programmer. Kudos for the post, it's important for me to know that my nieces and nephews might see computers the same way I did: through an uncomplicated lens.

The appeal for me was to give, as you wrote, a simple interface to programming. The Apple RAM II I had was not as easily accessible for programming at my single digit age. QBasic was available on the 486 SX based MS-DOS OS we had, and it opened my eyes. Within a year or two I was reading Herb Schildt' "Teach Yourself C" and using Borland C for the first time. But at a young age you need that first step to be accessible!

Nice one...

Re: 30 years later, QBasic is still the best

#76
post #24

Earlier quoted context omitted.

It has to though. X = Y; // what should change?

X_{t+1} = Y_t Doesn’t have to.

You say nothing has to change, but what you write to support it is explicitly that X changes based on Y, since you are just making the time sequence explicit in the code instead of implicit in the operator syntax.

Re: 30 years later, QBasic is still the best

#77
post #12

I will never forget the day that I spent debugging an early QBasic program that included a line similar to 5 = x for an assignment in the first draft. There were tears and deep frustration at the moment I discovered that assignment had a directionality. The author's story brings back so many memories of learning and growth. For those too young to know -- magazines used to come with page-long Basic programs for games…

The first time I saw X = X + 1 in a ZX Spectrum basic program listing, I thought it would cause the computer to catch fire. I was 9 though.

My dad was offended that such an algebraic abomination should be the way the computer represented things. I started putting the LET keyword in front (which was strictly optional), and it bothered him a lot less.

Re: 30 years later, QBasic is still the best

#78
post #12

I will never forget the day that I spent debugging an early QBasic program that included a line similar to 5 = x for an assignment in the first draft. There were tears and deep frustration at the moment I discovered that assignment had a directionality. The author's story brings back so many memories of learning and growth. For those too young to know -- magazines used to come with page-long Basic programs for games…

The first time I saw X = X + 1 in a ZX Spectrum basic program listing, I thought it would cause the computer to catch fire. I was 9 though.

> I thought it would cause the computer to catch fire

Star Trek taught at least a couple generations that if you pressed the wrong key or programmed in something illogical the keyboard would burst into flames and throw you across the room.

Re: 30 years later, QBasic is still the best

#80
post #30

Earlier quoted context omitted.

Honestly it's pretty strange that assignment has a directionality.

The primary difficulty that I had was the overloaded usage of the "=" character. I had a clear mathematical understanding that the "=" symbol was symmetric, that 5 = x and x = 5 were equivalent. That someone could abuse that notion so brazenly was the source of my frustration. Some languages use directional notation for assignment (see [1]): 5 -> x is clear. [1] https://en.wikipedia.org/wiki/Assignment_(computer_scie…

I know it's more verbose, but I'm deeply fond of Applescript's syntax for assigning variables:

    set x to 5
Post reply on HN