In accordance with our meta agreement to have a Language of the Month, and since the list of nominations had a single highest-voted entry at the beginning of June, we have a new featured language! Throughout June 2018, our Language of the Month, nominated by DLosc, will be:
QBasic
What's a Language of the Month?
See the meta posts linked above. In short, during June, those who wish to participate should learn (at least the basics of) QBasic, use it to solve challenges, and discuss it in the QBasic chat room. Participation is completely optional, but is anticipated to be fun!
Information about QBasic
One of a long line of BASIC dialects, QBasic was included with the DOS operating system starting in 1991, and subsequently with Windows 95 and 98. A whole generation of programmers[citation needed] spent many happy hours using it to draw Mandelbrot sets, build dungeon-crawls, or play classical music. For those of us who grew up with it, the nostalgia factor is strong. But QBasic still has appeal for the hobbyist programmer today.
Despite being less capable in some ways than modern practical languages, QBasic has several features that make it fun to use:
- Its imperative syntax is familiar and easy to learn, without the boilerplate of C and its descendants.
- Graphics, sound / music, and the rough equivalent of ncurses are built in, allowing for easy solutions to some challenges that would require specialized libraries in other languages.
- There are plenty of opportunities for golfing: rearranging control flow, rewriting conditionals, trying different input methods. Whitespace can be eliminated, the
PRINT
command can be abbreviated as?
, strings at the ends of lines can omit the closing quote, etc.
Documentation
It's included in QBasic itself! Fire up the IDE, hit Alt-H, and make a selection from the Help menu. Or, type a keyword you want to learn about, put the cursor on it, and press F1.
(Note: the help file in QB64 tends to be more explanatory than the one in actual QBasic.)
Other helpful links:
- A tutorial that looks like it covers most of the basics.
- A stripped-down language reference online.
- Entry in the showcase of languages.
- Golfing tips.
For help, you can also visit the QBasic chatroom. If no one's there, reply to one of @DLosc's messages and he will get back to you.
(If you consider yourself knowledgeable in QBasic and would like to help teach it to other users, feel free to add your name to the list!)
Interpreters
See installation and testing instructions for more details. TL;DR: your best options (in ascending order of how much work they are to set up) are:
- Archive.org (original QBasic, running in a DOS emulator, made available online)
- QB64 (downloadable QBasic emulator with > 95% compatibility)
- Original QBasic (can be downloaded and run on DOS, pre-XP Windows, or a DOS emulator such as DOSBox)