Mas o PHP tá melhorando do meu ponto de vista. Parâmetros e retorno já dá pra definir tipos agora,por exemplo.
De qualquer forma, nesse caso nem dá pra reclamar tanto da linguagem. É falta de lógica mesmo. Cara devia mudar de profissão.
O problema dessas linguagens fracamente tipadas é que elas, em sua maioria, nao obrigam a utilização de O.O. da maneira correta. Sao otimas para quem ja tem experiencia, da bastante flexibilidade, mas o cara experiente ja sabe o que tem que fazer para nao transformar o sistema em um caos.
Na minha visão um programador inexperiente deveriam começar com linguages fortemente tipadas como C++, Java ou C#, aprender a diferença entre os tipos de dados, aprender sobre interface, classes abstratas, padroes de projeto, SOLID, Clean Code, teste e etc... Boas praticas no geral.
O individuo aprende PHP na faculdade sem framework, puro mesmo, ou Phython (mais para fazer calculos) e quando sai da faculdade cai em um mundo que exige:
- SOLID
- Clean Code
- TDD
- DDD
- Mircoservices
- NOSQL E SQL
- Design Patterns
- MVC (os mais antigos)
- Front reativo
- Stack ELK
- Azure
- AWS
e etc...
Nisso tudo o cara nao sabe nem para que serve uma interface direito, dai sai aqueles sistemas macarronicos com um milhao de libs se chamando sem nenhum controlo de recusirvidade, 0 de O.O. e reaproveitamento de codigo. Impossivel de dar manutencao, quem dira evoluir o software.
@Topic
Para com essa viagem de "quando tiver 50 vao me trocar por um de 20"
Quando voce tiver 50 sera um Software Engineer com 30 anos de experiencia em um milhao de tecnologias e problemas, sabera o que funciona ou nao baseado na expeirencia de vida, coisa que um dev que acaba de formar nunca tera. A nao ser que voce fique 30 anos estagnado na mesma empresa fazendo a mesma coisa, ai vc vai ficar defasado rapidinho