A comparison between
BETA, C++, Eiffel, Java,
Object Pascal, Ruby und Smalltalk
by Michael Neumann
last change: 21.07.2000
| Language: | BETA | C++ | Eiffel | Java | Object Pascal | Ruby | Smalltalk |
| Inheritance | simple | multiple | multiple | simple | simple | simple | simple |
| Generic classes (templates) | yes | yes | yes | no | no | no | no |
| Strong typing | yes | yes | yes | yes | yes | no | no |
| Polymorphic | yes | yes | yes | yes | yes | yes | yes |
| Multithreading | yes | possible | possible | yes | possible | possible | possible |
| Garbage collection | yes | no | yes | yes | no | yes | yes |
| Pre-/postconditions | indirect (through patterns) | no | yes | no | no | no | no |
| Speed | + | +++ | ++ | -- | ++ | -- | -- |
| hybrid/OOP | hybrid (pattern) | hybrid | OOP | OOP | hybrid | OOP | OOP |
| Compiler/interpreter | compiler | compiler | compiler | interpreter | compiler | interpreter | interpreter |
| special environment | browser/pretty-printer | - | browser/pretty-printer | - | - | - | class-browser |
| special concept | pattern | - | design by contract (Bertrand Meyer) |
- | - | everything is an object |
everything is an object |
eMail: neumann@s-direktnet.de
last change: 21.07.2000 by Michael Neumann
http://www.s-direktnet.de/homepages/neumann/lang_cmp.en.htm