Both:
- Allow only a single, GlobalNamespace
- Lack support for method name polymorphism
- Have limited visibility in the current job marketplace
- Both were (largely) designed by fellows with notoriously strong opinions (and who both rather dislike C++)
- Strong notions of "pure" OO - objects are the only first-class entities. (Basic types, such as integers and booleans are treated as objects.)
- Is usually run from ByteCode**s
- DynamicTyping
- Only supports single inheritance
- Classes are themselves objects, and are first class.
- DesignByContract
- Typically compiled to native code
- StaticTyping (ManifestTyping, not TypeInference). Full featured type system (with a few notable flaws)
- Supports multiple inheritance.
- Classes are not objects, and are second class.
Contributors: AluoNowu, SeanOleary
CategoryProgrammingLanguageComparisons CategorySmalltalk CategoryEiffel