News for hackers. Stuff that matters.
Re:30 years later, QBasic is still the best by meuk on Saturday May 26, 2018 @05:50PM (#17164445)
Oh, how many hours I spent in front of that TUI. QBasic was how programming should be. It's amazingly simple to understand (at the cost of ugly and somewhat verbose syntax). It doesn't force any mental burdens on you, and it included both a compiler and a interpreter, so you could run your programs instantly (with array out-of-bounds and overflow checking) and have a fast, compiled version.

I wrote plenty of programs that worked the first time I ran them, something that seldom happened to me in more modern programming environments, which put many mental burdens on you, and encourage writing fast and sloppily, and then improving your mistakes afterwards. You don't need any boilerplate - I regularly used QBasic to just plot a graph for example (in a program written from scratch).

Also, I like the approach to pointers is very nice, I think. There are no pointers. You need to PEEK or POKE into memory! In C you do

    a = *b
In QBasic you do

    a = PEEK(b)
Which is so easy to understand that I sometimes wonder if pointers is C are even an improvement to this. I'm probably being a bit nostalgic here, but I genuinely miss the feeling of mastery and understanding I had when I used QBASIC. I could do anything I needed inside the editor. No plethora of tabs and windows. In my opinion, programming is too complicated nowadays.

Edit: More nostalgy! The help system was absolutely amazing. It was possible to read a keyword for the first time, press F1, and two minutes later you would actually understand the statement. Something I never experienced afterwards.

Re:30 years later, QBasic is still the best by _wmd on Saturday May 26, 2018 @06:07PM (#17164500)
+10000000 on the help system alone. Those people deserve a prize for making so many first time programming experiences so accessible. I read the QB help back to front as a kid
Re:30 years later, QBasic is still the best by donatj on Sunday May 27, 2018 @12:15AM (#17165411)
Reading the QBasic help is literally how I learned to program. I owe it my livelihood.
Re:30 years later, QBasic is still the best by ygra on Sunday May 27, 2018 @05:44AM (#17166232)
I started out by reading the GWBASIC manual, a 500-page tome I found in our bookshelf at home. Then I asked my father whether he could get me GWBASIC and noted that he'd have something better, QBasic, which had integrated help. It was so much better and always just a keystroke away.

Turbo Pascal was also an awesome development experience back then.

Re:30 years later, QBasic is still the best by abrkn on Sunday May 27, 2018 @12:17AM (#17165419)
The help system was amazing even for someone who could barely read English at the time.
Re:30 years later, QBasic is still the best by ino on Sunday May 27, 2018 @09:13AM (#17166762)
It helped me learn english and programming at the same time.
Re:30 years later, QBasic is still the best by ahtu123 on Tuesday May 29, 2018 @10:15AM (#17179329)
I probably spent months playing with just the graphics programming tutorials. Copy-paste some of the tutorial code and slowly start changing things. I didn't speak English very well but somehow those tutorials were still helpful.
Re:30 years later, QBasic is still the best by signal11 on Saturday May 26, 2018 @08:54PM (#17164950)
IIRC QBasic, which came bundled with MSDOS, didn’t have a compiler. QuickBasic, a stand-alone product, did have the compiler.
Re:30 years later, QBasic is still the best by themodelplumber on Sunday May 27, 2018 @12:50AM (#17165486)
I remember the excitement of being able to finally make my own .exe files with QuickBasic. It was like earning a new merit badge. First .bat, then .exe, then later using PC Magazine's "DOS Power Tools" book I started to write what I recall were .com files using assembly that was entered into some crude edit software that shipped with DOS. I kind of wish I would have gone deeper with that; instead I tried to dive into Linux and spent years trying to get just daily-user comfortable. :-)
Re:30 years later, QBasic is still the best by northwest66 on Sunday May 27, 2018 @02:36AM (#17165784)
When I was about 10 there was nothing I wanted more than to have a program that took minutes to build into an .EXE. In my mind that implied complexity and 'real' programming. Of course, as a professional 30 years later, waiting for compilers is something I could do without.
Re:30 years later, QBasic is still the best by icelancer on Sunday May 27, 2018 @02:48AM (#17165817)
>> instead I tried to dive into Linux and spent years trying to get just daily-user comfortable

Ended up being the right bet though. :)

Did the same thing myself. Struggled for years in Slackware and other builds... had to write my own ADSL driver for broadband to work. Had a dual booting Gateway 2000 PC and always cringed when I selected Linux from the GRUB booter... but it served me very well decades later.

Re:30 years later, QBasic is still the best by john_moscow on Sunday May 27, 2018 @02:21AM (#17165738)
>I started to write what I recall were .com files using assembly that was entered into some crude edit software that shipped with DOS

That must have been debug.com [0]

[0] https://en.wikipedia.org/wiki/Debug_(command)

Re:30 years later, QBasic is still the best by teilo on Sunday May 27, 2018 @02:24AM (#17165746)
And actually, QuickBasic came first. It's final release was v.4.5 in 1988.

QBasic happened much later, 1991, as part of MS-DOS 5.0. It was considered to be a subset of QuickBasic.

So QuickBasic, as well as it's big brother, Microsoft Basic Professional Development System (which almost no one remembers), was essentially dead by the time QBasic was released.

I only ever used QuickBasic. I still have the manual. Can't make myself part with it.

Re:30 years later, QBasic is still the best by mondoshawan on Sunday May 27, 2018 @11:23AM (#17167215)
I remember the PDS!

I had it a stack of 3.5" floppies, and the last disk had a bad spot, so some of the framework was impossible to use because I couldn't install it.

That being said, the QuickBasic line and the PDS were amazing -- even the PDS had reams of online documentation on how to use the tooling, straight from the IDE.

I distinctly remember the days my Dad showed me the linker and the library managers. It was like magic: now I could re-use whole chunks of my programs in other programs. Totally world-changing for a little 12 year old kid on an IBM PS/2 Model 50.

Re:30 years later, QBasic is still the best by kxkkcllx on Sunday May 27, 2018 @09:00AM (#17166716)
You’re right. QuickBASIC was replaced with VisualBASIC for Applications (vba), v1.0 was for MS-DOS
Re:30 years later, QBasic is still the best by skissane on Sunday May 27, 2018 @09:34PM (#17170134)
I think you are confusing Visual Basic with Visual Basic for Applications (VBA). The former is an independent programming language, the later is only for embedding into other applications (such as Microsoft Office). VBA is an embedded version of Visual Basic, it is missing a few features (most importantly the ability to compile to .EXE files).

There was Visual Basic for Windows 1.0 and Visual Basic for MS-DOS 1.0. The UI frameworks were completely different – Windows was GUI, MS-DOS was character mode. The Windows versions continued on until VB6, before being replaced by the very different Visual Basic.NET. Visual Basic for MS-DOS was discontinued after 1.0.

Re:30 years later, QBasic is still the best by pvg on Saturday May 26, 2018 @08:19PM (#17164869)
That's an approach to directly accessing memory not an approach to 'pointers'. Pointers are an entirely different language facility. For one thing, they're typed. PEEK just gives you bytes and you can neither reference or dereference anything.
Re:30 years later, QBasic is still the best by batteryhorse on Sunday May 27, 2018 @01:29AM (#17165562)
I'm not sure I understand.

Can't you do something like PEEK(PEEK(a)) or PEEK(PEEK(a)*256+PEEK(a+1)) ?

I always thought of pointers as indirect addressing mode when I was learning about the 6502.

Re:30 years later, QBasic is still the best by pvg on Sunday May 27, 2018 @01:55AM (#17165662)
You can't take the address of a A$, for instance, and do anything with it. And in your case 'A' is always in bytes unlike a C pointer which has arithmetic that depends on its type. PEEKs and POKEs are not pointers.
Re:30 years later, QBasic is still the best by badsectoracula on Sunday May 27, 2018 @07:57AM (#17166538)
QBasic has VARADR (or VARADDR) that gives you the memory location for a variable. QuickBasic also has SADD which gives you the memory location for the first character of a string, although for some reason it isn't available in QBasic (but you can figure out from the string data anyway, VARADR(A$) points to a pair of length+data words).
Re:30 years later, QBasic is still the best by pjmlp on Sunday May 27, 2018 @05:54AM (#17166252)
Real pointers, those used by Assembly are also untyped.

Other Basic dialects, including QBasic's big brother, had a Varadr function or similar, to take an address.

C is not the absolute truth in pointer manipulation across programming languages.

Re:30 years later, QBasic is still the best by pvg on Sunday May 27, 2018 @10:54AM (#17167082)
Next you'll be telling me laser pointers have colours and there are several dog breeds named 'pointer'. Pointer dogs are furry.
Re:30 years later, QBasic is still the best by pjmlp on Sunday May 27, 2018 @04:29PM (#17168952)
I don't need jokes about laser pointers to present languages, some of them much older than C, which have pointers with 1:1 features to C ones.

Of course, it kind of hurts the urban myth that C is a special snowflake among systems programming languages, having languages almost 10 years older with such features.

Re:30 years later, QBasic is still the best by pvg on Sunday May 27, 2018 @05:06PM (#17169108)
The original comment was a comparison of pointers in C and PEEKs and POKEs in BASIC. So making up stuff about how assembly has 'pointers' or trying to start some argument about C with a statement nobody made is not really much more directly related to what we're discussing than a comment about the music of the Pointer Sisters.
Re:30 years later, QBasic is still the best by pjmlp on Monday May 28, 2018 @03:17AM (#17171023)
So back to Basic then, this is Turbo Basic (1987)

    ' a = *addr
    a = PEEK (addr%)

    '  *addr = value
    POKE addr%, value

    'a = addr
    a = addr

    'addr++
    INCR addr%, 2

    'a = &variable
    DEF SEG = VARSEG(variable)
    a = VARPTR(varible)
    a = VARPTR$(varible)
Album, http://www.bitsavers.org/pdf/borland/Borland_Turbo_BASIC_Own...

Or to stay with QuickBasic dialects, Freebasic music tunes

https://www.freebasic.net/wiki/wikka.php?wakka=TblComparison...

Which also provides the SIZEOF chord, simplifying the increment operations of memory addresses.

Re:30 years later, QBasic is still the best by chrisseaton on Saturday May 26, 2018 @10:28PM (#17165176)
> For one thing, they're typed.

Pointers were invented in PL/I, where they were specifically untyped.

Re:30 years later, QBasic is still the best by pvg on Sunday May 27, 2018 @12:19AM (#17165422)
The comment I replied to makes a specific comparison with C not PL/I.
Re:30 years later, QBasic is still the best by meuk on Monday May 28, 2018 @11:18AM (#17172872)
Well, I'm not sure if there are strict rules to what should be called a pointer and what not (which was why I was a little bit vague in my post: In my defense, I stated "there are no pointers"). I think you can still dereference something by just manually copying the bytes.
Re:30 years later, QBasic is still the best by icelancer on Sunday May 27, 2018 @02:45AM (#17165805)
>> I wrote plenty of programs that worked the first time I ran them, something that seldom happened to me in more modern programming environments

You know, I never really thought of programming in this way. You are very correct about this and it makes me sad in a way.

Re:30 years later, QBasic is still the best by xingped on Saturday May 26, 2018 @10:37PM (#17165198)
I have never heard of QBasic, but now I want to learn it just to understand your experiences with it and grasp why you think it's how programming should be versus how programming is now. Maybe we can learn a thing or two from the past?
Re:30 years later, QBasic is still the best by mysterydip on Sunday May 27, 2018 @08:04AM (#17166558)
Not parent, but here's a few bits:

check out pete's qb site for programs and code snippets for one point of reference: http://www.petesqbsite.com/downloads/downloads.shtml

In my opinion it's great because of how accessible it is. It's very easy to experiment with unfamiliar commands and rapid prototype. I learned QBasic before Pascal and C++, and was disappointed at the absence of an equivalent to many of the functions that made programming quicker and easier.

Re:30 years later, QBasic is still the best by meuk on Monday May 28, 2018 @11:17AM (#17172861)
That's the site I used the most, together with qbasic.com (which is no longer up) :)
Re:30 years later, QBasic is still the best by vanderZwan on Tuesday May 29, 2018 @06:29PM (#17183360)
Re:30 years later, QBasic is still the best by abritinthebay on Sunday May 27, 2018 @02:16AM (#17165722)
It’s a really fun language to play in. I also recommend Modula 2 - it’s more C-like but is equally easy to get something up an running with.
Re:30 years later, QBasic is still the best by hokus on Sunday May 27, 2018 @05:02AM (#17166129)
The answer is easy: Try searching * in google, n see what you find.
Re:30 years later, QBasic is still the best by _pgmf on Saturday May 26, 2018 @07:11PM (#17164674)
Yes! I had a completely surprising and visceral surge of feeling when I saw the screenshot of the UI. So many lazy summer days holed up with my 286 making silly shit. It seemed deeply magical. Like a portal to a secret world.