Next: Why type checking?
Up: Typing in object-oriented languages:
Previous: List of Figures
The object-oriented paradigm has been adopted by an increasing number
of programmers and organizations over the last decade because of its
clear advantages in organizing and reusing software components.
It would clearly be advantageous to be able to provide static type
systems for object-oriented languages that are of the same quality as
those available for more standard procedural languages.
Unfortunately commercially
available object-oriented languages fall far short of that goal. The
static type systems of object-oriented languages tend to be either
insecure or more inflexible than one might desire. In some cases the
rigidity of the type system leads programmers to rely on type casts
(sometimes checked at run-time, sometimes not) in order to obtain the
expressiveness desired. In other cases, the type systems are too
flexible, requiring the run-time system to generate link-time or
run-time checks to ensure the integrity of the computation. In this
paper we explore the type-checking systems of object-oriented
programming languages: examining problems and suggesting solutions.
Kim Bruce
10/28/1998