I started with GW-BASIC on a PC. QBasic is so modern :D
30 years later, QBasic is still the best
51–60 of 133 posts
Re: 30 years later, QBasic is still the best
#52A previous post: https://news.ycombinator.com/item?id=17164068
https://store.steampowered.com/app/248590/Black_Annex/
https://www.pcworld.com/article/2033318/black-annex-is-the-b...
https://www.youtube.com/watch?v=ZqlveWIhCFI
Lance, if you see this thread - I hope you find the passion to continue this project. What you built so far was an incredible feat.
Re: 30 years later, QBasic is still the best
#53Re: 30 years later, QBasic is still the best
#54Now TRS-80 BASIC? Or Delphi? PowerBuilder? Or - wait for it - LotusScript? Now there's some languages to celebrate! (Joking, of course). I used all of them, the latter ones to make a living at one point or another.
Re: 30 years later, QBasic is still the best
#55Just the random number generator was no so good.
SCREEN 12
DO
x = RND * 640
y = RND * 480
c = RND * 16
r = RND
PSET = (x,y),c
LOOP
enjoy :-)Re: 30 years later, QBasic is still the best
#56Earlier quoted context omitted.
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.
Zx Spectrum was actually less confusing because it required LET before variable assignment.
Re: 30 years later, QBasic is still the best
#57Earlier quoted context omitted.
> How do you draw a line on the screen in Python? Using only stdlib: import turtle turtle.penup() turtle.pencolor(colour) turtle.setpos(x1,y1) turtle.pendown() turtle.goto(x2,y2)
I am guessing that is straight-up LOGO on Python.
Re: 30 years later, QBasic is still the best
#58Not to be contrarian, but Python is even simpler than Basic. You don't have GOTO, but you don't need it. Just using a subset of Python language you can do anything you need, and with less syntactic noise.
1. BASIC was typically either built-in, or accessible via a single command from the disks that came with the computer. Beginners often get lost trying to install Python. If three beginners independently google "install Python" and follow the first blog that comes up, they will get three mutually incompatible installations.
2. The BASIC interpreters were self contained -- you learned a small number of keywords, and everything else had to be composed from them. Python is huge, and some of its keywords are conceptually brutal for beginners. And that's before you introduce even a few of the familiar packages.
3. Look at the official list of Python keywords. Half of them describe concepts that are brutal for beginners.
I'm not saying progress is a bad thing. The Python ecosystem can be bigger today because code is so easy to transport. It needs to be bigger because more complex programs need that stuff to have a chance of working. But teaching Python involves a dilemma that didn't really have to be considered for BASIC: What small subset of this thing do we try to teach?
We end up with a subset that looks like BASIC, and we simply tell them how to install it so they have a reliable starting point.
Re: 30 years later, QBasic is still the best
#59Re: 30 years later, QBasic is still the best
#60Not to be contrarian, but Python is even simpler than Basic. You don't have GOTO, but you don't need it. Just using a subset of Python language you can do anything you need, and with less syntactic noise.
BASIC was my first language, and today my favorite is Python. Not to claim better worse, but I can think of some differences from a teaching perspective: 1. BASIC was typically either built-in, or accessible via a single command from the disks that came with the computer. Beginners often get lost trying to install Python. If three beginners independently google "install Python" and follow the first blog that comes up…
QBASIC has 60+ keywords, Python 3 has 35.
> Look at the official list of Python keywords. Half of them describe concepts that are brutal for beginners.
Here's the list:
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
Which of them do you think “concern concepts that are brutal for beginners”? (I could maybe buy async, await, and yield.)
OTOH, QBASIC’s BLOAD, BSAVE, PEEK, POKE, and CALL ABSOLUTE, among others aren’t particularly dealing with beginner-friendly concepts.