When measuring performance, the standard deviation is more important than the average.
The JVM may have lots of performance, but it boots up slowly, it warms up slowly, and when the garbage collector kicks in the world gets frozen.
The CLR may not have such a fancy VM, but its main language (C#) is more efficient on current hardware (structs are allocated on the stack, methods are non-virtual by default), while being better designed.
2) Code that does what it says without hidden conversions, text substitutions, and macros.
This implies that explicit code an 8 year old can read is somehow better. That's not always the case.
One way to tackle complexity is to build layers of abstractions. For a positive example you only need to look at mathematics ... imagine all the theories in analysis, probabilities, statistics, formal languages ... being described and demonstrated in the language of an 8 year old.
And another thing ... in every other profession, simple and abstract is almost always equivalent to concise. Except software engineering, a view shared especially by Java programmers that got burnt with C++. Well, maybe you shouldn't use Java either, since it does weird things to objects that aren't referenced anymore. C++ is a lot more explicit in this regard.
3) Other languages that are actually useful like Scala and Clojure.
F# is an Ocaml clone, and I saw a lot of Ocaml libraries being ported to F#. It also has good VS integration and good tools.
Axum is a language with actor-based concurrency, much like Erlang. It's still experimental, but I've played with it, and it's already solid.
And then there's the DLR which is a framework of optimizations for new languages and a MOP making dynamic languages interop better ... meaning you'll be able to directly instantiate objects written in IronPython from IronRuby or from C# (using "dynamic").
I know of an open-source effort for Java, similar to the DLR, but if it doesn't get adopted as a standard among language designers, then it's all in vain.
Also, .NET has had from day one better integration with C/C++. If I'll have to use JNI again, I'll probably kill myself.
And LINQ? Why are you doing database and 'data sources' queries in something like C#?
You misunderstood LINQ. It is a generic framework for doing interrogations on any kind of collections. Being able to query databases and XML objects is just a side-effect of its design.
And it's really useful too. If you look at any piece of code you wrote, chances are you're looking for some kind of object in some kind of connection or data store. Linq gives you type-safety, a C# syntax for queries (with C# methods and types) and a unified language for interrogations on structured data (instead of having to use SQL (specific to your rdbms), XPath and iterate through arrays, all in the same method ... it does joins on too), and it can be extended to any type of data-store, like CouchDB and HBase.
This seems to me that you're just sorrow because the grapes are out of reach.