<<
i am language agnostic, i say use whatever solves the problem. but people seem to think that java is the end all be all of and they just need to know some more of the facts. >>
the facts you provide will not clarify anything for any potential Java programmers and are utterly useless to experienced users. In fact you provided some rather crude examples to illustrate the so called deficiencies of the language....
<<
JAVA is not Pure OO, it has primitives. >>
If it didn't have non OO primitives, I'm sure you'll be screaming about that as well, just like some of you seem to be screaming about lack of pointers. If you really think you need them, maybe it's time to rethink your designs.
<<
JAVA is not Multi platform like they would like to tout, Byte code compiled on IBM's compiler will not work on a SUN VM, SUN Byte code doesnt work the same on IBM and MS VM's as it does on their own. >>
Even if individual compilers produce a platform specific ports, it would still take minimal effort ( compared to C/C++ ) to port the code to other OSs/architectures.
<<
JAVA is extremely inneffcient. >>
inefficient compared to what? If you are talking about automatic bound and type checking than I'll take that "inefficiency" as a benefit. How about slower context switching between threads ... yeah that one is definitly detrimental to the eantire language. If you meant the large footprint of the VMs than I'll agree, it's too large, but I learned to live with it. Swing has its own problems, but when faced with having to write GUI in X/GTK/Motif and than repeat the same exercise in Win32, I'll take Swing, thank you.
<<
JAVA can have mmeory leaks, where code allocates memeory to handle different process, when the main process exits it cannot GC the forked Processes. >>
hmmm, that's a really frequent scenario
No matter how many special cases of GC failures you'll find I'll still take it as a huge benefit.
Java is not a language to end all languages, however in many instances it's design makes it an obvious choice. Would i implement a arithmetic entropy coder for real time platform in Java, of course not, but at the same time I wouldn't even think of reimplementing the front end software on different platforms in C to gain a few seconds in execution time ( something my users wouldn't notice anyway ). It's a problem specific decisions and the key is to know which tool suites which problem best.