I never understood the following : Eiffel had a better syntax, better support for core issues, Void type, design by contract, multiple-inheritance and an intermediate virtual machine for portability although the most common target was C code. To name a few. I was using Eiffel in a small side project just about when Java released their 1.1.4 (a version before the object serialization library, iirc). It was a sticking point for me. Add to that, to program in java before IBM Visual Age was released was to using vi&#x2F;notepad(++?) editors. Coming from Smalltalk env that was a bit of a shock. Eiffel commercial IDE from ISE was way better and its clever use of pick event on the mouse&#x27;s right click to drop to compile&#x2F;run targets was actually easier on my fingers, which is a side show, but good quality products demonstrate quality at unexpected places.<p>I am still programming in java in my day job, knowing fully well that Java was not my top five language choices. Eiffel&#x27;s type system was a bit more advanced than Java even way back in those days, so not only was I stuck without an ide till VA for Java showed up or VisuallJ++ I also had to accept weak inheritance and design by contract models. Performance of course was not even close to an Eiffel compiled C code, which was probably addressed in later versions of java.<p>My point being, that just as Eiffel was something that was better and set aside by a few leading development shops, there must have been other languages that could&#x2F;should have received a fair share in language evaluation by programmers, I dont necessarily mean limiting to Ruby, Python for example, despite them being excellent tools, they may fall short in an enterprise ecosystem. What happened at least I seem to think instead is a sort of groupthink to start coding in Java because of rubbernecking. All in all, I think that things could have been better if people paused to understand the Java language model and fixed in java 1.2&#x2F;3, or some earlier version so we didnt have to wait till Java 1.8 to get these features.
&#x2F;rant.