Comments moved from CeePlusPlus via WhenShouldWeUseJava:
You go write a device driver in JavaLanguage and then come back and talk to us. There are many, many, many situations where C++ is a fine choice of language, and a better choice than JavaLanguage. See WhenShouldWeUseCeePlusPlus.
How about you go do some string parsing in C++? Or accounting systems in Perl? Choosing a programming language always results in a compromise. Java does not excel in any particular area. Instead it delivers a very good compromise. That is why it gets selected often (popularity is a part of the equation).
I confess I seldom work in the language but it seems to me there are very few situations where JavaLanguage is an adequate choice. Inside Oracle ... wait, stored procs are faster. EJB ... maybe, if most of your target boxes aren't MicroSoft ... unlikely in most deployments. Cross-platform ... yeah, if you can find two JVMs that work the same way twice ... good luck. Applets ... ROTFL.
I know, I know, I'll calm down. you can do good work in JavaLanguage. But AllPanaceasBecomePoison, whether they're CeePlusPlus or anything else. HorsesForCourses. -- PeterMerel
Who can verify the stored procedure speed comment above? I thought I had just read something citing the significant speed advantage of stored procedures in Java as compared to the same in PL/SQ.
Oracle is getting better at it. Rumors are that Java is "arms length" from the engine in Oracle 8, but fully integrated in Oracle 9. This makes Java SLOW in Oracle 8, but SUPER FAST in Oracle 9. (...or so I hear. I haven't measured it myself, or looked into it.)
I think that Java's strongest domain today is for the server side of an e-commerce site. Jsp, servlets, and EJB's seem to be a very strong technology. The technical recruiters I've talked to claim that demand for server-side Java people has been doubling every month for the last few months.
Netpodium (http://www.netpodium.com/Products/faq.htm) uses applets for audience interaction. I don't really know how many end-users that amounts to, but I think we had over 4000 total audience members when we did the Windows 2000 webcast. That's a record for total attendees at one event, but on the other hand we generally do several events every week, so I'd expect the total number to be in the tens-of-thousands. -- CurtisBartley
Applets will eventually be replaced by JavaWebStart.
WebStarted? applications can not be embedded in HTML pages thus they will never be able to replace applets.
I'll bet $10 they'll be replaced with some .NET thing. You can't beat 90% market share.
Or Flash. Honest. Don't laugh, but I've actually seen extremely useful client-side web-apps programmed in Flash. Including:
I've seen a demo of a web application with a Flash front end and a Java back end. Pretty slick.
You shouldn't use java when python, smalltalk or other higher-level good will run fast enough for your task. The speed of Java compared to smalltalk or python is rarely of value (and when it is, probably C is faster still).
You shouldn't use java and the JVM to do work that SQL and the database back end should be doing. In particular - iterating through collections to find the one item you want. An SQL database is not simply an ObjectRepository?, it's a multidimensional ThingInItsOwnRight. Misunderstanding this is a flaw with some ObjectRelationalMapping systems I have seen.
DoesJavaWorkOnHandheldDevices?