Java makes for a pretty decent set of training wheels for programming, but isn't particularly useful outside of server environments. It's plenty fast, but still has memory problems. On server boxes, you can just throw more memory at it and things work fine. Java EE is extremely popular for large-scale/security-conscious web apps, like banking portals, etc. (go look at the J2EE tutorials to have your mind blown by pure Enterpriseyness; you start doing crazy things like writing code using XML tags).
You should take what you learn from mastering Java and apply it to other languages. Learning C# is extremely easy after you know Java (C# is practically Java++). I personally think this is the best order:
1) Low-level (C) - Memory management makes you a better person.
2) High-level OOP (Java, Python, C#) - These are what you'll use the majority of the time anyway, especially when looking at language popularity.
3) Super funtastical "toy" languages (Ruby, Lua) - They'll make you not want to use languages #1 and #2 again.
It really comes down to picking the right language for the job. As soon as you start generally categorizing languages under "superior" or "inferior", you're just defeating any chance at productivity you had.