Описание слайда:
OOP: Languages
Concerning the degree of object orientation, following distinction can be made:
Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Smalltalk, Eiffel, Ruby, JADE.
Languages designed mainly for OO programming, but with some procedural elements. Examples: C++, C#, Java, Scala, Python.
Languages that are historically procedural languages, but have been extended with some OO features. Examples: VB.NET (derived from VB), Fortran 2003, Perl, COBOL 2002, PHP.
Languages with most of the features of objects (classes, methods, inheritance, reusability), but in a distinctly original form. Examples: Oberon (Oberon-1 or Oberon-2).
Languages with abstract data type support, but not all features of object-orientation, sometimes called object-based languages. Examples: Modula-2, Pliant, CLU.