Minhas opiniões pessoal.
C# (.NET)
Desvantagens
- Código fechado
- Versão community é capada
- Deveria atuar em mobile mas o Windows Mobile foi um fracasso
- Promete que é multiplataforma mas fracassou quando a questão é migrar Windows/Linux
- Mão-de-obra com preços médios, mas em falta
Vantagens
- Linguagem não verbosa
- Aprendizado mediano
- Boa velocidade
- Robusta não quebra em sistemas por maiores que sejam
- Atua bem na área de desktop e na web
- Bibliotecas são bem padrões entre a comunidade
- Bom para sistemas pequenos, médios ou grandes
- Comunidade com foco, utilizam quase sempre a mesma IDE, Framework e bibliotecas
- Código dinâmico que melhora sua velocidade durante as execuções e sem intervenção do programador
Não sei informar
- Migração entre banco de dados.
- Consumo de memória
- Custo de hardware
- Custo de treinamento
PHP
Vantagens
- Código aberto
- Aprendizado rápido
- Linguagem objetiva
- Custo de hardware baixo para executá-la
- Boa velocidade
- Pouco consumo de memória
- Mão-de-obra barata e abundante
- Baixo custo de treinamento
- Na versão nova o código melhora durante a execução.
Desvantagens
- Quebra em sistemas maiores
- Se a migração entre platormas nunca foi algo previsto, isto pode ser um problema.
- Se a migração entre banco de dados nunca foi algo previsto, isto pode ser um problema.
- Se o compartilhamento de bibliotecas nunca foi algo previsto, isto pode ser um problema.
- Comunidade dispersa entre várias IDEs, frameworks, bibliotecas e plataformas
Java
Vantagens
- Código aberto
- Robusta não quebra em sistemas por maiores que sejam
- Boa velocidade
- Atua nas mais diversas áreas desktop, mobile, web e eletrônica.
- Mesmo em migrações não pensadas entre platormas é tranquila.
- Mesmo em migrações não pensadas de banco de dados é tranquila, pois usar JPA é "cultural" na linguagem.
- Compartilhamento de bibliotecas é tranquilo, pois usar Maven ou Gradle é "cultural" na linguagem.
Polêmico
- Em geral, linguagem verbosa (é possível contornar com Kotlin ou Groovy)
Desvantagens
- Aprendizado super lento
- Custo de hardware mais alto para executá-la
- Alto consumo de memória
- Mão-de-obra cara e abundante
- Alto custo de treinamento
- Código dinâmico que melhora sua velocidade durante as execuções e sem intervenção do programador
- Não compensa para sistemas pequenos
- Comunidade dispersa entre várias IDEs, frameworks, bibliotecas e plataformas