I also don't feel like Python is an option. Seeking more performance from a single node is what he me move to Java from Python for many of the the things I work on.
I also don't feel like Python is an option. Seeking more performance from a single node is what he me move to Java from Python for many of the the things I work on.
Almost everything truly important today is written in one of them, or both of them. The usable, production-grade implementations of PHP, Python, Ruby, JavaScript, Lua and Perl depend on one or both, as well. Most JVM implementations depends heavily on them, too.
When they're providing the foundations necessary for even their competitors or alternatives, it inherently makes them even more valuable and effective.
(I think MagLev is production ready -- and used in production -- and its based on Smalltalk.)
So at least in Ruby's case, its not the case that the usable, production-grade implementations depend on one or both of C and C++.
Java has mainly been relegated to enterprise apps and Android development. Now, that's not to say those are small markets. It isn't a "dead" language in any sense. But its scope is quite limited when compared to C and C++. We no longer hear the hype about entire operating systems written in Java, like we used to. There are no major relational database systems written in Java (Derby and H2, for example, are still quite limited). Even for web development and business app development, many people are moving away from it to alternatives.
Yet we still see C and C++ being used at all levels of software development, for software that sees extremely widespread use, in many different domains. They're used for developing the most critical and widely-used device drivers, OS kernels, libraries, application software, server software, compilers, interpreters and so on.
Whether you're using a server, desktop, laptop, netbook, smartphone, tablet, or even many embedded devices, you're almost constantly using a huge amount of software written in C and/or C++. Given this context, Java is a minor player, at best.
The Objective C number isn't coming from server development so one can infer a lot of Java's popularity is coming from Android.
In a perfect world, Google would have picked a great up-and-coming language for Android AND brought the tooling up to parity with Java as they developed Android. But they made the optimal choice at the time to be able to provide a very mature and powerful (n.b. did not say "friendly") toolchain at launch with the relatively small team they allocated to Android.
Android isn't built around a JVM. The Android Dalvik VM has properties that make a small OS that runs many VM instances possible. The JIT compiler strategy is tuned to increase performance without a big hit to battery life. Dalvik is the best VM for mobile devices. So if you think the VM has a strong influence on the popularity of a language, Java in Android will be a leading language until some significantly better JVM language gets good enough tooling in the context of the Android SDK to challenge it.