11
\$\begingroup\$

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:

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)

?"Happy golfing!

\$\endgroup\$
  • \$\begingroup\$ QBasic Nibbles game inspired my to write the challenge Nibbles Nostalgia \$\endgroup\$ – sergiol Jun 2 '18 at 0:45
5
\$\begingroup\$

List of all QBasic solutions posted in June


List of all QBasic tips posted in June


List of QBasic-related challenges posted in June

  • add entries in the form:

    [<challenge title>](https://codegolf.stackexchange.com/q/<question-ID>) by [username](https://codegolf.stackexchange.com/users/<user-ID>)
    
\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .