Javu a Smalltalk lze jen tezko porovnavat. Je mezi nimi mnoho koncepcnich (filozofickych, chcete-li) rozdilu. O vecech jako je typova kontrola, final class, checked exceptions a dalsi je mozne vest sahodlouhe flamewar, ale to je asi tak vse.
Smalltalk byl navrzen jako velmi elegantni, co nejobecnejsi nejrozsiritelnejsi, atd.
Java byla navrzena jako jazyk pro velmi prakticke pouziti, lepsi psani a spravu projektu apod. a proto ma spoustu omezeni.