One technique to tame the unruliness of big, complex programs is to break them down into smaller components that are more-easily written, debugged, and extended. Increasingly, many software firms are turning to a programming style called ``object-oriented programming'' for help. ``Using the object-oriented style,'' says Bjarne Stroustrup of AT&T Bell Laboratories, ``you can get more work done with less hassle.''
Traditional programming languages force programs to represent information inside their programs with a small set of predefined types, such as numbers or strings of letters.
With object-oriented languages, ``you build your own types and then use them,'' Dr. Stroustrup says.
Because new types are built from old ones, it is easier to add new features to programs that are written in the object-oriented style.
Using object-oriented programming, says Jim Howard, a senior engineer at Mentor Graphics, it is simple to put together a ``prototype'' version of a program and ``take it for a test drive. You can worry about the internal implementation later.'' That makes programs easier to understand and faster to develop, Mr. Howard says.
Mentor Graphics, an Oregon company that writes software for computer-aided design, was one of the first large software houses to rewrite its product into an object-oriented programming language. Doing so has made a tremendous difference.
``The number of lines of code we are writing is about the same, but they do more and they are more carefully thought out,'' Howard says. ``We often find that people spend a lot of time very carefully defining the interface, the class definition.'' Once that is done, he says, writing the rest of the program is so simple that ``you can almost do it on autopilot.''
Object-oriented programming was first used in the Norwegian Computer Center in 1968, says Stroustrup, and made its US debut at the Xerox Palo Alto Research Center in the 1970s. ``What's happening now is that it's becoming commercially available, it's becoming understood, and it's becoming [fast] enough'' to run on personal computers, he says.