SmalltalkVsEiffel
Last edit March 29, 2007
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.)
SmalltalkLanguage
:
Is usually run from
ByteCode
s
DynamicTyping
Only supports single inheritance
Classes are themselves objects, and are first class.
EiffelLanguage
:
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