12 ms·
All about QBasic and QuickBasic
- codevark 4y ago
- themodelplumber 4y agoLovely, it's like if LCARS and Pingus built a website together...but no complaints here, it brings back a lot of good memories! I took a deep dive into BASICs earlier this year and came away with some unexpected results. In software, these stood out: - SmallBASIC ...not the Microsoft one. Wow this is quite an interesting set of tools, and I was impressed by ongoing developments. I started with it on my phone and continued on my other platforms since it worked so well. There are some faux-OOP convenience features even, like myfakeobject.value = 10 - QB64pe ...this really holds your hand and the documentation is great. - To-try: https://wonkey-coders.github.io/ https://wonkey-coders.github.io/ In discussions with developers, I was surprised to find some extremely intense, protective vibes. I'd consider "my BASIC == my childhood" a pretty reliable model. Simple how-to queries that would get ordinary answers in other languages sometimes brought out defensive responses. In group discussions there was also an interesting overlap between "strangely protective of my past" and "prefers writing BASIC" that came up over and over while I was trying to figure out the overall ecosystem of languages. For example, somebody wrote an algorithm example full of $ii $tk $zx and so on and I asked them about this (who knows, maybe there's some logical reason to not use my_variable_name for example) and the tone became very defensive, even insisting that maybe it was wrong but they are never going to change! Which didn't exactly have anything to do with what I was asking... In the various online forums there was frequently an ongoing argument over who left, for what reasons, where they ended up, and are you a member of that forum, and so on. Overall there was a surprising amount of interpersonal drama given its proportion to the active surface area of this language. And a lot of emotionality that just isn't as prominent in other communities I experienced, even though it's probably there at some level. Since I have spent a lot of professional time doing relationship work with techies, these things kind of reminded me of work pretty quick, and I found myself heading to some more modern languages just to get beyond the unaddressed, or unaddressable, feels-factor. Still, I look forward to coding some more in the future and particularly in trying out some of the newer tools I discovered.
- grandiego 4y ago> For example, somebody wrote an algorithm example full of $ii $tk $zx and so on and I asked them about this (who knows, maybe there's some logical reason to not use my_variable_name for example) The only Basic I used long ago was in C64 and AFAIR only the first two characters were significant; maybe the person was (unconsciously) trying to write some kind of "portable" code :)
- the_af 4y ago> In the various online forums there was frequently an ongoing argument over who left, for what reasons, where they ended up, and are you a member of that forum, and so on. In my experience, groups devoted to niche topics tend to have this sort of drama and discussions about who goes to which other forums, with rivalries between groups with similar interests, etc. Retro-anything communities in particular. Retro-anything also has the added flavor of "what they are doing these days is wrong, back then we would do $THING instead and it was so much better."
- BirAdam 4y agoI love BASIC. It’s great. Love it on MSDOS, the ZX81, the C64, the Apple ][… everywhere.
- tenebrisalietum 4y agoThere are some shitty BASICs. TRS-80 Level I was very limited, and BASIC V2 on the C64 was only barely adequate - anything and everything interesting required myriad PEEKs and POKEs. I also pity anyone who tried to do anything with Intellivision ECS BASIC. Then you have your awesome BASICs like IBM Cassette BASIC, GW-BASIC, QB, and BBC Basic.
- timbit42 4y agoOf the ROM BASICs, I'd say Amstrad BASIC is even better than BBC BASIC. The BASIC on the Commodore 128 is pretty good but a bit sluggish. TRS-80 Level I was limited because it was essentially Tiny BASIC with floating point added. Level II BASIC was Microsoft BASIC. The Apple II initially came with Woz's Integer BASIC in ROM. It was better than TRS-80 Level I BASIC, unless you needed floating point. The Apple II Plus had Microsoft 6502 BASIC in ROM. It was essentially the same BASIC that Commodore used in the VIC-20 and 64, except Apple added a few graphics commands to theirs and Commodore added the screen editor. The Apple II and Commodore 64 ran at about the same clock speed, so when you benchmark their Microsoft 6502 BASICs, they're pretty much identical in speed.
- jll29 4y agoThe C64's BASIC V2 had no graphics or sound commands, which was a massive draw-back on the one hand; on the other hand, it pushed lots of teenagers into learning machine code. For lack of an assembler, the initial way to use it was to hand-compute the op codes and put them into BASIC's "Data" directives, which you could read in a loop and store in some free area using POKE and then call from BASIC with the SYS command. One wrong number and the whole thing hangs, reset, type it all in again or load from a music cassette if you were lucky and had stored a recent version on tape (which took many minutes to read back in whilst giving various beeping sounds).
- ilaksh 4y ago(Run in emulated PC in browser) https://archive.org/details/msdos_qbasic_megapack https://archive.org/details/msdos_qbasic_megapack https://www.pcjs.org/software/pcx86/lang/microsoft/basic/quickbasic/4.50/ https://www.pcjs.org/software/pcx86/lang/microsoft/basic/qui...
- FartyMcFarter 4y agoBrilliant, it even has GORILLAS.BAS and NIBBLES.BAS :)
- keyle 4y agoStill love me some blue screen DOS edit writing basic back in the day. I think it was already called QBasic. When I first saw this posted I thought "oh dear, a QBasic implementation in .NET"... Sadly today using QBasic for real work would be difficult if you have to interact with anything else that basic I/O. I'm not aware of a websocket QBasic implementation or any kind of scalable framework. But it has to keep existing, so we can teach our children basic before moving on to the horror show languages we use today.
- tdeck 4y agoQB64 is a reimplementation of the language with all kinds of modern additions like networking and high-res graphics. https://qb64.com/ https://qb64.com/
- keyle 4y agoNever heard of this one before, looks great!
- password4321 4y agoBBC Basic for SDL seems relevant, with praise for it's examples. https://github.com/rtrussell/BBCSDL https://github.com/rtrussell/BBCSDL https://news.ycombinator.com/item?id=31362321 https://news.ycombinator.com/item?id=31362321
- qbasic_forever 4y agoDark blue color themes are seriously underrated in modern IDEs. VS Code has a pretty nice one it ships with called Tomorrow Night Blue. Hide and turn off a lot of the junk and clutter in its UI (or just use zen mode) and VS Code can feel a bit like QBasic.
- PLenz 4y agoI learned to code in isolation on QB back in the day - having interactive help right in the IDE was amazing in my pre-internet days. Later on I found the quickbasic version that let you compile executable (it may have been VB 1.0 IIRC) and from there on to FreeBasic (a qb compatible front end for GCC) and, well, here I am, doing this for a living from this. I owe the great arc of my life to that program.
- the_af 4y ago> Later on I found the quickbasic version that let you compile executable (it may have been VB 1.0 IIRC) Your memory betrays you: QuickBasic is the version with a compiler. QBasic lacked one, though. I remember this feeling like a big deal for me back then.
- themodelplumber 4y agoAre you .exe cool, or just .bas cool? (Or are you exotic-.com cool?)
- philsnow 4y agooh man, that reminds me of typing .com programs from magazine listings into DEBUG.EXE
- the_af 4y agoKeep in mind .COM wasn't really exotic back then. I remember many assembly tutorials taught how to write .COM executables. Many DOS era commands and utilities were .COM (well, they were commands after all!). As for .BAS vs .EXE, I remember it was definitely about .EXE feeling "more real". I mean, I had the Basic interpreter in my computer anyway, and distributing programs wasn't in my mind, so a compiler wasn't really needed... it just felt that an .EXE program I could write was more "like the real deal"!
- themodelplumber 4y agoAssembly was absolutely exotic coming from QBasic & QuickBasic though. Moreso as the '90s progressed and writing .COM was seen more often in the dwindling number of applications requiring extra attention to system resources.
- willjp 4y agowoooow this brings me back. This is where it all started for me. Before I ever had my own computer.
- deleted 4y ago[deleted]
- wunderbaba 4y agoI posted an article to my blog about a scene from Stranger Things where Astin's character brute forces a password by writing a BASIC program. It was such a great homage to the 80s. https://specularrealms.com/2021/04/21/strangest-things/ https://specularrealms.com/2021/04/21/strangest-things/
- sigzero 4y agoYour QB64 link at the bottom needs to change. It's no longer the .org one.
- petercooper 4y agoMy job now (writing email newsletters for developers) directly traces back to the QBasic era, as I published a regular BASIC "fanzine" on comp.lang.basic.misc in the mid 90s and caught the publishing bug! I moved on to Turbo Pascal 7 shortly thereafter, alas.. :-)
- petercooper 4y agoMy job now (writing email newsletters for developers) directly traces back to the QBasic era, as I published a regular BASIC "fanzine" on comp.lang.basic.misc in the mid 90s and caught the publishing bug! I moved on to Turbo Pascal 7 shortly thereafter, alas.. :-) Another QB site well worth the visit is http://petesqbsite.com/ http://petesqbsite.com/ (not mine, despite the similar name).
- billyhoffman 4y agoIt's a little terrifying to see some QBasic zines I wrote nearly 25 years ago on that site.
- jimmygrapes 4y agoI found myself in there a few times. Kinda wondering how many of us in this thread knew each other from usenet/dalnet/efnet/tek's forum/marcade's forum/etc and we just don't realize it cuz of pseudonym and life changes.
- branon 4y agoSpent uncountable hours on Pete's site over the years. Really great place.
- behringer 4y agoThere's a BASIC discord as well https://discord.gg/4FQyHxw6 https://discord.gg/4FQyHxw6
- rascul 4y agoI got QuickBasic from the warez section of the BBS I often dialed into when I was younger. I also played a lot of Lord.
- PointyFluff 4y agoEw, BASIC. Gross.
- kstrauser 4y agoI was in the US Navy, and spent an awful lot of time on a deployment hacking away on our ancient laptops to write QBasic programs to automate some of our completely-not-computer-related work. For instance, I wrote a little program to format short text messages in a particular way and write them to a floppy. Then I could hand that floppy to the ship's radioman, and he'd run a program to load the messages and broadcast them over a packet radio to the MARS radio network. Some ham operator in the States would call the recipient, read them the message, transcribe the reply, then radio it back to our ship. I'd pick up a floppy with those replies, bring them back to the medical department where I worked, and print them out. At the time, the quickest way to contact home was to buy a calling card for the onboard satellite phone, which cost something like $5 per minute to use. The alternative was to write a physical letter, and if you were lucky and the person wrote back immediately, that would be about a one month round trip. My little program was free to use, and shortened the round trip to about one day. I can't exaggerate how happy this made my coworkers and bosses. One day, a particularly enlightened boss sat me down. "Why do you lie to yourself that you want to be in medicine?" "Uh, because I want to be a doctor?" "Stop kidding yourself. You want to work with computers. We both know it." Whoa. It was like a lightning strike. Well, of course I could go to school for that thing which had been my obsessive hobby since I was tiny! Why hadn't I thought of that?! And so I got out of the Navy, enrolled in comp sci, and here I am today rattling on about it. Thank you, QBasic. You weren't running on my beloved Amiga, but you were in the right place and time to kick off a career that I've loved every step of the way.
- bobochan 4y agoTremendous! One of my first tasks with QuickBasic 4.5 was writing an AKAC-874 code generator (for training purposes only) for some Marines at the embassy where I was stationed. It seemed the least that I could do considering they kept me fed with Grade A burgers direct from the States.
- kstrauser 4y agoHah, awesome! That’s exactly the kind of thing I would’ve written if you and I had swapped places. In my crowd, it was well known that you wanted to spend your duty evening inspecting the ship’s kitchens. Make sure the officers’ mess cooks didn’t have too rough of a time and they’d make sure you didn’t leave hungry.
- the_af 4y agoQBasic and QuickBasic weren't my first loves -- that spot is reserved for GW Basic -- but I sure spent a big chunk of my time experimenting with them. And like many others are saying here, they are a big reason why I ended up a programmer.
- rescbr 4y agoHah! Somehow my parents had a GW Basic manual (but neither could program), so in my endless afternoons I ported some code from GW's dialect to QBasic's in order to make it work on my newer Basic interpreter. Without Internet, an empty mind is Basic's workshop.
- the_af 4y agoDon't you sometimes feel the internet is a double-edged sword? Back then it was you and the computer, and maybe some magazines (well, and maybe BBS'es, but I never got into that). You had time to focus. The only major distraction were games, but then again we have many more today, and ALSO all the distractions of the always connected world. The advantages today are obvious: every answer at your fingertips, online guides and interactive tutorials aplenty, chat, stackoverflow, no reason to get stuck in your programming journey. But also, instagram, Facebook, whatsapp, HN...
- linster 4y agoThe Qbasic GUI community was super tight knit back in 2005ish. Classic hangouts at jacobpalm.dk, reviews by Todd Seuss at Data Components. Halcyon days. I got my start writing one of the guis that was reviewed by MystikShadows on Pete's QB Site... Making things appear on the screen was so exciting. Now I kinda do the same thing, but with Jetpack Compose in the automotive space.
- jonthorpe 4y agoThis brings back so many fond memories. Author of Millennium OS here :) http://www.datacomponents.net/old/mos.html http://www.datacomponents.net/old/mos.html
- bovermyer 4y agoQBasic was the first programming language I ever wrote anything in. I mostly just transcribed stuff from books I got at the library, but I did try to write my own games. I definitely messed with gorillas.bas. Big nostalgia hit here.
- JoeDaDude 4y agoHow could I forget Gorilla.bas? At the time, I had a coworker who was obsessed with the game, always trying to get people to play with him during working hours. One day when he was out, I messed with the qbasic source and made his gravity concept be a random number. My coworker's winning streak ended as did his constant nagging to get people to play!
- qbasic_forever 4y agoA lot of those books are free to see online now: https://usborne.com/us/books/computer-and-coding-books https://usborne.com/us/books/computer-and-coding-books I absolutely love the aesthetic and contents of these things.
- wgx 4y agoIn 1999 I worked in a national chain of computer stores to fund myself through my computer science degree. One year I sent a “Happy Christmas” message to all stores on our internal Lotus Notes email system with a hyperlink in the email. The link would, when clicked, load GORILLA.BAS into Qbasic and run it. The idea was, in my teenage mind, a little Easter Egg to cheer people up around the festive season. Unreal to think that you could just link and run an executable from an email back then! An hour later I get a frantic call from group IT - I’d forgotten there’s no “exit” button - we now had 100s of stores where all the computers were playing Gorilla, and nobody knew the keyboard shortcut to quit the game. I think the IT guys had to call every single store that day and tell them how to get out of Gorilla. For whatever reason, I wasn’t fired.
- bovermyer 4y agoThat's a great story, haha. Thank you for sharing.
- bdcravens 4y agoI grew up dirt poor, but scrapped together enough money that I bought a friend's old 286. (1995) I took a Pascal class, hacked a bit on my TI-85, but QBasic on that computer was the first place I did any programming of substance on my own. Even bought a QBasic book, the first programming book I ever owned.
- beauzero 4y agoThe phone guy at MT Tech designed his own boards and wrote a switching program from scratch back in the late 90s in Qbasic while I was a student employee in the computer department there. Same guy who maintained the ham inter college backup route to MSU. I can honestly say most of the people back then and there were a lot smarter than me. Joe I hope you are alive and well.
- tamaharbor 4y agoI still use Power Basic Console Compiler.
- alexwebb2 4y agoWell, this is timely! I've been looking into porting one of my favorite classic games, VGA Civil War Strategy, from QBasic to JS – just reached out to the current maintainer today about it. I remember doing a lot of QBasic on the computers in high school and having a blast – first time I ever felt like I really knew what I was doing, and somehow it even made learning by trial and error feel especially rewarding. https://github.com/Hutsell-Games/civil-war-strategy https://github.com/Hutsell-Games/civil-war-strategy https://classicreload.com/civil-war-strategy.html https://classicreload.com/civil-war-strategy.html https://hutsellgames.com/civil-war-strategy/ https://hutsellgames.com/civil-war-strategy/ [EDIT] Here's the 5k lines of code comprising the game, for anyone interested in seeing a formerly-commercial, stand-the-test-of-time example: https://github.com/Hutsell-Games/civil-war-strategy/blob/main/CWSTRAT.BAS https://github.com/Hutsell-Games/civil-war-strategy/blob/mai...
- throwaheyy 4y agoQBasic and QuickBasic were my intro to real programming. Before that I had written some batch files but there wasn't much you could do with them. Maybe make some menus to launch your apps. QBasic was fun to mess around with but I ended up pirating QuickBasic from my school's computers. Being able to compile to an .EXE was a revelation!
- eric4smith 4y agoBack in the day, I remember doing tech work for the central bank in my country (Jamaica, circa 1991) and these English dudes were writing code in Quickbasic to help with some Foreign Exchange stuff for the bank. We sat down together for a short while as they showed me thousands of lines of incredibly complex QuickBasic code. It probably only lasted a short while as the bank upgraded their systems soon after that, but it was impressive to see what could be done with Basic for this time of corporate financial systems. To this day those guys impressed the heck out of me, and that really caused me to switch from just doing computer repairs to programming. So to those two English dudes out there, Thanks.
- qbasic_forever 4y agoI'm sad that platforms like Windows (or more importantly phones, iOS and Android) don't come with something similar to QBasic. If you didn't grow up with it it's hard to realize just how magical it was to turn on your family's brand new 486 and instantly have qbasic.exe installed and available from the get go. Even better, when you started it the program had an extensive help system that popped up and walked you through the basics. It even had a full reference of all the syntax, etc.--you didn't have to go hunting around on the internet to learn how to use it (because no one had access to the internet!). It was all right there and ready to go, just waiting for you to stumble on it. I wish every kid with a phone, tablet or computer today had a similar experience and tools available, not buried in app stores and downloads.
- breckenedge 4y agoI know. Pythonista gets really close to that experience on an iPhone, but yea it’s not included in the OS.
- tenebrisalietum 4y agoAt least basic HTML and Javascript can be spun up with little more than a text editor and a modern browser. Also all the old platforms either do or soon will live on forever in Javascript/WASM based emulators.
- whartung 4y agoI'm just going to disagree. Simply, with QBasic specifically, you got...QBasic. Yea, it came with a nice help system, but that help system was was a user guide and reference manual. It didn't teach you how to program. It just showed what the arguments to PRINT were. Useful, as a reference. Outside of the TRS-80, which had a fairly large BASIC tutorial manual, the early 8-Bits had rather poor BASIC documentation. They were combined BASIC reference and user manuals, and not spectacular at either. And they certainly weren't robust computer programming tutorials by any stretch. The simple point being is that while, yes, early computers came with BASIC, they weren't really set up for someone to actually learn how to program a computer. Anyone wanting to program the computer would need to find another book (or magazine) to learn programming. Even if that book were 101 BASIC Computer Games (which is an excellent mechanic, I learned a lot typing in BASIC programs). Every computer today comes with a web browser, a web browser that can take them to any of a long list of sites where they can start coding immediately -- whether in Javascript, or even many other languages. If anything, of course, the problem is that the web is "too big", the menu "too large" and an unguided novice can get lost in vast array of choices. I actually pity some poor soul typing "learn javascript" into Google alone. But, truth is, today, there are even few of those. Few are learning this stuff in a vacuum today. The modern web is hardly a barrier to someone interested in programming today. The available resources are endless. QBasic was a wonderful tool. It was beautiful and useful. A very elegant early IDE. Head and shoulders above GWBASIC/BASICA. But, still, stand alone it was incomplete.
- DawsonBruce 4y agoQBasic was my first programming language, which I was introduced to at about 13 years old. Today I am a senior engineer and the passion for programming all started back in that ugly blue screen around the turn of the century. I was introduced to the programming language when I visited some family in the Midwest US. I had gone with my cousin to the home of a kid named “Robbie” that lived in a neighbor. Robbie is what people today would call a, “script kiddie,” and he introduced me to a variety of his “hacking tools,” mIRC, and QBasic. I thought it was the coolest thing I had ever seen. I spent the rest of my time during that trip in my aunts basement trying to write my own QBasic games and downloading other people’s QBasic projects and trying to modify them. I began to attempt to write my own Zelda-esque game and was completely baffled by the concept of z-ordering and my giant green square of grass continues to cover my character and flash when I would make the character move around the screen. It was all an absolutely mess, but it was my introduction to programming, and it changed my life forever. I was absolutely enamored with what I had discovered, and it was the beginning of a lifelong journey of exploration in technology. Thanks Robbie, wherever you are.
- pteraspidomorph 4y agoI started writing QBasic programs at 8! And boy, did I suck! I too owe it to a childhood friend. Too bad I lost my childhood programs (along with everything else) when the Chernobyl Virus ( https://en.wikipedia.org/wiki/CIH_(computer_virus) https://en.wikipedia.org/wiki/CIH_(computer_virus) ) messed up my hard drive and I tossed it (no backups of course).
- 6mian 4y agoWow, the part of your life story is identical to mine. 8 years, childhood friend, Chernobyl. I admit this this experience learned me to do proper backups. I wonder how many others of "us" are there.
- benibela 4y agoI also started at 8 years old with QBASIC. But without childhood friend or Chernobyl So my files should all still be on that 386. But I do not know if it still runs I made a backup, on a ZIP disk. Do not know where that went
- petermcneeley 4y agoMy interest in graphics started with this game https://en.wikipedia.org/wiki/Gorillas_(video_game) https://en.wikipedia.org/wiki/Gorillas_(video_game) Since it was a .bas you could modify it and see how it worked.
- mtdowling 4y agoVPlanet is another great glimpse in time at QBasic and the game dev community it had in the late 90s early 2000s: http://vplanet.petesqbsite.com/ http://vplanet.petesqbsite.com/
- zamalek 4y agoQBasic was my second, but first real, introduction to programming (first being VIC BASIC). I was told not to press escape (at some DOS menu manager), but I did. Who knows how I wound up at QBasic. At some point I impressed some teenagers with a rainbow line on their full color screen, I was myself impressed with the experience: there was terminate-stay-resident called 'phix' that emulated VGA on a monochrome. phix broke the qbasic editor (blank screen), so I would have to make changes and then reboot (to clear the TSR) to try them out on my home machine. One thing I managed to do was to delete the entire source for NIBBLES.BAS (while the screen was blank due to phix), which my sister and I genuinely enjoyed playing. I just looked it up[1] and it was a mere 700 lines of quality BASIC. GORILLAS.BAS is one of my influential programs, and I want to write a competent spiritual successor to it one day. Edit: MONEY.BAS was also pretty awesome. I was too young to understand the idea behind it, but the ncurses-style UI and the random star background were great. Edit 2: I eventually wrote a tomagotchi game. It had a pretty awesome ASCII art intro sequence, but was plagued by a mistake of mine. `INKEY$` waits for an input key each time it was read, so an if-elseif-elseif-etc. would result in a kind of race condition. My instruction on the screen was essentially to "hold a key until it works." I eventually got hold of that machine 20+ years later and fixed the bug. [1]: https://github.com/tangentstorm/tangentlabs/blob/master/qbasic/NIBBLES.BAS https://github.com/tangentstorm/tangentlabs/blob/master/qbas...
- deleted 4y ago[deleted]
- dchuk 4y agoGrowing up, I would visit my grandma, who had free dialup internet because she was a school teacher (this was early 90s), and would print out the help docs for qbasic so I could bring them home to use on my non-internet connected computer. I managed to build a breakout style game a few other things I can’t remember. This lead to me learning html and then unlocked my whole career basically.
- drittich 4y agoI'm still coding now, but some of my most memorable adventures were with QuickBasic in the early 1990s, when I knew essentially nothing. My first one was fixing a flaky TSR "new mail" notifier that came with Microsoft Courier, a pre-cursor to Microsoft mail. I decided to write a new one which "merely" involved reverse-engineering what memory location to check to know that there is new mail, and then reverse-engineering the memory location to update to put the info on screen in the same place with the same colors. It was a drop-in replacement TSR that looked and behaved exactly like the original except it worked properly. (I made generous use of Norton Utilities to figure things out.) To this day I don't know how I came up with that approach, or why I thought I would be successful, or how I actually WAS successful. Yet hundreds of people used it for years with no issues. The other memorable app was a pop-up TSR chat app for NetWare. I sold that as shareware and made at least $500 selling it for $35 IIRC. That was the last time I made any real money from software I wrote for myself :) My code was terrible, and bug-ridden (like all the best code), but I was able to be very productive with QuickBasic and it heightened my sense that with a little effort you could do almost anything with computers.
- PcChip 4y agoI'm still looking for a copy of Tunnel Striker!
- Brajeshwar 4y agoIn 1992, our school introduced computers. I think we were the 3rd school in that tiny state in the corner of India. I have a story of how I did an uprising so that almost no one would want to do computers, leaving only a few of us to have all six computers to ourselves. But that is the story for another day. In the winter of 1993, I learned QBasic enough to write a tiny program (game). I used graph paper to calculate the position of a heart-shaped object on a robot-like figure. You move the cursors to shoot (like Space Invaders or something like that). When hitting the heart, it types out a name (which I asked when starting the gameplay). I had gotten my friends to arrange for "the girl" to play the game in a fateful extra class while we were preparing for our upcoming state-level 10th examination. Yes, she did play the game after I taught her how to, and instead of just her name, it said something like "Love you, NAME." She became my first girlfriend, my first kiss. I think the whole school knew that. Now, we have all grown up, with families, and the whole Class of '93 is still in a tiny group communicating regularly. Everyone still teases me to this day, including my wife, who is good friends with all the girls from our Class.
- cuteboy19 4y agoThey were teaching QBasic right up to 2013 at least!
- zozbot234 4y agoAnd many schools in India were notorious for teaching either Qbasic or Turbo Pascal/Turbo C++ in the MS-DOS environment very recently or even to this day. Sometimes resorting to DosBox to make them usable on modern hardware. (Is that better or worse than having students use an Electron- and JavaScript-based free IDE that will run like a dog even on the fastest hardware around? Dunno, really.)
- usrusr 4y agoLearning can come from unexpected directions. With my base of GWBasic, QBasic and Turbo Pascal I tried and failed learning C more than once. (Admittedly, most attempts where trying to learn C and win32 API at the same time, that might have been a bit much at once - particularly using the exotic GCC ports of the day). Then I spent a year or two diving into POV-ray SDL, with its heavily C-preprocessor inspired syntax. After that, C came surprisingly easy.
- Zephyrial 4y agoLike many others, QBasic plus some library books comprised my start to programming and totally changed my life. A few of my most vivid childhood memories were sitting in a closet with a humming MS-DOS computer, smelling hot plastic and finessing how to use SCREEN 7 so I could place my game's background on one page and sprites on another. A huge "aha" moment was when I learned what arrays were, as they allowed me to use the same "enemy sprite" logic to place multiple enemies on the screen at once without requiring separate code. Another was when I devised and designed my own Zelda-like tile system so I could draw various map elements once and then encode each game screen as a simple string of letters. Nothing but love for those days and how they got me comfortable messing with code.
- pipeline_peak 4y agoI was like oh god is Fabrice Bellard dominating yet another sector
- physicles 4y agoSome of my best memories from childhood were waking up early on a Saturday morning and hacking in that blue and white screen in a silent house for a couple hours before my family woke up. No Internet yet, so I got this book[1] for my 10th birthday and went through it cover-to-cover probably several times. Like so many here, QBasic literally altered the course of my life. Does anyone here remember that feeling the first time you realized the power at your disposal? [1] https://www.amazon.com/Mastering-Quickbasic-Rita-Belserene/dp/0895885891 https://www.amazon.com/Mastering-Quickbasic-Rita-Belserene/d...
- oaiey 4y agoI am still angry that the .NET team basically gave up on VisualBasic. Not that VB is such a good "variant" but it is definitely more beginner friendly than F# or C#.
- pjmlp 4y agoI am there with you, nowadays they could rename CLR into C# Language Runtime. Even F#, I am not really sure how long they will keep investing into it, as they have pivoted into trying to push F# for data science, while at the same time hired Guido and are driving the efforts to make CPython faster, and keep adding F# features to C# as well. The irony that we get more options on the JVM side than on the CLR, versus what each one originally stood for.
- pjmlp 4y agoI was already moving into Turbo Pascal after having been through the 8-bit computers, GW-BASIC and Turbo Basic (my entry into Borland family), so never got into playing around that much into QBasic, other that when bored in foreign computers. However I always felt it was a bit unfortunate that Microsoft never invested into QuickBasic the same way as they did with their C products, even with VB later on, it had to wait until version 6 to get a proper AOT compiler, and even then, only to be eventually replaced by .NET. Somehow a company created on the BASIC wave seems to always have had a vocal minority (internally) that always messed up the products that helped the masses to program with more productive languages (nowadays still present in WinDev vs DevDiv politics).
- wiz21c 4y agoI did my first (and only :-)) commercial program with Turbo Basic. I was pretty young so I didn't understand that Turbo Pascal would have been a better idea, but anyway, Turbo Basic was just a massive step ahead when you were coming from GW Basic. The editor was quite good and the speed/compilation time were just form the future. I was blown away. And there were no line numbers (a huge progress at that time !) ) :-)
- pjmlp 4y agoYes, my entry into Turbo Basic was helped by this book, https://www.amazon.com/Using-Turbo-BASIC-M-James/dp/1850580987 https://www.amazon.com/Using-Turbo-BASIC-M-James/dp/18505809... One reason I get sour with C, is because I was tainted with having the opportunity to do system level stuff Turbo Basic and Turbo Pascal languages and environments before getting acquainted with C. So I learned to use a lighter before having to deal with creating fire with sticks, thanks Borland.
- makach 4y agoDon't be confused. Easy to learn does not equal easy to master. This applies to all programming languages. Basic is a great programming language, it is just such a shame that it has reputation as a language used by novices and beginners.
- thatjoeoverthr 4y agoQBasic was my first. When I was eight, a man at a bookstore programming section suggested me “Easy Programming With QBasic” and it was perfect.
- tristor 4y agoQBasic was my first language, I started learning it from a book my parents got me when I was around 4yo, and it lead me into VB6 when I was around 10yo, which lead me to basically my career these days. Learning the basics of how computers work and programming them to do things was an incredible thing as a child, it really emboldened me and made me feel in control if myself when I didn’t feel that way about what was happening around me.
- zozbot234 4y ago> QBasic was my first language, I started learning it from a book my parents got me when I was around 4yo You were learning to write in modern BASIC without line numbers at that age? That's really interesting actually, not something I've heard about before.
- yrandom 4y agoI spent countless hours learning to code using QBasic and building games from type-in code books I founds in libraries. I wanted to re-create this experience so built my own learn-to-code platform, https://akedo.app https://akedo.app, inspired by the ease of getting started with QBasic. One of the first examples I built was a clone of Nibbles in only 120 lines of code which you can play at https://akedo.app/play?g=8eolqpn_fk-kr1TLi_WmKw https://akedo.app/play?g=8eolqpn_fk-kr1TLi_WmKw I'll need to come up with a version of Gorillas next!
- PhilipA 4y agoI remember as a 8-9 year old kid going to the library and finding a book about creating games in QBasic. I Spent most of the summer just copy and pasting the code from the book in hope of it working. As I didn't speak English it was very hard for me to debug, so any error just meant I had to start all over. Only a few games worked, but when it happened it was like magic.
- continuational 4y agoYeah, good times! Also worth visiting: https://games.phatcode.net/ https://games.phatcode.net/ http://petesqbsite.com/ http://petesqbsite.com/ I was 11 when I discovered QBasic. In the years after that I made a few platform games (Martian Venture, Shotgun Sam) and a pixel art program, and a whole slew of unfinished things. Never could stop programming after that.
- jeroenvlek 4y agoAhhh, my first lines of code were BASIC <3 Btw, slightly related, if you want to do some BASIC from a Scala context, check this out: https://github.com/tpolecat/basic-dsl https://github.com/tpolecat/basic-dsl
- skerit 4y agoI remember being so fascinated by GIMI, an "OS" written in QBasic: http://qbasicgui.datacomponents.net/gui.php?id=24 http://qbasicgui.datacomponents.net/gui.php?id=24
- daitangio 4y agoA nice article on history of GW Basic: https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/ https://devblogs.microsoft.com/commandline/microsoft-open-so...
- password4321 4y agoI wrote a keyboard-driven drawing program that IIRC wound up being self-replicating, appending a string of DRAW commands to itself so each saved drawing could rebuild itself and continue drawing. I also remember how impressed I was when I first saw a program bouncing 3d shapes around the screen instead of my 2d lines.
- foxbee 4y agoA lovely dose of nostalgia right there.
- lf-non 4y agoI remember seeing QBasic after getting introduced to GWBasic previous year and getting so excited that every line didn't need to have line numbers as part of source.My first reaction was oh - my gotos won't break all the time anymore :) It is sometimes hard to imagine how much the DX has evolved over the years.
- tomduncalf 4y agoNostalgia! I used to love playing with QBasic. Me and a few friends would sit in the computer lab at lunch when we were maybe 11/12 and play with it, which was weird as I was the only one actually interested in programming. I remember being very proud of reverse engineering how BMP (I think?) files worked (pre internet days!) and writing a program that could (very slowly) render them in QBasic. There was a guy a couple of years above us who fancied himself as a bit of a hacker (I remember he edited the boot sector of the library computers to infinitely reboot…) would make proper “demo scene” style programs in QBasic which was pretty impressive, I wonder what became of him! Would be kinda fun to go back and play with it with a deep understanding of programming, and see what is actually possible if you really understand it.
- DrSiemer 4y agoAs a kid I had to learn at least a little Basic (mainly GWbasic), so I could load and play games. But things really took off when a cousin borrowed me his "Qbasic for beginners" book. Code printed out in a popular hobby science magazine helped a lot too. I remember manually typing over whole pages full of unintelligible poke commands and how those would work at best 30% of the time. I think it was the ability to directly tinker with the values and formulas in the games that I loved to play that shaped the coding style I'm still using to this day. Often I'm not exactly sure why I'm trying something, other than that it just "feels like it might be the right thing to do". And about 60% of the time it turns out I'm right.
- thom 4y agoI keep QBasic installed on DOSBox on every machine I own just to know it’s there. Structured programming, the immediate window, an interactive debugger, built-in help, it all combined into a fantastically safe and productive environment for someone starting out. It feels like there isn’t a good equivalent today, kids have to work in weird stuff like Scratch or piece together docs, YouTube videos, editors and compilers/runtimes in a way that distracts from the essence of learning code. I’ve played with Gambas with my son and that’s a nice Visual Basic-like integrated environment. There are some nice apps that just give you a Python window and a run button but aren’t as slick overall as QBasic. We’ll probably end up diving all the way into Roblox studio because that’s very motivating at least, if very complex for a beginner. Maybe Swift playgrounds is the right approach, I’d love to hear what others find.
- zozbot234 4y agoThe FreePascal project maintains a clone of the Turbo Pascal text-mode IDE that will run and interoperate w/ modern environments. But there isn't much of an equivalent even for C/C++, let alone BASIC, or other modern languages for that matter. Vim and Emacs just don't support the same kind of novice-friendly DX.
- badsectoracula 4y agoQB64 is almost a faithful recreation of QBasic with a bunch of extensions, though i'm not sure if it has a QBasic-like "live" editing feature (where you can pause the program while it is running, run functions or modify the code and then continue from there).
- zozbot234 4y agoJust found out about it. Apparently it transpiles the BASIC code into C++, which sounds a bit hacky TBH, given how crazy the semantics of C++ can be. They do have an impressive graphical recreation of the old text-mode IDE.
- pjmlp 4y agoYes there is, C++ Builder. Which everyone else failed to reproduce to this day.
- wdb 4y agoThere was also PDS Basic which allowed to compile into executables
- dvratil 4y agoMy dad (who's an architect but learned a little bit of programming on the university in the 80s programming on punch-cards) wrote a few simple QBasic programs with basic math and English vocabulary excercises for me when I started primary school. When I was 13 or so I found them again and ask my dad to explain it to me how it works. He did not remember much, but he showed me a few commands he remembered and that's when my world turned up-side down. I learned everything else myself from the built-in documentation (although I did not understand big portion of what the docs said) and spent almost all my time at the computer, writing stupid small programs in QBasic. The ultimate program I wrote was a silly Windows 95 clone with the Start menu, calculator and clock programs built in. At some point the code was too big that it wasn't possible to run it, because there wasn't enough memory left after QBasic loaded the source code. Worth saying that the computer had 4MB RAM, though, so it was probably just a few thousand LoCs. From QBasic I went to Delphi, did a detour to PHP/HTML during high school and ended up at C++ some 14 years ago. Today I'm a SSE and I still love programming and everything about computers. Seeing this post (and all the cool stories in the comments) brough a big nostalgia hit - all those hours spent in front of my dad's Compaq Contura just writing one QBasic program after another (and playing Commander Keen, of course!)...there's a big box of flopp disks at my parent's house, I suddenly feel a big urge to go buy a floppy drive and see if any of my masterpieces have survived...
- lproven 4y agoQBasic was a DOS interpreter, so the 4MB of RAM didn't matter. DOS couldn't see more than 640kB of RAM, and I am not sure if QBasic even used all of that.
- p0nce 4y agoWhen I started out, QBasic was instrumental in getting me interested in programming (other tools would not do it), because it was easy, all inclusive, graphics related, immediate, and well documented.
- _glass 4y agoI learned programming quite late, starting in university. But my first programming experience was very early as a child when my dad brought home a 286 laptop (!) and showed me how to write simple programs in QBasic. He showed me how to do conditional branching (IF ELSE), but for loops he told me to read the documentation. I wrote a little text adventure just with IF ELSE, never read the documentation and lost interest. If I would have just followed through ...
- tr1ll10nb1ll 4y agoI picked QBASIC up as a kid and made my first game (a quiz), that was my first eureka moment. Pretty cool now that I think of it.
- sitkack 4y agoQBasic and Python 3.14 are almost indistinguishable.
- zozbot234 4y agoSeriously? The languages couldn't be more different, and the complex semantics of Python makes for lots of pitfalls for the unwary novice to fall into, even in foundational language features where BASIC-like languages are generally quite simple and transparent.
- sitkack 4y ago> Python 3.14 https://github.com/GorillaStack/gorillas/blob/master/gorillas.bas https://github.com/GorillaStack/gorillas/blob/master/gorilla... The syntax is more Ruby/Lua like but with the improvements that Python is making in typing, it looks like it could get there in three minor releases.
- randombits0 4y agoMy dirty little secret involved QB45. I local shoe chain had their POS running on true-blue IBM PCs with BASICA, the ROM-based BASIC that was only on real IBM machines. The code had the “protection” bit set so mere mortals couldn’t alter the code. The chain was looking to get out of the IBM-only requirement and also wanted some minor code tweaks. So I “unprotected” the BASICA program, made the requested tweaks, and compiled the whole thing with QB45. They now had a stand-along executable that could run on any DOS clone machine. And since it was compiled, performance jumped, it was super fast! Took me 15 minutes, client was thrilled, I charged them $5,000. Easiest money I ever made. No, I don’t feel guilty about it. Was it difficult? Not for me. I just so happened to know where to hit the hammer while no one else did.
- suprjami 4y ago> Took me 15 minutes Wow, you did all that in your 15 minutes of ever using a computer? You must be some sort of genius! Actually those "took me X minutes" jobs are only possible because of years of prior learning. You should not feel bad about charging for your years of experience resulting in expertise. If it was so easy then everyone would be doing it on Fiverr for 15 bucks.
- adeon 4y agoMallard Basic and QBasic is how I got into programming. I'm glad people still have nostalgia for QBasic. Even by today's standards I think it's impressive how QBasic was a somewhat complete IDE with a built-in help menu you would just get with typing qbasic.exe. In mid-90s our home had an Amstrad PCW8256 which had CP/M and something called "Mallard Basic". It was the first computer I ever used. You wrote code by typing a line number and then the code you wanted on that line. The local library had a little instruction manual for how to program and had some example programs. I was like 6 years old and typing a lot was hard for me so I had my mom type in the example programs from the manual that I then tweaked. I didn't know it at the time but that particular computer was already hopelessly outdated by the time we had it. (IIRC it was from late 80s, and the year was somewhere around 1995-1996). Later we got a Windows 3.11 machine with some 486 and it had QBasic. I had a lot of fun reading and tweaking NIBBLES.BAS and GORILLAS.BAS. Especially to make the bananas in gorillas explode in much larger explosion because for a kid like myself the bigger the explosion the more funny that is. Fast forward 20 years coding my entire life and I got master's degree in computer science and immigrated to USA to work in tech. Thanks Basic!