Questa domanda, in generale, NON HA molto senso.
In QUESTO senso: un programmatore ""competente"" (NON in senso contrario a ""incompetente"", ma un ""normale professionista"") sa implementare QUALUNQUE COSA da zero.
Ma poiche' implementare da zero una funzionalita' puo' essere MOLTO complesso, si preferisce partire da degli ""artefatti"" che forniscono il 75/90% delle funzionalita' richieste.
In questo caso si sceglie il linguaggioin in base ai software disponibili che forniscono quanto cercato.
Considera che anche trovare l'artefatto e' un'""arte"". Non basta pescare il primo che si trova, ma bisogna andrare a caccio del prodottino fatto DECISAMENTE bene, ben documentato/testato, che RISOLVE i problemi, non li aumenta perche' e' pieno di bug
Solo RARAMENTE capita di sviluppare un'intera applicazione da ZERO: in questo caso il linguaggio e' un po' una questione di gusto personale. Anche se spesso la scelta e' influenzata da condizioni esterne.
Per quanto riguarda il supporto, i linguaggi citati (Java, C#, PHP, Javascript, ecc) sono supportati da una STERMINATA serie di fonti:
libri a camionate, forum in quantita' industriale, ecc.
Non c'e': ""questo e' meglio di quello"".
E' un po' come dire che una mora e' meglio di una bionda. MA se la mora ha gli occhi verdi e la bionda marroni?