2 A brief comparison of several object oriented languages
\r
3 =======================================================
\r
7 Languages -> S o C M S E A L
\r
10 Comparison u . u l f l
\r
11 of main features l P l l e a
\r
22 nesting of modules + + - - - - + +
\r
23 inheritance + + + + + + - +
\r
24 - multilevel - - - - - - - +
\r
26 - multiple inh. - - + - + + - + 1)
\r
27 inherit in other - - - - - - - + 2)
\r
29 static binding + + - + - - + +
\r
32 Classes & Objects + + + + + + - +
\r
34 Coroutines + - - + - - - +
\r
36 Processes - - - + - - + +
\r
37 alien call - - - - - - - + 3)
\r
40 Signals & Exceptions - - - - - - + + 4)
\r
43 safe deallocation i.e.
\r
44 no dangling - - - - - - - +
\r
47 type checking + + - - - - + +
\r
48 protection of private + - - + - - + +
\r
50 Genericity&Polymorphism
\r
51 types as formal - - - ? - -+ -+ +
\r
53 overloading - - + + ? + + -
\r
55 virtual methods + - + ? + + - +
\r
57 _______________________________________________________________________
\r
61 1) - multiple inheritance may be obtained from multi-level inheritance and
\r
63 2) - it is possible to inherit a class in a procedure, a function, a process, a coroutine, a block,
\r
64 3) - alien call is a truly object oriented protocol of executing a method of
\r
65 a callee process in cooperation between a calling and the callee processes,
\r
66 4) - exceptions are handled with continuations and last will actions.
\r