It's normal to expect some software-compatibility problems due to subtle changes that are introduced in a new OS release. Since the application run-time architecture has undergone sweeping changes under Copland, you might anticipate major compatibility problems. However, Copland supports the old run-time environment and APIs along with the new ones, so such problems might be minimal--at least on paper. The matter won't be settled until Copland ships, but we can identify the potential problem areas. Possible culprits are listed below and are arranged in order from best-behaved to worst-behaved.
-- Applications that make heavy use of network communications, such as
mailers, group schedulers, and software-control packages. That'
s because
Copland uses Open Transport to implement protocol stacks and network
services. Also at risk are telecommunications applications, since Open
Transport manages serial communications protocols. But because Open
Transport will be released this summer, software vendors will have an
opportunity to revise their programs. The bottom line: Expect to use
the most recent version of these applicatons with Copland.
-- Drivers. The revised driver architecture is bound to create some problems
for vendors and users alike. The PCI-bus Power Macs to be introduced this
summer will be a proving ground for the native implementation of PCI
drivers. However, Copland's memory-protection scheme and the need for
reentrant code could create new problems. The bottom line: Make sure
the PCI card or new driver extension is Copland-compatible.
-- Extensions and Control Panels with initialization code. Since Copland uses
a native patching mechanism, an initialization-code resou
rce that patches
the old A-trap table simply breaks. Also, there will be many problems
arising out of such code being loaded into disparate address spaces.
The bottom line: Prepare to pony up the cash to upgrade all your favorite
Extensions and Control Panels.
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it
is
theoretical--and no language better exemplifies this than C++.
BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin,
and dozens of other CMP publications—bringing
you critical news and information about wireless communication,
computer security, software development, embedded systems,
and more!