Comparing Smalltalk, Eiffel, C++ and Java