Object Oriented Programming Languages (OOPLs)
Object oriented programming languages are used for the implementation of an Object-Oriented Design because they directly support the object notions of classes, inheritance, information hiding, and dynamic binding. Because they support these object notions, OOPL make an object-oriented design easier to implement. An object-oriented system programmed with an OOPL results in less complexity in the system design and implementation, which can lead to an increase in maintainability. OOPLs include C++, Objective C, Smalltalk, Eiffel, Common LISP Object System (CLOS), Object Pascal, Java, and Ada 95.
The object oriented languages can be divided into two categories hybrid languages and pure Object Oriented languages. Hybrid languages are based on some non-Object Oriented model that has been enhanced with Object Oriented concepts like C++ (which is a superset of C), Ada 95, and CLOS (an object-enhanced version of LISP) are hybrid languages and pure Object Oriented languages are based entirely on Object Oriented principles like Smalltalk, Eiffel, Java, and Simula are pure Object Oriented languages. Among these Object Oriented languages the most popular Object Oriented language is C++. C++ implements all the concepts of object orientation, which include classes, inheritance, information hiding, polymorphism, and dynamic binding. The disadvantage that C++ has is that it lacks the level of polymorphism. The alternative to C++ or Ada 95 is Smalltalk. Its advantages are its consistency and flexibility.