Originariamente inviato da C232
netarrow mi hai scandalizzato con la tua risposta!
In certi punti sono d’accordo con te e in altri no!
Con C++/C si può fare qualsiasi applicazione.
E’ vero che la Microsoft vuole fare fuori il VC++ però comunque rimane il C.
Il Java, secondo me vuole rivoluzionare il web, ma sinceramente non ci è riuscita.
Non ho mai visto applicazione vere e propri in Java ma sempre Applet.
Gli Applet con il passare del tempo sono stati sostituiti delle animazioni in Flash e dagli script ECMAScript.
(...)
lungi da me scatenare l'ennesimo flame, ma qui mi sa che stiamo cadendo nel solito discorso da osteria in cui Java viene criticato senza troppa cognizione di causa...

anzitutto oltre che pensare a quale linguaggio imparare io vorrei sottolineare COSA imparare. Mi spiego: programmare veramente non vuol dire conoscere la sintassi di linguaggio (per farlo basta davvero poco), ma saper usarlo in modo efficiente, produttivo e (soprattutto) saper creare codice di qualità. Per questo esistono tutta una serie di tecniche addirittura scollegate dal linguaggio di programmazione (analisi, progettazione, casi d'uso, xtreme programming, e via dicendo). Java velocizza (molto) la scrittura dei programmi grazie al fatto che nasconde alcuni dettagli della macchina come la gestione della memoria o la dipendenza dal SO (chiaramente questo esclude il suo utilizzo in casi in cui è necessario il controllo a basso livello).

Detto questo la risposta alla domanda iniziale non può essere che la solita: dipende che vuoi fare! è come voler comprare una macchina: devi viaggiare? devi fare le gare in pista? ti serve un fuoristrada?

Java non è la soluzione a tutto, questo è chiaro, ma bisogna capire un poco per cosa è stato creato. Non ha rivoluzionato il web? Attenzione, non esistono solo i client... le applet sono state effettivamente surclassate da altre tecnologie, ma nessuno pensa ai server? con Java su un server si può fare qualunque cosa si possa immaginare.
Non esistono applicazioni in Java ma solo applet??? VVoVe: Non ti cito le applicazioni di ricerca, ma rimanendo nell'open source/commerciale: un desktop 3D, uno dei più diffusi editor per programmatori, l'altro più diffuso editor per programmatori, infiniti sistemi gestionali (per esempio quello delle ferrovie dello stato), missioni su marte...
Java è anche didatticamente adatto ad imparare la programmazione OO, dal momento che è privo di molti meccanismi pericolosissimi del C++ (perchè definire il linguaggio ad oggetti per eccellenza un linguaggio che permette ereditarietà multipla, puntatori selvaggi e non prevede le interfacce?) e, infatti, viene insegnato in tantissime università nei corsi di fondamenti di informatica.
A proposito: come si programma un gioco per cellulare in C++?

Io personalmente sono appassionato di informatica grafica e non mi sognerei mai di usare Java per applicazioni di tale genere, ma spesso ho scritto con gran soddisfazione dei programmi in cui non serviva grande potenza di calcolo spendendo molto meno tempo di quello che avrei usato con, ad esempio, C++. Quindi il succo è: capire cosa si vuole fare, documentarsi sulle potenzialità dei possibili linguaggi e poi darsi da fare

personalmente consiglio in ogni caso linguaggi ad oggetti, l'approccio procedurale ormai è decisamente superato per quasi ogni applicazione.