8 ms·
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 ver
by meuk 8y ago
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.
- _wmd 8y ago+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
- donatj 8y agoReading the QBasic help is literally how I learned to program. I owe it my livelihood.
- ygra 8y agoI 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.
- abrkn 8y agoThe help system was amazing even for someone who could barely read English at the time.
- ino 8y agoIt helped me learn english and programming at the same time.
- ahtu123 8y agoI 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.
- _pgmf 8y agoYes! 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.
- pvg 8y agoThat'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.
- chrisseaton 8y ago> For one thing, they're typed. Pointers were invented in PL/I, where they were specifically untyped.
- pvg 8y agoThe comment I replied to makes a specific comparison with C not PL/I.
- batteryhorse 8y agoI'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.
- pvg 8y agoYou 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.
- signal11 8y agoIIRC QBasic, which came bundled with MSDOS, didn’t have a compiler. QuickBasic, a stand-alone product, did have the compiler.
- themodelplumber 8y agoI 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. :-)
- john_moscow 8y ago>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) https://en.wikipedia.org/wiki/Debug_(command)
- northwest66 8y agoWhen 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.
- icelancer 8y ago>> 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.
- teilo 8y ago
- xingped 8y agoI 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?
- abritinthebay 8y agoIt’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.
- mysterydip 8y agoNot 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 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.
- meuk 8y agoThat's the site I used the most, together with qbasic.com (which is no longer up) :)
- vanderZwan 8y agoArchive.org has a copy: https://web.archive.org/web/20140928080244/http://www.qbasic.com:80/ https://web.archive.org/web/20140928080244/http://www.qbasic...
- icelancer 8y ago>> 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.
- hokus 8y agoThe answer is easy: Try searching * in google, n see what you find.