Java creator James Gosling: "Just because Sun didn't have patent suits in our genetic code doesn't mean we didn't feel wronged. While I have differences with Oracle, in this case they are in the right. Google totally slimed Sun. We were all really disturbed, even Jonathan: he just decided to put on a happy face and tried to turn lemons into lemonade, which annoyed a lot of folks at Sun." Ouch. Also, doesn't jive with Schwartz' comments - might be illustrative of how bad things really were at the once great Sun.

Java is a pile of crap that encourages more piles of crap to be written. I hold Java directly responsible for Eclipse and OSGi, and thus the piles of crap that they also induce.

In theory, Java can have higher performance than C++, because Java recompiles the binary code and optimizes every run. C++ compiles and optimizes just once. That is the reason adaptive compilers are faster in theory.

Now we wait a bit, until the Java designers catch up with theory. Guess what, the fastest and largest stock exchanges in the world are built in Java. Not C++. For instance, NASDAQ stock exchange is programmed in Java, and it has sub 100 microseconds latency, and throughput in million of orders per second.

The London Stock Exchange is built using C++ on Linux/Solaris, and LSE get 100 microseconds latency.

So, you might think that Java is crap, but it has world class leading performance, surpassing C++. And in the future, Java will surpass C++ because Java optimizes for every run.

Besides, Java is the most used language out there. And it is way simpler than C++. C++ is slower and bloated.

In theory, Java can have higher performance than C++, because Java recompiles the binary code and optimizes every run. C++ compiles and optimizes just once. That is the reason adaptive compilers are faster in theory.

Because, as we all know, C++, being a compiled language, can never ever ever be written to compile into bytecode to be JITed at a later stage. That is why, due to your argument, the whole LLVM project ceases to exist from this very moment!

Furthermore, let's all conflate a programming language with its implementation(s). That is why the C++ standard demands that C++ can only ever be compiled directly to native machine code. That is why, due to your argument, I suddenly have a massive brain hemorrhage, causing me to forget everything I've read in the C++ standard and articles available elsewhere!

Now we wait a bit, until the Java designers catch up with theory. Guess what, the fastest and largest stock exchanges in the world are built in Java. Not C++. For instance, NASDAQ stock exchange is programmed in Java, and it has sub 100 microseconds latency, and throughput in million of orders per second.

The London Stock Exchange is built using C++ on Linux/Solaris, and LSE get 100 microseconds latency.

What a completely scientific comparison. Because, as we all know, NASDAQ and LSE run the exact same hardware and middleware and the volume of data they receive is exactly the same. Not to mention that their management is also exactly the same, with exactly the same amount of money being spent on the hardware infrastructure at the exact same time. Not to mention that we are absolutely sure that the NASDAQ is written in 100% Java with no JNI or processing being distributed to compiled language subprocessors. By that same token, we thus know absolutely that LSE is written in 100% C++ with no processing being distributed to subprocessors written in Java or Python etc.

I'm glad we have two people defending Java so scientifically.

So, you might think that Java is crap, but it has world class leading performance, surpassing C++. And in the future, Java will surpass C++ because Java optimizes for every run.

Because, as you've so elegantly demonstrated above, C++ can only ever be compiled to machine code. In fact, Bjarne Stroustrup himself has threatened to break the knee caps of all the LLVM developers.

Let's also conveniently forget the fact that there exists other languages that aren't Java but can be compiled to run in the JVM, and thus conveniently fail to realize that you're actually arguing about JVM vs C++, which is not the same as Java vs C++.

Besides, Java is the most used language out there.

Another gem of an argument from those who persist to not understand logic. Repeat after me:

popular != better;

That statement, I think, should compile in both C++ and Java, and perform optimally well.

And it is way simpler than C++. C++ is slower and bloated.

Have you seen Java 7?

C++ is slower and bloated only when compared the a Java program that's been running for a while. Not to mention the logical fallacies you made above. Hardly a fair (or logical) comparison when you compare a language with a JVM.

I won't stop you comparing implementations of languages. You haven't actually argued anything that compares the languages themselves.

-----------------------------------------------

Can I get someone who actually has a good grasp of logic, language design, engineering and the current and developing state of technology regarding language backends?

Because, as we all know, C++, being a compiled language, can never ever ever be written to compile into bytecode to be JITed at a later stage. That is why, due to your argument, the whole LLVM project ceases to exist from this very moment!

Sure, if C++ is compiled into bytecode and run on adaptively JIT, then C++ can also achieve Java performance. Never mind.

My point is that Java can be fast, if you know how to do it. Have I proved my point? Java can be very fast, and rival C++. So, how is Java bad and slow? It is the fastest in the world.

What a completely scientific comparison. Because, as we all know, NASDAQ and LSE run the exact same hardware and middleware and the volume of data they receive is exactly the same. Not to mention that their management is also exactly the same, with exactly the same amount of money being spent on the hardware infrastructure at the exact same time. Not to mention that we are absolutely sure that the NASDAQ is written in 100% Java with no JNI or processing being distributed to compiled language subprocessors. By that same token, we thus know absolutely that LSE is written in 100% C++ with no processing being distributed to subprocessors written in Java or Python etc.

I work in this business and NASDAQ is completely built in Java. LSE is built in C++. If you dont believe me, confirm this with guys that work at NASDAQ or LSE.

Also, these stock exchanges use commodity x86 servers. No special hardware, no risc cpus, no mainframes, or whatever. Just ordinary x86 servers. Typically with 32GB RAM and dual hexcore cpus, or so. Nothing special. Confirm this with guys working in the exchange business if you dont believe me.

Still my point is; if you know what you are doing, then Java can be fastest in the world, and Java exchanges rival or surpass C++ exchanges. So, Java is fast. But that requires knowledge. For instance, how do cope with the garbage collector in Java? I know how to do that.