Object-Oriented Implementations

There has been much discussion in the computing industry press concerning application development products and tools that support the creation of object-oriented applications. While the use of such products is a valuable aid in designing and developing an object-oriented application, it should not be construed that their use is essential to the successful implementation of an object-oriented approach.

It is quite possible to implement module-based object-oriented principles to a practical and beneficial degree in the Presentation Manager environment, using a "conventional" programming language such as "C". However, the degree of discipline and amount of work required of the application developer is greater when a standard programming language is used. Object-oriented tools or language extensions make the task of the application developer much easier, since many of the object-oriented concepts are handled by the tools themselves, without the need for the developer to concern him/herself with the details of their implementation.

Object-oriented programming tools fall into two general categories:

  • Those that provide extensions to an existing programming language and implement certain object-oriented conventions, such as C++. These languages typically provide object-oriented constructs but do not force an application developer into the use of such constructs. The strength of such implementations is their flexibility, but they have the inherent weakness that it is easy to develop application code that does not conform to object-oriented programming practices.

  • Those that provide a complete programming language syntax, which obeys and implements object-oriented principles, such as Smalltalk V**. These languages provide an additional benefit in that they force the application developer into obeying object-oriented programming practices, but at the expense of flexibility.

    The tools that are marketed as "object-oriented" and which are currently available in the marketplace tend to implement the class-based approach to object-oriented programming. Their primary benefit is thus that they provide an inheritance hierarchy, and so make the task of object creation much easier for the application developer, albeit at the risk of reduced code efficiency and possible dependence upon a conceptual run-time environment.

    The choice of an object-oriented programming tool is very much an individual one, and depends on the requirements and priorities of the development organization, the skills and prior experience of the application developers concerned, and the degree to which object-oriented practices are to be enforced within the organization.


    [Back: Method Design]
    [Next: More Complex Objects]