Java critics over the years have tried to say that C++ is a better language. They make false claims, including that Java is too slow to program games, it has memory leaks, Java is a high level language, and that no REAL programmer uses Java to write games. Let's discuss these so called "problems" Java has.
When critics say that Java is too slow to program games, they are really saying that it is slower than C or C++. This statement was very true when Java first came out around 1996, but has changed since its early days. Java 5.0 has been set at only 10% slower than C++. Some people even believe that the newest versions are faster than plain C++ This vast improvement has come mostly because of compiler improvements.
Another thing that has plagued Java is the supposed “memory leaks.” Java offers a garbage collector that recycles memory to prevent this. Most “memory leaks” are caused by bad programming techniques. Some people complain that the garbage collector executes at poorly timed intervals, but this is alleviated when a coder lets the program sleep a few milliseconds every iteration.
A third argument critics make is that there are no commercial games made in Java. This is the easier argument to refute. There are many games that have been made in Java, including the popular Runescape.
Bottom line, no matter what the critics try to say, Java will continue to gain popularity because of its many advantages over C++.
"Java is high performance. By high performance we mean adequate. By adequate we mean slow."
or my personal favorite:
"Saying that java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders."
as far as the first one goes, from my personal experience as a user, I can pretty much say that java IS slow.
most of the programs I used that were written in java worked much slower than I'd expect, taken into consideration the size, functionality and overall cpu load at that moment. most notably the problem was with Zend Studio, the program I like to use for web development (because of great editor and code inspection). occasionally it worked so slow that while I was typing, each letter that appeared came with a delay, sometimes it would halt for a longer while. now I've worked in Microsoft Visual Studio 2k5 and 2k8 and I really don't think Zend Studio is as large and complex program as MVS, and yet I don't remember that kind of thing ever happening in there. sure, maybe back then when I had only 256MB of memory.
now yeah, certain things can be caused by poorly coded program, but that only works up to a certain point..
as for garbage collection, if one needs to learn special way of programming for it to work properly(-er), then he can just as well clean up his garbage by himself...
of course, ignoring performance issues, java is quite useful, the mobility is a great thing (like I said, ignoring the performance issues). a friend who works in company that make bank/transaction software told me a lot about it and the importance of it since they use a lot of different platforms. and also ULC is pretty amazing thing.
besides, java code basically looks much more beautiful than c/c++ especially in win32 c/c++ programming. damn that thing looks UGLY!!! -.-
but I don't know.. personally, I'd rather work a bit extra with c/c++ that works well now than with java that will work well later..
... ok this security code (captcha) SUCKS!!!
or I'm blind... -.-