[Contents] [Previous] [Next]

System-related code in the application

As the application libraries and the underlying operating systems continued to mature and acquire more capabilities, the number of APIs and programming reference manuals and the complexity of the programming task began to increase exponentially. But if an application needed more specialized capabilities than some part of the system happened to provide (for example a printer driver or a high-end graphics engine), the programmer usually didn't have the ability to modify the underlying library. Instead, the programmer either had to live with it as is or had to create a new one from scratch, essentially replacing part of the operating system.

For example, Aldus Persuasion writes all its printer drivers from scratch. Adobe Illustrator, which runs on both the Mac OS and Windows, ignores QuickDraw (the Mac OS graphics engine) and GDI (the Windows graphics engine) and uses its own PostScript graphics system instead. Developers spend a lot of time trying to make their programs work with (or around) the underlying operating system, and therefore less of their time working on the tasks their application performs for the customer. Whether it calls application libraries or the underlying operating system, half or more of a modern application's code is essentially a form of system software.


[Contents] [Previous] [Next]

Addison-Wesley Publishing Company, Copyright©1995 by Sean Cotter and Taligent,Inc. All rights reserved.