[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.