The object's specific action will depend on the message passed to the interface. Because the programmer is no longer concerned with the object's internal constructs, we can create some extremely complex programs. Programmers only need to understand the interface to use the object. For example, a database may have a class hierarchy that includes classes that do not have any objects. Every development tool on the shelf promotes itself as object oriented.
Object orientation is a software development success story, and it is here to stay.
Despite the tremendous success of objects, developers and development organizations are still low on the object oriented learning curve. In many cases, the tools are far more advanced than the expertise of the developers who use them. As the object market expands and component development takes off, more object vendors will be interested in standard objects. Other examples of distributed objects include NeXT Computer's Portable Distributed Objects, and Sun's Distributed Objects Everywhere. Microsoft is pushing OLE and its Component Object Model as its standard object development strategy.