Choices are good, I agree, but too many of them, as this article explains, is bad. My Experience with Linux has been mostly searching for the perfect app, and wishing that some features from one app were mixed with other features from another app.
darn. Linux has a long way to go because of this problem.
Don't Forget Jython
I find Java much easier to use than C and C++ and the object system is most definitely better than the procedural systems of C, and the object system of C++.
I think that Java is, however, a harder language to learn than Python, but it is faster. Why not use Python inside of Java with Jython? I installed Jython today, and haven't started using it yet, but I see the benefits to it already. A Python script can exist in another file inside of a JAR and can perform some very complicated network operations or get some OS information easily and then give that information easily to a Java object. The only reason to do this is because in some instances, Python is easier to use than Java, but in some cases, Java is better to use than Python, such as GUI programming.
Also, apps can be created very easily with robust plugin architectures, and users could write plugins with either Python or Java.
Python is becoming the next glue language, and it is 100X easier to use and read than Perl.