Pate 62 PG WEEKNAPPLIGATION DEVELOPMENT. SEPTEMBER 4, 1989 This is the first in a series of articles on ob- new technology that is changing tihe way pro- grammers and. users deal with computers. The modifier "object-oriented" is more than just JAMES MARTIN a buzzword. It describes a tech- nology that's radically changing the user interfaces and the way computers are programmed, It reguires a new way of thinking about. the machine that is, in fact, totally intuitive. It is a technigue that holds great promise for dealing with the ever-increasing complexity of computer applications. Object-oriented technigues are having a significant effect on the way comput- ers handle complexity. The technigues are used for encapsulating information, thereby shielding layers of complexity from view. Through the use of objects, a complex problem can be recomposed in simple components. New operating environments are H based heavily on object-oriented user in- | i terfaces. | Sophisticated graphics interfaces for | CAD/CAM and computer-aided software engineering (CASE) applications are now possible because of these new tech- nigues, Word processors and expert-sys- tem shells are using object-oriented tech- nigues. Programming languages based on object-oriented technigues are show- ing productivity gains o£ 5-to-1 or better for complex programs. Object-oriented databases are being designed to handle complex data modeling and storage in applications such as CAD/CAM and CASE design repositories and large text - databases. New machine architectures, such as the AS/400, are inherently ob- Jject-oriented systems. There are many uses of the word "ob- ject," but in most cases it encompasses both properties (data) and behaviors h (procedures). It is used loosely to de- ij scribe the icons in a user interface, the J entities in databases and the elements manipulated by system software in newer machines. In p: lan- Buages, it refers to the encapsula! units of properties and behaviors. This week, Fl focus on object-oriented interfaces and object-oriented pro- Although "object-oriented" is used freely to modify both interfaces and grami Object-oriented interfaces directly ben- efit users. They are much easier for us- ers to learn and work with than conven- tional interfaces. One only has to com: pare the user interface of the IBM PC l written using an object-oriented pro- ming language. | OOP Holds Promise of Simplifyying Computer Programming with: that of the-Apple Macintosh to:see the radical difference between the two approaches. The user interface to the PC is not in: tuitive, and users reguire training to deal with its alien command syntax. In contrast, the object-oriented user inter- face to the Macintosh can be learned guickly and is easy to use. An object-oriented user interface is more appealing because it presents the user with a view of the application that is similar to the way humans deal with the rest of their environment. People handle physical objects at work, such as books, pens and coffee cups, or more business-related objects such as custom- Understanding Object-Oriented Technology j | : "Objectoriented" describes a technology that's changing the. Vay oemputers are programmed. It reguires a new way of. thinking about the machine that is totally intuitive, (| ! dj if lah SMEJE U er files, orders and invoices. In a non! a dispatch loop that responds to all user actions. The user is in complete control of the interface and might do anything. The program must be ready to re- | spond—redrawing windows, displaying menus, calling application functions or whatever action is appropriate. The tool boxes for these interfaces provide facilities for displaying the ob- jects that make up the user interface, such as windows, icons, pointers and menus. They also provide the message passing and gueues necessary to com- municate between the interface and the application. Typically the interface will send messages to the application. For example, the interface might send a message to the application that the mouse was clicked at a specific location. The application then needs to determine in what window, if any, the click oc- curred, and how to respond. If the click ' was in a non-active window, then the application must make the new window active and redraw the screen appropri- ately. Higher-level interfaces to the tool box- es are being provided, but at this point, it still takes an experienced programmer to work with them. Managing Complex Code ' Object-oriented programming provides major advantages to the programmer in managing the complexity of a code. Us- ing object-oriented technigues, program- mers can more guickly develop applica- tions that are easier to maintain, have more reusable code and contain fewer bugs. University students working with ob- ject-oriented languages reguire an initial learning period to understand the new technology and way of thinking about programming, but then report vastly im- proved productivity in writing pro- grams. Vendors with large applications and severe maintenance reguirements are beginning to use object-oriented lan- guages for development. Just as a user deals with familiar ob- jects in an object-oriented interface, the developer writes code that defines and manipulates objects in the programming environment. The developer's objects Can represent physical entities such as inventory items, but can also represent more abstract entities such asa a Nk dispatcher or collection. Object-oriented programming allows the programmer to encapsulate all of ( the code associated with an object, such that the details of the implementation of the object are completely hidden | pops-up with the current customer in- formation. Pointing to another icon or menu item saves the new information and closes the window. This is a sharp contrast to character: based interfaces to conventional applica- tions. In traditional systems, the user memorizes commands that must be is- sued at the right time to get the desired behavior from the system. The tradition- al focus is on initiating commands and operations first, and then selecting the objects to be manipulated. This ap- proach is the reverse of the way most people manipulate objects in the real world, Programming environments that sup- Objects are defined by their propefties and behatbtors. Hiša " | Port an object-oriented user interface, | such as the Macintosh, IBM's Presenta- | from the the rest of syste: ori Maljščec and Microsoft Windows, ' Next seč I wil peka tečiai. ui le the programmer with a rich col- rogramming | I£etion o£ software tools to SI build Ze propan li more detail ai ing the interface. The tools are designed To learn more about the subject of to be called from Conventional program- these articles, please call The James ni such as C and do not, re- Martin Report, an information service Allre a knowledge of object.oriented updated guarterly, at (800) 242.1240, bi stniki For information on nars, da y ever, regulre a different. contact (in the United States and Can- Programming, The style is best — ada) Technology Transfer [ called "event-dri umre ven," and it is similar to 741 10th St, Santa Monica, Calif. Unlike a pro. 90402 (2.3) 394-8305. In Europe, con- $ram organized pipnanji ty doni: ma sm 2 New St., NEJA sa cation of or- 9BX U: £anization in an eventdriven program is (o524) 734 505. ea Kada