I need your experience - classification and comparison of languages

Yvan Radenac yvan.radenac at equant.com
Mon Jan 21 09:16:59 CET 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.

Classification:
--------------
Language|Paradigm(s)|Generality of use|Abstraction level|Area(s) of
application
--------|-----------|-----------------|-----------------|----------------------
        |           |                 |                 |

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

Language|Readibility|Writability|Reliability|Cost
--------|-----------|-----------|-----------|----
        |           |           |           |

Regards,
Yvan

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

Classification:
--------------
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, ...)

Comparison:
----------
Readability:
  - abstraction, support for generality: procedural abstraction, data
absraction.
  - 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
evaluated?
  - Expressivity of control and data structures. (Exemples of low
expressive power: machine languages).
  - Appearance: style of comments, ...
Writability:
  - Abstraction and simplicy like readibility.
  - Expressivity, like readibility.
  - Modularity and tools for modularization, support for integrated
programmer's environments.
Reliability:
  - Safety for the programmer (type checking, error and exception
handling, unambiguous naming).
Cost:
  - Development time (ease of programming, availability of code).
  - Efficiency of implementation: how easy it is to build a language
processor.
  - Translation time and quality of object code.
  - Portability and standardization.



More information about the Python-list mailing list