Capirai l'efficienza in questi casi quanto giochi. Inoltre in generale il primo punto da considerare è l'algoritmo utilizzato. Puoi sempre considerare soluzioni miste, lasciando il lavoro sporco ai linguaggi di più basso livello e coordinando il tutto da uno di più alto livello.
Java ha in generale prestazioni abbastanza buone rispetto a C gcc e ottime rispetto a Pascal fpc per quanto riguarda i tempi d'esecuzione.
http://benchmarksgame.alioth.debian.org/u64q/java.html
http://benchmarksgame.alioth.debian....&lang2=fpascal
Pascal risulta più lento sia rispetto a Java che a C gcc
http://benchmarksgame.alioth.debian....scal&lang2=gcc
I consumi di memoria sono effettivamente minori per C e Pascal.
Perché usare C o Pascal è più semplice che usare Java?
Per la programmazione procedurale puoi benissimo ignorare gli oggetti e usare solo le classi già scritte per semplificarti la vita. Basta scrivere qualche static e sei apposto.
Piuttosto si può consigliare di scrivere cose simili in linguaggi quali Python, Ruby, TCL, REBOL et simila. Qui il vantaggio è evidente: la facilità di scrittura è abbastanza indiscutibile.
In generale è molto più facile commettere errori in C, C++, Pascal e simili che in linguaggi a più alto livello quali ad esempio java, C#, D e simili o di ancora più alto livello. Anche solo per il fatto che più alzi il livello meno devi scrivere.
Pensa ad esempio a quanto è facile in C accedere ad una locazione di memoria non valida e non accorgersi dell'errore per settimane, mesi o anni. Poi all'improvviso l'errore salta fuori in produzione all'interno di un software molto complesso con un sacco di funzioni che (incautamente) usano dettagli implementativi. A questo punto diventa molto molto difficile correggere il problema senza corrompere tutte le altre parti di codice che fanno affidamento sui dettagli implementativi.
Questo era solo un esempio. Ci sono anche altri fattori da considerare ovviamente, ma certamente quando le risorse non sono un problema non ha senso scrivere nel linguaggio più efficiente possibile. Altrimenti scriveresti sempre in linguaggio Assembly che è (virtualmente) il più efficiente (anche se di certo al giorno d'oggi un compilatore è sicuramente più bravo di te a ottimizzare il codice).
Edit: Eviterò di intervenire ulteriormente per evitare l'OT, era solo che non volevo che venissero dati consigli a mio avviso fuorvianti.