Estudo várias coisas ao mesmo tempo, entre elas, frameworks. Tendo já testado Django, Rails e o framework da Zend posso falar, PHP perde feio com o seu Zend. Zend está mais parecido com apenas mais um conjunto de bibliotecas que DEVERIAM estar no PEAR e não em um framework isoladas. E falando nisso, o PEAR é o grande problema do PHP, ninguém usa! Vejo muito e uso muito o gem install PACOTE ou o easy_install PACOTE, até mesmo o python setup.py install.
Os programadores (incluindo eu) do PHP tem a mania de jogar suas bibliotecas pela rede, sem padrão de instalação e dependências, tudo é refeito a cada nova biblioteca, Cake usa um ORM que é só dele e nem se dão o trabalho de por no PEAR, a Zend não se dá o trabalho de por no PEAR suas bibliotecas. Quer dizer, as bibliotecas PHP vivem em ilhas.
Quando fui usar a biblioteca do jabber para Ruby vi que em cima dela foi feita outras mais fáceis, isso é, programadores Ruby sabem como usar Programação Orientada a Objetos e usam todas as suas vantagens. Progamadores Python também, o TurboGears usa diferentes componentes para integrar ao seu Framework, isso é, muita coisa não é escrita do zero e já está ai faz um tempo, SqlObject e Kid por exemplo.
Problema maior se pensarmos que não existem modulos em php, não existem namespaces e nem mesmo o OO é bom. Se pegarmos o manual do PHP ( o melhor manual de linguagem existente ) podemos ver que existem 1000k de funções jogadas, que eu posso usar uma função de array em uma string e ver o circo pegar fogo! Deus, muito mais simples usar OO! implode(’;',$array) viraria $array.implode(’;'). Elegância!
Óbvio que PHP tem suas vantagens, isso é, PHP tem mod_php e apache! PHP é muito fácil de fazer rodar, o mod_php está em todos os shared hosts do mundo. Então com um simples FTP eu coloco um programa para rodar, isso é uma vantagem, mod_python nem mongrel ou outra coisa estrita para python ou ruby é tão difundida e fácil de se ver rodar estável como é mod_php, isso é um fato e conteste se quiser… Mas deployment não é tudo na vida e pode ser facilitado com uma ferramenta interessante chamada Capistrano.
Outra vantagem do PHP é que como o deployment é fácil, tem mod_php instalado na bodega perto de casa, então qualquer “programador” com apenas alguma experiência consegue colocar AQUELE formulário para rodar e salvar no Mysql, sem ORM claro… A linguagem também é fácil, não tanto quanto Python, mas é fácil e tem uma sintaxe roubada do C.
“Não sei instalar o apache” - Essa é uma frase corriqueira. Então criou-se instaladores de apache+mysql+php para o windows com um clique. Temos um ambiente de produção que podemos baixar naquele belo link encontrado no Superdownloads… Quer dizer, php é fácil para começar para web, é feito para web e algumas pessoas fizeram instaladores de um clique para ter um ambiente de desenvolvimento no seu pc com windows XP. PHP é fácil de começar para WEB. Nem python nem ruby são linguagens exclusivas para web, isso dificulta.
Concluido PHP tem suas vantagens, mas minha opinião pessoal é que a linguagem não vai evoluir muito e com um bom ritimo e que a comunidade de desenvolvedores tem sérios problemas, a Zend deveria apostar no PEAR e fazer com que mais e mais bibliotecas estejam no repositório. Mas como isso está longe de acontecer, dê uma chance a outras linguagens, Python, Ruby, Haskell, Scheme, Smalltalk ou qualquer outra coisa, abra sua mente, o mundo não é apenas PHP, JAVA ou C#, existem outras linguagens ai, com suas qualidades e defeitos, seja mais crítico quanto a que você usa e aprenda sempre alguma nova.