Microsoft KB Archive/48399
Article ID: 48399
Article Last Modified on 8/16/2005
- Microsoft QuickBasic 4.0
- Microsoft QuickBASIC 4.0b
- Microsoft QuickBasic 4.5 for MS-DOS
- Microsoft BASIC Compiler 6.0
- Microsoft BASIC Compiler 6.0b
- Microsoft BASIC Professional Development System 7.0
This article was previously published under Q48399
This article summarizes Microsoft's response to the question of why many TSR (terminate and stay resident) programs are incompatible with Microsoft QuickBasic for the IBM Personal Computers and compatibles.
For similar information regarding hardware incompatibility, query on the following words:
incompatible and video and hardware and QuickBasic
The QuickBasic environment is a highly sophisticated development tool tuned for simultaneous usability, speedy performance, and efficient size, insuring a maximally responsive environment while retaining capacity. One technique used to achieve this goal was to hand code the majority of the speed-critical areas in assembly language, including all parts of the language engine and I/O support. Our constant aim is to create program development environments that are unmatched in the areas of responsiveness and programmer productivity. The alternative is to have a text editor environment capable of spawning off what are fundamentally command-line tools.
The result of this challenging objective is a dynamic technical accomplishment -- the QuickBasic environment allows you to climb inside the language "engine" and vary the execution paths, manipulate your data, and edit and test your source code all without recompiling. If QuickBasic is ill-behaved when TSR software is also present, it's the sort of behavior that hundreds of thousands of QuickBasic programmers have decided is well worth the cost for the benefits it delivers.
The conflict with TSR software is difficult to avoid in the ultrasophisticated low-level technology of QuickBasic's magnitude. While we make every effort to retain TSR and hardware compatibility, we are faced with the challenge of identifying those configurations that are important enough to support with added code (thus sacrificing environment capacity), while trying to retain the maximum speed and work space that the majority of users, not using that specific configuration, not only appreciate but demand.
The alternative for people who want environments that do not take over the machine is the more traditional and less responsive text editor or command-line compiler programming technique, which is certainly available to all QuickBasic owners. But for those who appreciate the unique advantages of Basic in its instant environment and do not want to trade productivity for low-level machine control, QuickBasic is available for them. And for many people, this is a very reasonable and acceptable trade-off.
Additional query words: QuickBas BasicCom