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.
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