Java 4 the win
I used to be a big fan of C/C++ but over time moved to Java and have never found a better general-purpose programming language.
Java is incredibly portable, running on smart cards, Blueray disks, dumbphones, smartphones (Android, Blackberry), PC Mac desktops, browser applets and web start, servers, etc. There is a Java implementation on every major PC operating system. Java is the leading technology for medium to large websites. 3 billion devices run some form of Java. In over a decade of being around, its main clone language/platform, .NET, hasn't got a fraction of its popularity or portability. And the Java API is a thick abstraction layer that is genuinely portable, unlike .NET which is just a thin wrapper around the Windows API, making Mono jump through hoops to implement it on *nix (eg. WinForms had to be written on top of X11 from scratch) and necessarily having missing features.
Managed languages are the future, it's that simple. Memory safety eliminates entire categories of bugs, such as memory leaks, buffer overflows and memory corruption: millions of C++ programs crash around the world every day. The problem of accessing a mutable shared-ownership object from any number of threads is a nightmare in C++, with thread-safe reference counting being necessary, whereas in Java you don't worry about any of that. Writing code in a native language means the first thing you think about when writing a function is how to structure your code to release all memory on every return path, in Java you just write code and the garbage collector cleans up memory for you. In the 90s people thought object orientation would be the next big development breakthrough, but it turned out to be garbage collection. Studies have shown the development speed in Java is around double that of C++. We will eventually see native development getting done only when really necessary, the way assembly language is used today.
Security follows straight from memory safety, and countless buffer overflow / code injection attacks have been made through overflowing the memory-unsafe arrays in C/C++, compromising virtually everything in existence, even network-unrelated things like image parsing libraries, something that is impossible in Java. Also Java can sandbox (though that's proven quiet buggy and insecure of late), C++ can't.
After more than 20 years, C++ still doesn't have a finally block and expects you to use objects on the stack whose destructor gets called on method exit to manage resources.
While parsing C++ is a compiler nightmare, the tooling support for Java is incredible, giving everything from syntax highlighting and code refactoring to good static checking, while after > 10 years the only Eclipse code refactoring for C++ is rename field.
Extensive compiler optimizations on Java bytecode are possible, such as deep inter-procedural optimizations, which can only be done optimally at runtime and which C++ compilers still struggle with. Java 8 will even auto-vectorize all instructions into SIMD (eg. SSE) making it competitive with C++ even in scientific computing. LLVM has been trying to get runtime C/C++ optimizations for years, and is still slow. Python on the other hand has a non-thread-safe interpreter, meaning it cannot execute multiple threads concurrently unless they call out into C libraries (which is no longer Python), in other words its a joke on modern multi-core chips.
Unlike .NET the Java API is designed to be extensible: you can add a new security provider, support for a new image or sound file format, etc. system-wide just by dropping a jar into the jre/lib/ext directory.
The amount of free open-source Java libraries is incredible, and covers virtually everything under the sun.
Finally the topic was that it's a "language for sissies", well guess what, Java was one of the first languages to realize complexity does not belong in the language but rather in the class library, hence the rich Java API and the easy, powerful language. The API for other languages is minimal and primitive: C++ didn't even have an official, portable threading library until recently, and C still doesn't. I would argue Python is for sissies, as it doesn't even have static typing.