QuickBASIC is a BASIC programming language developed by Microsoft derived from their earlier GW-BASIC titles, and first released in 1985. The name was possibly meant to piggyback on the success of Borland's Turbo Pascal. It began simply as a BASIC compiler, but by its final version it had grown into a full integrated development environment (IDE) with compiler, linker, and extensive help and example programs. Several versions were released but the most popular release was 4.5. MS-DOS 5.0 and greater came with a crippled version of QuickBASIC 4 called QBASIC which didn't include the compiler or linker. QuickBASIC code compiled into machine code and could be run in 16-bit DOS without needing to include run times. The last official build of QuickBASIC was 4.5, but a version of 7.1 was released under the name Microsoft BASIC Professional Development System, although it was essentially the same program.
As Microsoft began to focus more and more on Windows 3, it ceased development for DOS-based programming languages and created Visual BASIC. Command-line BASIC continues to see some development with languages like FreeBASIC and QB64.
The majority of my formative programming learning was done using QuickBASIC. I have probably spent over 1,000 hours playing around with QuickBASIC over the years, the majority of my time was spent writing games that I never finished.
- The program isn't just a compiler, it's a full-fledged IDE.
- The IDE automatically refactors functions to be all uppercase and fixes variables to match the case when you change them.
- The IDE runs single-line compiling whenever you move the cursor off a line so you notice bugs right when they happen.
- The program comes with a linker as well which allows you to import libraries from other languages.
- Program execution is especially slow. Without resorting to assembly libraries, you won't be able to write any programs that rely heavily on graphics or sound.
- The Screen command doesn't let you specify screen modes directly, instead it gives you the closest equivalent. For example, if you set the screen to 0, you will get different resolutions and features if the PC on which you're running has monochrome, CGA, or EGA display. And, even though EGA has back-support for CGA resolutions, you aren't permitted to access them.
- The compiler can't compile BASIC files over 640K. You can use the linker to make larger EXEs, but it becomes a pain.