Introduction
As a child one of my first computers was an Apple II which booted directly to the command line…which in turn was also your development environment.
This was followed by a Commodore 64 and more Apple computers (II+, IIe). All of these used primitive Basic versions.
When I moved to a DOS PC and later a Windows PC I gained experience with QBasic eventually moving on to Visual Basic (skipping over QuickBasic, PDS, and VB for DOS) and then to VB.NET.
Even though the world seems to have largely moved on from Basic languages and insists on the superiority of C/Java-esque languages there is still a great fondness in my heart for Basic (and thankfulness to Microsoft for continuing to provide VB.NET, a stand-out in a sea of curly cues).
This page is a shrine to Basic – as it has been, is now, and one day will be. Enjoy!
QuickBasic
I know this is heresy, but I am going to arbitrarily begin with QuickBasic (QB). All the earlier variations I am going to ignore…and in fact, when I speak of QuickBasic I am going to meld unacceptably together QuickBasic, QBasic, and PDS…but before I do so, let me define them separately
- QuickBasic (QB) is the popular Microsoft language many DOS applications were developed in.
- QBasic is a stripped down version of QuickBasic included with Microsoft’s Disk Operating System (DOS).
- PDS is Professional Development System, the successor to QuickBasic.
- Visual Basic for DOS is the final BASIC version written by Microsoft for DOS.
QuickBasic Compatible
Microsoft left QB developers in a bit of a lurch when it abandoned its DOS IDE/compiler and moved entirely to Windows. While some code could run without change in Visual Basic for Windows there was also a lot Visual Basic didn’t handle – and didn’t provide an easy migration path from QB to VB – especially in the arenas of graphics and sound.
A number of companies offer varying levels of compatibility with QB. Here I’m going to only include those which provide a high level of compatibility, not just tools or tutorials on how to convert from QB to their particular language.
FreeBasic
FreeBasic (see also Wikipedia) offers a high level of compatibility with QB when run in QB language mode, has several nice Windows-based IDE’s. Currently release is 0.90.1, but don’t let the conservative versioning fool you – this software is under regular development, stable, and full-featured.
QB64
In my experience, QB64 (see also Wikipedia) offers a higher level of compatibility with QB than FreeBasic, but its IDE is essentially a clone of the QB IDE – in other words, extremely antiquated. Oftentimes you are better off using the QB IDE due to some of its more advanced features.
Sites to Visit
QuickBasic
The Essentials
- In order to program in QuickBasic, you’ll need a copy of it. This is a legally tenuous area. Microsoft hasn’t officially allowed the distribution of QuickBasic, PDS, and/or VBDOS, but it also doesn’t take any action to stop sites which have been operating publicly for years from hosting the software and making it freely available. Phatcode has copies of QB 4.5, PDS 7.1, and VBDOS.
- Now one can use the built-in help file in Microsoft’s applications as a language reference, but it is much easier to access it via a web browser. Silvio Mummert has done a nice job reproducing the help file. Another invaluable reference resource is Phatcode’s QBasic subsite. The page colors are atrocious and the organization is haphazardly confusing, but it contains a lot of excellent resources – including the text of several reference manuals Microsoft included with various versions.
- But, trust me, reading the help file isn’t the easiest way to learn QuickBasic. You have numerous options, I personally utilized QBasic by Example back in the day and it can still be acquired off of Amazon.
Everything Else
- QBasic.com – This site hasn’t been updated in quite a while (2012). It has a newsletter which features information about various QB/FB/QB64 games and libraries as well as a directory of QB games (2008). It also hosts downloads of QBasic 1.1 and QuickBasic 4.5.1I’m not sure whether this is technically legal. Microsoft however has not taken any action to force the removal of these applications and they have resided here publicly for years.
- Qbasic / Quickbasic News (QQN) – This site also hasn’t been updated in a long time (2012) but it does include a number of tutorials on the language as well as a forum.2The forum is fairly dead, but probably contains some great nuggets for solving various programming dilemmas.
- The QB and QB64 Forum Community – This forum community is still active, though I’m unsure how active. It is hosted on network54.
- Pete’s QBASIC / QuickBasic Site – This site hasn’t been updated in a long time (2008) but contains a huge repository of information and downloads.
- QBasic (Wikibooks) – A fairly complete wiki book on QuickBasic.
- QBASIC Programming for Kids (by Ted Felix) – A fairly extensive tutorial last updated in 2010.
- Phat Code – Outdated (2006) but includes downloads for QuickBasic 4.5, PDS 7.1, and VB for DOS 1.0, also some tutorials.
- QBasic Message Board – Pretty dead, but useful info.
- QB45.com – Includes a large number of downloads including libraries and utilities, also has a forum with some activity.
- QBASIC’s PAGE – Hosted on Phat Code it has extensive information regarding QuickBasic commands and the application, though not in the friendliest format.
- qb.js: An Implementation of QBASIC in Javascript (by Steve Hanov) – Pretty cool little example, unfortunately it isn’t a full implementation.
- Beginner’s Programming Tutorial in QBasic.
- Programmed Lessons in QBasic.
- Version History of Microsoft QuickBasic for MS-DOS (by Microsoft).
- QuickVB – Created by the VB Team.
BASICs
Product Name | Company | Price | Notes |
BlitzBasic | Blitz Research | FREE | |
Just BASIC | Shoptalk Systems | FREE | Little sibling to Liberty Basic. |
Liberty BASIC | Shoptalk Systems | $60 or $120 | Windows App Development. |
Cheesecake BASIC | Noktosoft | FREE | Compatible with QuickBASIC, can be compiled in PowerBASIC. |
PowerBASIC | PowerBASIC | $99 to $199 | DOS version compatible with QuickBASIC. |
Run BASIC | Shoptalk Systems | $60 | Web App Development. |
Xojo | Xojo | $99 to $1,999 | Formerly REALbasic. |
Historic Basics
- Beta BASIC – A successor to Sinclair BASIC that would in turn be succeeded by SAM Basic.
Other Links
- The Basmark QuickBasic Programmer’s Manual.
- Turbo Basic.
- PureBasic.
- BASIC-256 (KidBasic), also this site.
- Microsoft SmallBasic.
- BBC BASIC for Windows (R.T. Russell).
- Basic to C Translator (BCX), also here.
- HotBasic.
- XBLite.
- The Game Creators (DarkBasic).
- GLBasic.
- Jabaco (Java).
- thinbasic.
- Mobile BASIC.
- B4A (formerly Basic4Android).
- True BASIC.
- xbasic (Max Reason).
- PlayBasic – for 2D game programming.
- REBOL.
- Quite Basic – web-based.
- FNXBasic.
- Gambas.
- Basic4GL.
- Chipmunk Basic.
- SmallBasic.
- Yabasic (Yet Another Basic).
- Vintage Basic.
- wxBasic.
- MoonRock Compiler and Development Language.
- ScriptBasic.
- Bywater Basic Interpreter (BWBASIC).
- Business BASIC.
- The Basics’ Page – A huge list.
- HTBasic (Rocky Mountain Basic [RMB]).
- Lemick.
- NBASIC.
- SheerPower 4GL.
- Ubercode.
- QuickBasic Help Documentation.
- Microsoft BASIC (Wikipedia).
- Gary Beene’s QBasic Information Center.
- Time’s First Years of Basic.
Have you run across anything, free or pay, that will compile PDS7.1 for 32bit [or 64bit] ? Simply running apps in a 16bit Emulator does work to a limited extent, but it can be a RPITA at best. With all of the PDS code out there I find it amazing that there was no successor to PDS. As you’ve stated, QB64 is available, and I do use it for all new tasks, but it is limiting for many of my requirements, as well as an enormous task to convert most of my graphics code. As an alternative, is there a non Herculean method of moving PDS 7.1 to any VB type environment that is 32bit [or 64bit]. I have futzed with PowerBASIC, specifically the Windows 6.04 version, but it does not fit my needs either. I can say that the sales people at PowerBASIC were upfront honest that it would be a task to convert my code, they did not understate the issues.
Your best bets are FreeBasic and QB64. Both provide significant backwards compatibility for QuickBasic, (PDS 7.1 is essentially QuickBasic).
Dave, as I stated, QB64 is ok for new tasks, just not for porting my existing PDS. Quite frankly, it sucks at porting PDS that uses any kind of independant text or graphics windows. And no, PDS 7.1 is not essentially QB, it’s QB on steroids. PDS is a Superset of QuickBasic. I’ve also found some differences in Double Precision math, basically binary runnoff errors. FreeBasic, well, it’s free. I’ve looked a FreeBasic several times, never found a use for my needs. Just tried it again, and it annoys my AV for some reason that makes me look sideways at it, so it’s on a standalone box while I’m futzing with it. I’ll get back to you on that evaluation.