On the other hand, the Smalltalk environment and its loose typing allow Smalltalk programmers to be far more productive. Heterogeneous development environments, allowing seamless interaction between any programming language are being worked on. But until those hit the market place, it couldn't harm educating you. Assuming you are a Smalltalk programmer, and you think it is about time you have a look at Java, let's discuss the similarities and differences between the two languages in the next few sections. Both Smalltalk and Java are object-oriented languages.
Classes form the main abstraction.
Both languages provide single inheritance. Classes can redefine behavior from inherited classes, and its instances can thereby subsume multiple roles. Both languages translate into bytecodes that are then executed by a virtual machine. Although the nature of the bytecodes is quite different, the two languages have the same execution model. Studies have shown that the use of a programming language influences how designers and programmers think about a problem and how they come up with a solution.