Here's a nice article by a Smalltalker who's been using Java for many years. It lays out pretty well why the mainstream languages are so deficient in comparison to Smalltalk:
Smalltalk is simple, terse and consistent. Everything is an object, and things get done by sending messages. There are 5 reserved words. The class library is well architected, and easy to navigate (I love Trailblazer in VAST). Everything is available right at your finger tips. You can execute code and inspect the results right away. Smalltalk gives you complete freedom to explore and learn. Once you've done it for a while, you can start to guess that classes will respond to certain messages. Once you break the shackles of your Pascal or C programming heritage, Smalltalk is much easier to read. Easy to read, means easy to learn, enhance and maintain.
Java is kind of like kindergarten. There are lots of rules you have to remember. If you don't follow them, the compiler makes you sit in the corner until you do. There are 59+ reserved words. Everything is not an object. There are primitives, and your classes are not first class objects. And you have to remember that there is no "this" in a static method (in Smalltalk calling self in a class method would return the class itself). You have to remember to tell the compiler things several times so it knows what you're talking about (Date date = new Date()).
There's a lot more - it's worth a read.