Until about a decade ago, programmers thought of procedures as active and data as passive and kept the two as separate as possible. First programmers would consider what data needed to be included and design structures to hold it. Then they would design a program to manipulate it. In the late 1960s, programmers working in simulations developed another approach. Instead of breaking everything down into active and passive, they cut across the lines to encapsulate data with a set of procedures and created objects. Instead of having a series of instructions that proceeded in order, they created a set of objects that communicated with each other and asked each other for information. OOP requires a lot of overhead processing, since it has a central switchboard keeping track of which method is doing what and routing messages between objects. As processing costs have dropped, OOP has grown in popularity. It allows programmers to hide parts of their code and reuse it at will, and permits the development of complicated data structures that don't entangle entire programs. C++, developed by AT&T in the UNIX environment, has become the predominant object-oriented programming language, spreading to a wide variety of computer platforms. C++ is not a database, though it can be usedto make new kinds of databases.

In an object-oriented database, the developer creates a set of categories - abstract classes of data - and give them methods for processing their data, whether it be a list of addresses, a sound, a video clip, a bank of medical information, or a telephone directory. The methods are reusable and can be applied to new data sets at will. Then, when the user needs to query for information, the front-end program sends messages to the various objects which collate and present their data using methods internal to the data itself. It's a revolution coming slowly.Even this database is sort of object-oriented. It's a series of cards with buttons that send messages to the main switchboard (HyperCard) and to each other. This text field is one object, containing data and the code that determines what happens if you double-click on it.

This file created with Hypertype 2.2 by Simon St.Laurent