Multiple InheritanceStringsInitialization of a New ObjectVirtual FunctionsCross-Platform CompatibilitySpeedSize of AppsType-CheckingUICrashes System (Dumps Core)Programming Environment
Smalltalk Does not provideYesinitialize methodAlways virtualYesokay (byte code, compiled to native on the fly)BIGNoneGood, easy-to-use UIVery rareWonderful
C++ Yes, with levels of protection: public, private and protectedNo, but available in class libraryconstructorAvailable if declaredLess than you might thinkZOOM! (Native code)SmallStrongly typedNone-standard, platform-dependentAll the time!Depends on implementation
Java Does not provideYesconstructorAlwaysTheoretically, but still buggy practicallyNot so Zoom! (Byte code, currently not compiled on-the-fly to native)Okay, small for appletsStrongly typedCross-platform, complex, buggyLike SmalltalkDepends on implementation
Python Yes, no protectionYes__init__AlwaysNo problems so-farGlacial (byte code)OkayNo typingMultiple choices: Tk, Motif, etc. Some cross-platformLike SmalltalkThe Pits