I need your experience - classification and comparison of languages

Yvan Radenac yvan.radenac at equant.com
Mon Jan 21 03:16:59 EST 2002

I am writing a small report about "Object oriented languages and their
public implementations" for a course in Software Engineering.
I am trying to classify and compare different oo languages.
As i am not programmer, analyst or responsible of projects and the
criterias are subjective, i am interesting in your experiences of
object oriented language(s).

I think that there's no universal language, so it's not to compare, in
a global way, each language.
The goal is to create some tables to find the best choice for a kind
of software development.

Thanks you to complete the 2 tables below for each language you use.

Language|Paradigm(s)|Generality of use|Abstraction level|Area(s) of
        |           |                 |                 |

It's based on this scale table (to simplify):
Very bad|bad|Correct|Good|Very good|
  - -   | - |   O   |  + |   + +   |

        |           |           |           |


P.S.: a resume of the criterias, based on a course of The University
of Ottawa by Szpakowicz:

Paradigms: imperative, logic-based, functionnal, object-oriented, ...
Generality of use: general purpose, specialized like database
language, ...
Abstraction level: low-level (assemblers), high-level (a majority of
languages), very high level (Prolog)
Area of application: data processing (business applications),
scientific computing, artificial intelligence, in-house computing
applications (compiler construction, systems programming, ...)

  - abstraction, support for generality: procedural abstraction, data
  - absence of ambiguity (and of too much choice).
  - Orthogonality: no restrictions on combinations of concepts. For
example, can a procedure parametrer have ANY type? Can EVERYTHING be
  - Expressivity of control and data structures. (Exemples of low
expressive power: machine languages).
  - Appearance: style of comments, ...
  - Abstraction and simplicy like readibility.
  - Expressivity, like readibility.
  - Modularity and tools for modularization, support for integrated
programmer's environments.
  - Safety for the programmer (type checking, error and exception
handling, unambiguous naming).
  - Development time (ease of programming, availability of code).
  - Efficiency of implementation: how easy it is to build a language
  - Translation time and quality of object code.
  - Portability and standardization.

More information about the Python-list mailing list