Hehe...endnu et "hvilket sprog er bedst?" type spørgsmål.
"Til hvad?" er vist det bedste svar.
Java har nogle klare fordele:
* Du har det meste til rådighed via standard bibliotekerne (grafik, tråde, sockets, osv)
* Meget informativ mht. fejl. Indekserer man uden for et arrays grænser eller kalder man en metode på en null reference eller dividerer man med 0, får man en exception med et stack trace, som viser, nøjagtigt i hvilken kode fil og i hvilken linje, fejlen opstod.
* Ikke meget langsommere end C/C++ (til tider endda hurtigere):
#
http://www.javaworld.com/jw-02-1998/jw-02-jperf.html #
http://www.idiom.com/~zilla/Computer/javaCbenchmark.html #
http://www.kano.net/javabench/* Garbage collecter
* Mindre kompleks syntax
* Compile once, run anywhere (endda i en browser)
Men også nogle ulemper:
* Langsom opstart (skulle blive fixet med Java 7)
* Bruger mere hukommelse (skulle blive fixet med Java 7)
* Operativ systemets specielle features bliver skjult (men kan benyttes gennem Java Native Interface)
* Kan nogen gange slet ikke løse opgaven (drivere, udviddelser til tredjepart software, osv.)
Spørgsmålet er ikke sådan ligetil at svare på, for alle sprog har deres fordele og ulemper, men derfor er det heller ikke nok for en professionel programmør at kende til ét sprog. Jo flere desto bedre, for så kan man i den aktuelle situation tage stilling til, hvilken platform (herunder sprog), man vil bruge. Og til tider vil det endda være en fordel at dele en opgave op i mange mindre opgaver, og så tage stilling til platform for hver enkelt mindre opgave. Jeg selv løser de fleste opgaver med et mix af C/C++, Java, PHP, SQL, Bash og Ruby, men jeg kan en hel del flere sprog end dem.
Et godt råd jeg selv fik engang for mange år siden var: Lær et nyt sprog hvert år.