>>107
1. Java has all the uml tools that you could want.
There are hundreds of languages you can apply UML design to. Incidentally, UML is not that great if it becomes a religion. It's usually just a manager thing. You take parts of UML and use them if you think they fit the job, that's how to use it.
2. Tons of libraries and functions are available.
Which are so overgeneralized and poorly engineered you want to redo them by hand instead of using them because you spend the same time doing it by hand or reading the docs through six fucking levels of insane inheritance.
3. Everything has a pretty much standard form.
Yes, but what happens when you hate the standard form?
4. Works everywhere.
There are subtle differences to the JVM that fuck up things every now and then. Higher level scripted languages are usually more portable.
5. Can be compiled into a. bytecode b. Just In Time c. native code.
This is not a functional advantage. I don't care how it's compiled, I just care about its performance. And being compiled that way means you get no eval() function, sandboxing, and other neat stuff.
6. Easy to learn
You actually mean easy to become a "Java professional" that comes up with "enterprise solutions"; read "idiot" and "shitty software made of a surprising number of misconceptions and failures".
7. Becoming a frickin' standard in the workplace and everywhere else.
Yes, because it's ENTERPRISE.
8. Looks like C or C++ so everybody who programs in those catches on pretty quickly.
Yes, because if I know how to use for, if, while, and the operators I know Java.
Will Java VM ever be as fast as native compiled? No.
It's not the speed what I'm usually complaining about.
But, you can native compile java with gcj, eventually that will compile as fast to 'native code' as almost anything else.
GCJ is actually slower.
Java is a damn good language.
Ever learnt Python or Ruby?
Programming is assembly is fun, but you don't do large projects in it.
Operating systems are a large enough project for you? They have to use parts of assembly. Oh and nobody is sane enough to use it when it's not strictly necessary.
Programming in C can get to be a pain with memory problems.
Ever heard of Boehm?
If you are going for all out speed, use C. No C++, just C.
I agree with this.
Java fits tons of niches and does a great job in being cross platform compatible.
Like Java invented portability.
I'm far more productive in java than I am in C, and I don't have to worry about cross-compiler cross-platform problems.
And if you learnt a real high level language like Python, you'd be far more productive in it than you are in Java and discover so many new things you don't know.
It might just become the very best imperative language out there.
Ha ha, um... no, because there already are better options.
1. Garbage collector = slow
Actually, it's more like "Java's garbage collector = slow".
2. Let me do my own memory management!
Are you serious?
3. Case sensitivity annoying!
Well, I mostly agree with you here; I usually prefer case preserving, case insenstive stuff, especially for files and typing commands interactively. However, I don't actually make any use of it when programming because I stick to strict naming standards, that's why I don't care much about case sensitivity in programming langauges.
4. Tired of super huge typing requirements!
Java requires you to type much because its API is poorly designed. Consider the amount of shit you have to pull out of your ass to just OPEN A FUCKING FILE DAMMIT!
5. They should have made a native compiler first and they should make the JIT compiler perfect.
I agree, but this is not the biggest deal.
>>110
Oh, wow, I always wanted to use UML tools. All this time that is exactly what I was missing.
Lol