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.

14 responses so far ↓
1 Nicholas Amorim // Aug 17, 2007 at 8:25 am
“Deus, muito mais simples usar OO! implode(’;’,$array) viraria $array.implode(’;’). Elegância!”
Já não é tão simples para o PHP. Teria que mudar o core da linguagem, tudo. A quebra de código seria enorme e a resistência por muitos programadores PHP (convenhamos, boa parte - senão maioria - não estuda de fato técnicas de programação, simplesmente programa).
Seria BEM complicado. ;/
2 Bastos // Aug 17, 2007 at 9:29 am
Exato. Felizmente PHP6 mudará algumas coisas… Quanto a última afirmação, concordo! Programar por programar e não ter olhar crítico sobre a linguagem além de não estudar técnicas é um fato comum a muitos programadores. Felizes somos nós…
3 Walter Cruz // Aug 18, 2007 at 12:53 am
De fato, fazer o ‘deploy’ é uma expressão praticamente inexistente no mundo php, geralmente é só copiar o(s) arquivo(s) e tá tudo certo.
Com relação ao PEAR, eu tenho usado o MDB2 e acho que o módulo de JSON. Tem um ORM no PEAR, mas é fraquinho. De fato, é uma pena, a sensação que dá é que não é muito bem cimentado. Ruim, porque tem coisas boas lá! Até mesmo nos hosts é difícil ter as coisas do PEAR instaladas.
A linguagem não vai evoluir. Python é o que o GvR gosta. Ruby é o que o Matz gosta. Lua é o que a trinca lá do Rio gosta. (Java é uma exceção, já que o negócio é feito por votação, mas, embora nem todo mundo goste, as coisas tem padrão!). Eu sinto que PHP não tem alguém com bom gosto por trás, fica tudo anárquico!
4 Bastos // Aug 19, 2007 at 2:23 pm
Concordo com você. PHP nem anárquico é na verdade, se fosse o php6 seria melhor! Acho que a comunidade não tem voz, nem pensamento crítico para analisar e ver esse triste fato que é o PHP não ter uma evolução… Triste.
5 Rafael S. Souza // Aug 31, 2007 at 9:51 pm
Perfeito esse post! Já me peguei filosofando sobre isso, e concordo plenamente contigo, o pior é que não consegui convencer meu chefe usar a Ruby (apesar dele usar e achar a melhor linguagem do mundo), e então estamos usando o Zend.
Abraço.
6 Samir // Sep 3, 2007 at 12:23 pm
Perfeito sua observação Tiago, não trabalho com PHP diretamente, mas tambem estou passando por essa fase de migração, deixei o C# e toda a parafernália do .Net para tráz e agora estou investindo no Ruby e Python.
abraços
7 Quem não tem argumento, grita, chora e fala mal // Oct 15, 2007 at 1:32 pm
[…] gosto também de manés vindo espernear no meu blog, então vai ai o comentário de um cara sobre meu post: Juarez […]
8 Marcelo Araujo // Feb 20, 2008 at 11:45 am
A escolha da linguagem eh algo subjetivo.
9 Arthur Furlan // Feb 21, 2008 at 1:41 am
Olá Juarez,
Eu também segui esse caminho, migrando do PHP para o Python (Django)… Mas ainda faço algumas coisas como PHP e um framework que tem me agradado bastante é o Symfony[1]. Ele utiliza essa idéia de aproveitar o já vem pronto, não reinventando a roda e utilizando as soluções já consolidadas no mercado. Se puder vale a pena dar uma olhada, principalmente porque ele é MUITO parecido com o Django.
Parabéns pelo post! Concordo em gênero, número e grau como todos os seus argumentos.
[1]. http://symfony-project.com
10 Paulino Michelazzo // Mar 4, 2008 at 10:42 am
Meu caro, linguagem é como roupa, você usa a que quer ou a que está na mão. Simples assim. Creio que maldizer uma para enobrecer outras não é algo tão inteligente inclusive quando muito daquilo que você comentou não é algo que precisa da linguagem, mas sim de bons desenvolvedores (o exemplo do PEAR é uma delas).
11 Marcelio Leal // Mar 4, 2008 at 5:20 pm
Olá,
Primeiramente, é impossível discutir linguagem da maneira que você fez. Não há linguagem boa em tudo, mas pode-se discutir item por item.
Tudo no PHP é pensado, é óbvio que há implementações em outras linguagens melhores em alguns casos, como no Phyton e Ruby.
A “anarquia” de frameworks e bibliotecas em PHP é algo que tem seu lado bom. Proporciona diversidade de soluções.
Todos estes grandes frameworks têm seu lado bom e lado ruim, não há melhor framework sem contexto.
Não há como criticar o Zend da maneira que você o criticou. O Zend tem seu objetivo delineado, não se pode comparar com o Rails. Se você unir o Zend com um gerador, ai sim você pode compará-lo.
Te afirmo com segurança que o PHP está entre as duas melhores linguagens para desenvolvimento de informações para Web.
Enfim, gostei muito do teu post. Venho pedir que façamos um debate item por item entre os frameworks e as linguagens.
Um abraço,
Marcelio Leal
12 Bastos // Mar 5, 2008 at 1:15 am
Marcelio, apenas falei o que não gosto no php, teve gente que quase me ameaçou de morte
Realmente acho o Zend uma bela iniciativa feita de uma maneira horrível… PHP é uma linguagem realmente legal, eu gosto de PHP! Tenho minhas reclamações mas gosto sim. orrorozaPosso gostar mais de Python ou de X ou Y mas PHP tem suas qualidades e a simplicidade no desenvolvimento WEB é uma delas (Olhem o Nice Dog http://tiago.zusee.com/code/nicedog/)!
Não entendi o que você quis dizer com o gerador, se vc fala de scafollding, realmente é uma coisa legal do Rails, mas não é a única nem a mais importante.
Não vamos fazer debates não, vamos discutir soluções e programar
Acho como você que cada framework tem suas qualidades e cada desenvolvedor tem seu gosto, o que se aplica à mim pode não se aplicar à você não é?
Abraços,
13 Bastos // Mar 5, 2008 at 1:21 am
Paulino cara, não quiz enobrecer outras linguagens não! Mas dá uma testada no Python ou Ruby tá heheheheh Meu Blog == Meu ponto de vista. Hoje não vejo uma linguagem só por suas features e sintaxe, vejo pelo conjunto de bibliotecas e comunidade. E isso dá alguns pontos positivos para iniciativas como o Rake do Ruby ou Django do Python e outras coisas para outras linguagens. Cake PHP por exemplo é muito legal!!!! Code Igniter é outro framework ótimo!
14 Jefferson Rafael // May 13, 2008 at 11:57 am
Em primeiro lugar gostaria de parabenizar o post, bem efervecente rsrsr. Concordo com Paulino no sentido de que o PHP precisa de bons desenvolvedores, ou seja, que dominem OO , padroes de projeto e outras coisas.
Enfim acredito que o problema é mais conceitual do que da ferramenta. Úma coisa q deve ser levado em consideração tambem é o legado q mtos empresas tem, ou seja, uma empresa q ha anos trabalha com PHP, pode não ser tão interessante a mundança de linguagem, mas para um iniciante já é diferente.
Finalizando concordo tambem q o PHP não tem uma ‘biblioteca’ efetiva de classes, mas por outro lado possui alguns frameworks mto bons, como Code Igniter, que ja foi citado, eu gosto mto…..
Leave a Comment