Frameworks: Por um PHP Menos Ruim
O PHP não é a linguagem mais “cool” para se desenvolver para web no momento. Outras linguagens estão tomando o posto por serem mais compatíveis com o ambiente web que temos hoje. Um dos fatores que mais influencia nessa “tomada de território” é a agilidade no desenvolvimento que, aliado aos frameworks dessas linguagens, tornam o PHP quase obsoleto. Há como manter o PHP a pelo menos um nível competitivo com essas linguagens?
Apesar de todos os seus defeitos, o PHP ainda é a linguagem mais usada no mercado, embora venha perdendo espaço para novas tecnologias, como Ruby e Python. Aliadas a poderosos frameworks, essas “novas” linguagens (Ruby e Python são muito mais antigas que você imagina) tornam o desenvolvimento muito mais rápido. Só com o PHP, raça e vontade nunca será possível alcançar tais níveis de produtividade. A solução é seguir a mesma idéia: adotar um framework.
Não culpo o PHP por ser uma linguagem bem mais lenta em termos de desenvolvimento, a culpa é dos próprios desenvolvedores. Eles geralmente escolhem o lado mais difícil da coisa, recriando toda a estrutura para cada novo sistema. Poucos se preocupam em pesquisar por novas soluções que resolvam seus problemas de maneira mais rápida e automatizada. Ruby e Python, apesar de serem linguagens mais ágeis em minha opinião, só se tornaram “modinha” após o aparecimento dos frameworks. Por que os programadores PHP não escolhem o mesmo caminho?
Apesar de estar migrando, agora passo a acreditar que o que realmente importe talvez não seja somente a linguagem, mas sim as ferramentas que nos auxiliam com elas (leia-se frameworks), além dos próprios programadores. Pra que sofrer? Provavelmente alguém com mais tempo e conhecimento já tenha criado uma solução para determinado problema, bem melhor do que você mesmo poderia fazer, sem tempo e às vezes sem tamanho conhecimento.
Confesso que nunca havia usado um framework para PHP, embora já tenha sentido necessidade. Sempre praguejava a cada sistema iniciado, mas mesmo assim desenvolvia minhas próprias soluções para tornar o desenvolvimento menos doloroso. Isso durou até um mês atrás, quando me vi diante de um sistema bem complexo a ser desenvolvido na agência onde trabalho. Sem um framework, levaríamos meses para acabar. A única solução foi a adoção de um framework para PHP. Agora, o desenvolvimento do sistema flui rapidamente, e de maneira bem menos dolorosa, chata e sem graça.
A solução escolhida por nós foi o CakePHP, talvez o framework mais conhecido para PHP. Sem dúvida alguma, é uma ferramenta de grande poder na hora de desenvolver, principalmente na versão 1.2 (ainda beta, com documentação escassa até o momento, e que talvez dê algumas dores de cabeça até que esteja completa). Para mim, o tempo de desenvolver em PHP puro se encerrou para sempre.
Talvez você não goste tanto do Cake quanto eu, e prefira outras opções. Opções não faltam, há o Code Igniter, o Zend, o Symfony, entre dezenas de outros. Não importa qual seja o framework, desde que ele traga um ambiente mais rápido e agradável para desenvolvimento. Pra falar bem a verdade, uma das maiores razões para eu ter escolhido um framework em lugar de criar minha própria biblioteca de funções foi a implementação de orientação a objetos nesses frameworks, que pra mim dão muito mais sentido à programação.
Para programadores de outras linguagens, o mesmo princípio se aplica: não importa qual solução se use, desde que ela traga benefícios. Me direcionei para PHP pois é onde mais trabalho no momento e, por ironia, a linguagem que menos gosto. Os frameworks foram algo que me fizeram tomar um pouco mais de gosto pela linguagem. E se você não utiliza nada para ajudar no desenvolvimento, está na hora de rever seus conceitos…







“O PHP não é a linguagem mais “cool” para se desenvolver para web no momento” -> fonte?
“Outras linguagens estão tomando o posto por serem mais compatíveis com o ambiente web que temos hoje. Um dos fatores que mais influencia nessa “tomada de território” é a agilidade no desenvolvimento que, aliado aos frameworks dessas linguagens, tornam o PHP quase obsoleto.” -> afirmação ridícula.
“Não culpo o PHP por ser uma linguagem bem mais lenta em termos de desenvolvimento, a culpa é dos próprios desenvolvedores.” -> parei de ler. adeus
É, acho que dessa vez eu fui mais polêmico do que de costume… Pelo bem de todos, vou responder de maneira imparcial, descontando o fato de o PHP não ser minha linguagem preferida.
As linguagens mais “cool” do momento são Ruby e Python, pela sua sintaxe mais limpa e principalmente pelos seus frameworks.
O PHP está sim perdendo espaço, compare o crescimento de Python com o de PHP, ou então o de Ruby, um ano atrás. Talvez eu tenha exagerado com “obsoleto”, mas que o PHP vem perdendo espaço aos poucos, isso vem.
Quanto a terceira afirmação, recomendo que leia o restante do parágrafo.
Só ressalto aqui: minha intenção não era julgar o PHP, mas sim a atitude dos desenvolvedores em não escolher um framework para ajudá-los no desenvolvimento. Minha falta de gosto por PHP deixou o texto um tanto tendencioso, mas é minha opinião pessoal, não disse em momento algum para abandonar PHP em detrimento de outras linguagens.
Iha! A chapa está esquentando!
Eu gosto da sintaxe do Ruby, mas eu ainda vou continuar usando PHP por um bom tempo.
War!!! huahuahua
Rails têm uma importância muito grande fora do ruby, a concientização(ta certo?) da necessidade deste tipo de ferramenta, e acho que essa mensagem foi assimililada. Agora os desenvolvedores (php e outros) têm que correr atrás do prejuizo.
O PHP estagnou por muito tempo em um mesmo modelo, mas esta voltando ao rumo certo. E , sem dúvida, a linguagem pode se desenvolver muito ainda. Estes frameworks estão demostrando isto, estão ficando bons.
Mas eu ainda sou meio “cabeçudo”, uso minhas classes prontas de outros projetos ao invés de frameworks(em php).
E, só para aquecer um pouco mais, eu não gosto de ruby! E PHP é minha linguagem favorita huahuahua
Por fim, concordando, a culpa é dos desenvolvedores e , acho até que já disse isso, a linguagem é apoio as ferramentas, estas sim fazem a diferença como você mesmo disse.
Por enquanto é isso. :D
@Diogo: viva! Alguém entendeu minha mensagem! Quanto a você usar classes prontas, mesmo não sendo um framework, é uma ferramenta a mais. Eu também costumava fazer isso, mas os frameworks me ajudaram muito mais.
Opaa… beleza??
Tema bem polemico mesmo… heheheh
Desenvolvo em php ja faz um bom tempo.. mas só nesse ano que comecei a descobrir as maravilhas dos frameworks.. heheh
comecei aprendendo no ruby.. mas por nao ter onde desenvolver nele por aqui acabei parando…
no php passei pelo cake, prado, e acabei ficando com o zend.. hehe. apesar de falarem que ele é complicado e tal.. foi o que mais me identifiquei.
hoje vejo quanto tempo perdi fazendo tudo “na mão”, ao invés de me divertir programando com um framework :)
tá de parabens pelo seu blog.
abraços..
Eu ja cheguei a usar o zend em alguns projetos, acho interessante e aumentam a produtividade, o problema eh descobrir no meio de um projeto enorme alguma limitacao do framework, ou incompatibilidade e ficar desenrolando isso depois, da um trabalhao…
Eu prefiro tbm usar minhas bibliotecas prontas, e partir pro bom e velho hand-made, mas os frameworks cada dia estao melhores, quem sabe muito em breve nao mude de opiniao, gostaria de mudar, ia ser muito bom.
E concordo com Julio o PHP esta perdendo sim espaco, isso eh evidente, eu gosto de PHP, mas nao posso negar suas limitacoes e a perda de espaco na web.
Assim como no campo dos banco de dados o MySQL vai mostrando sinais de cansaco… mas muito menos evidentes do que o PHP.
@Claudio: também não estou levando o Ruby à frente do resto por enquanto, justamente por ter um mercado pequeno e o meu tempo ser curto, mas está nas minhas metas. E bem vindo ao mundo extremamente facilitados dos frameworks!
@Rodrigo: só discordo contigo em uma coisa, nunca tive problema algum quanto a limitação dos frameworks. Talvez algumas características sejam um pouco complicadas para se implementar, mas não acho isso “limitação”.
Até mais!
@Julio: Acho que o que o Rodrigo quis dizer são limitações que existem em casos especificos, e você acaba tendo que fazer uma gambiarra para contornar isto.
O que pessoalmente não gosto é que muitos frameworks querem cuidar de tudo. Eu não posso, por exemplo, usar o sistema de MVC do Code Igniter com o ORM do Cake. Por isso prefiro frameworks especificos, como o propel, ou ,sei la, o nice dog.
@Rodrigo: Também acho que, beeeem lentamente, o MySql vem perdendo espaço. Mas nada que abale.
O PHP não é uma linguagem ruim, embora existam outras mais produtivas e eficitentes.
Acredito que o principal problema do PHP, assim como o do JavaScript, é ser uma linguagem extremamente popular. Quanto mais popular, mais baixo é o nível médio de conhecimento dos desenvolvedores. Temos muitos programadores ruins em JavaScript pq é muito “facil” escrever códigos em JavaScript, não precisa compilar, instalar nada, basta dar uma fuçada no google, CTRL+C CTRL+V, e pronto.
Eu não culparia a linguagem, e talvez nem os desenvolvedores. Posso estar sendo radical, mas eu acho que a culpa é do próprio mercado. Os próprios empresários/clientes/executivos criam essa situação, a medida em que aceitam pagar por produtos desenvolvidos por pessoas desqualificadas, utilizando soluções sem qualquer embasamento técnico ou científico. Enquanto continuarem a pagar por “sites de R$ 300,00″ sempre terá alguem que irá pegar o serviço, e entregar uma qualquer gambiarra qualquer.
@Pedro: concordo em partes com você, a popularização aumenta muito o número de profissionais “meia-boca”, mas mesmo assim existem aqueles que estão no mercado há um bom tempo, são bons no que fazem, mas ainda estão com a mesma visão de que quando começaram, não evoluiram junto com a linguagem e suas ferramentas.
Ixx, Acho que esse Eduardo aí exagerou na “fanboyzada” que deu.
Posta mais sobre essas parada de framework pra php aí julio. Muito bom.
@Micox: tá certo, vou tentar trazer um pouco sobre CakePHP, estou usando e gostando pra caramba, vale a postagem.
Até!
O pessoal de PHP postou o seu blog, gostaria de deixar aqui os mesmo comentários que postei lá. Desculpe qualquer exagero que possa surgir.
Algumas afirmações absurdas:
- PHP não é linguagem voltada para Internet; É uma agressão fazer um comentário desses. Só faltou ele dizer que Java e as demais linguagens são.
- PHP está perdendo mercado para Ruby e Python; Se não fosse o RoR e o Django nem se ouviria falar dessas duas linguagens que passa pelas mesmas dificuldades que o PHP. Encontrar pessoal capacitado para usá-la.
- PHP linguagem lenta de desenvolvimento; Acho que queria que o PHP virasse Java .. e que fosse incluido no core todos os componentes que são desenvolvidos em PHP. Tudo bem que o PHP tenha diversos frameworks, muitas vezes não complementares, mas linguagens como Java e Python não ficam atrás: Struct, JSF, Pylon, etc. Os frameworks para Ruby também não param de crescer. É só acompanhar os grupos de discussão de RoR e Django no google grupos e verão que isso ocorre com eles também.
- Confesso que nunca havia usado um framework para PHP; Sem comentários!!!!! ¨&%#%$¨%$
Vou parar por aqui antes que tenha um ataque cardiaco. Devia ter mais cuidado com o que escreve.
Estou usando PHP (CodeIgniter), Ruby (RoR), Java e Python (Django). E nenhuma se compara a flexibilidade do PHP.
Ainda bem que sou designer.
Mas eu gosto de PHP, e no fim das contas acho que eh tudo a mesma coisa essas linguagens. Independente de Ruby, Python ou PHP, é sempre o programador quem se fode, os clientes não ficam mais legais por que tu usou Ruby ou Python ou PHP. O cara pode ser um merda em Ruby on Rails mas dominar outra linguagem ou framework.
Eu era um merda em programação antes do Julio trabalhar comigo, e hoje amadureci MUITO (mesmo usando o mesmo PHP, já sei muito sobre a linguagem e sobre como tirar bom proveito dela).
Acho que cada um tem direito de ter sua opinião, até por que eu discordo de que o PHP é ruim. E além disso, quem disse que esse blog é um espaço democrático? Cada um que escolha a melhor ferramenta para si, e que tenha suas próprias opiniões.
Só uma coisa, pessoal. Fiquem atentos, pois essa molecada de 16 anos tá tirando o emprego de muito trintão por aí.
Julio, não concordo com o que você disse. Primeiramente, para falarmos bem de alguma coisa, devemos conhecê-la e para falar mal, devemos conhecê-la melhor ainda.
O fato de você começar a utilizar FW somente agora, não significa que os profissionais de PHP não o fazem. E ainda por cima, você está utilizando o Cake que não é tão bom quanto o CodeIgniter e o Kohana, por isso, aprofunde mais o seu conhecimento para falar mal de alguma coisa.
Abç
Cara, meu chefe admira meu trabalho, meus professores na universidade também, meus clientes também. Sou bem pago pelo meu trabalho, então eu acho que idade é um argumento beeem ignorante a ser posto em jogo, não? Qual a opinião de vocês?
Só para que fique claro:
1. Eu não concordo com a opinião do Julio, gosto do PHP.
2. Falando de molecada, o cara não atinge só uma pessoa, mas MUITA gente, e gente já competente com essa idade.
3. Já perdi tempo que chega com isso, vou trabalhar que é pra isso que eu sou pago.
só pia mesmo pra a cada novo projeto criar tudo do zero.
php obsoleto?
zend framework é usado pelos engenheiros da IBM rapaz.
fora é o motor por trás de muito da web 2.0 como
facebook, flick, digg, wordpress e muita coisa do yahoo é feita com php.
hoje existe o propel usado no symfony, ótimo, pode ser chamado o hibernate para o php.
Php é uma das linguagens de script mais rápidas.
PHP só tem crescido a cada dia mais e sendo adotado em grandes projetos junto com java e .NET como é no detran de onde moro.
PHP tem ótimo suporte a orientação a objetos, pode não ser completo como java, mas já supre as necessidades plenamente.
outra coisa, programador bom não se faz da noite para o dia, é bem similar ao piano, mesmo que você toque muito aos 12 e 15 anos, só terá maturidade musical por volta dos 30 e 35 anos.
por isso, estude.
já que é um consenso geral .. [Piá Detected]
“Só com o PHP, raça e vontade nunca será possível alcançar tais níveis de produtividade. A solução é seguir a mesma idéia: adotar um framework.”
Pelo visto nunca viu C/C++/C#,OOP,Patterns e uma expressão básica em programação “Reaproveitamento de Código”.
Quanto a idade, vou discordar .. com 16 anos dá pra ter maturidade em desenvolvimento de software sim.
É aquele velho deitado!!!
Quem fala (escreve) o que não deve! Ouve (le) o que não quer.
Adotar ou não um framework e citar vantagens sobre linguagens é algo muito longe do que se passa pela sua cabeça e pelo seu post. Procure estudar mais sobre assuntos que envolvam escalabilidade e otimização antes de querer falar sobre produtividade. Finalizando Dependendo do tipo de aplicação a ser construida, um framework pode não lhe atender lhe obrigando a ter de mexer nele.
Gostaria de saber qual o embasamento teórico que você teve para afirmar que o php é mais lento que python e ruby. As últimas versões do php são mais rápidas.
Procure um vídeo que foi gravado no PHP Conference 2006, falando sobre o futuro do PHP (PHP 6)
OK, “Fanboy Attack Part 2″. Mas tudo bem, vamos lá.
Primeiro, eu não disse que PHP é uma linguagem péssima, intrabalhável. Por questões de gosto pessoal, EU não gosto de PHP, e não pela qualidade da linguagem, e sim pela sua sintaxe, que EU considero muito suja. O PHP é sim uma linguagem poderosa, cheia de recursos, mas ele NÃO se adapta a mim, por que fui mais influenciado pela sintaxe de JavaScript, e por isso é mais natural e cômodo para mim trabalhar com Ruby do que em PHP.
Segundo, o artigo foi sim MUITO tendencioso, justamente pelo meu gosto. O blog é meu, e não tenho compromisso nenhum com imparcialidade, e isso pode ter resultado em alguns exageros, principalmente no título do post. Minha intenção não era denegrir o PHP, usei-o como exemplo por ser onde mais estou trabalhando no momento, e ainda vejo MUITA GENTE que nem sequer se dignou a saber quais são os frameworks/bibliotecas/soluções para sua linguagem. Meu foco não era super-programadores ultra-fodões como os que comentaram aqui, e sim esses mais “desinformados” (o objetivo também não era “pseudo-programadores”, desses eu corro).
Terceiro, prefiro que não julguem meu trabalho antes de conhecê-lo, assim como eu não julgo o trabalho de quem eu não conheço, embora esteja assumindo que o trabalho dos que comentaram aqui seja extremamente bom, pela autoridade com que falam. Também não tomem como base minha idade, isso pouco importa na minha habilidade. Sei que não tenho maturidade plena em desenvolvimento, mas isso de forma alguma se deve à minha idade, e sim com minha experiência.
Quarto, alguns dos erros que citei no post não são cometidos por mim, mas pelo público o qual quis atingir. Eu SEMPRE usei alguma solução nos meus projetos, nunca do zero. Migrei para um framework porque a quantidade de recursos é muito maior do que eu teria tempo para criar. Estudo muito assuntos sobre patterns, reaproveitamento de código, OOP, tanto que é o que prego aqui no blog e onde trabalho.
Quinto, como eu queria atingir programadores PHP médios (não amadores), me referi a frameworks para uso em aplicações médias. Eu mesmo já desenvolvi alguns sistemas em que o uso de um framework seria inútil/impraticável devido à complexidade.
Sexto, eu conheço suficientemente PHP para poder falar, bem ou mal. Mas não falei mal do PHP, e sim da atitude da maioria dos desenvolvedores médios. Em momento algum falei mal da linguagem, ela apenas não figura entre as minhas favoritas. Gosto muito de Ruby, mas não tenho conhecimento suficiente para falar sobre a linguagem, por isso (e outros motivos) não comparei A LINGUAGEM PHP com A LINGUAGEM (qualque linguagem).
Fora isso, existem alguns equívocos do pessoal que leu. Culpa minha, me expressei mal, mas tudo bem, isso eu entendo. Pelo menos essa segunda onda de ataques leu o post até o final. Agradeço quem foi relativamente educado e trouxe alguma coisa à discussão em vez de apenas me atacar, e se tiver mais algo para acrescentar ou a me dizer, sinta-se livre para voltar a comentar. Decidi manter todos os comentários e permitir novos. Quem já lia o blog e se sentiu ofendido, ultrajado, ou qualquer outra coisa, sinta-se livre para fazer como o Danilo e o Tárcio e ir embora. Meu número de assinantes continua estável, meus leitores habituais com certeza entenderam o que eu tinha a dizer e não levaram para o lado da ignorância, e por isso já me sinto satisfeito.
Desculpem o longo discurso, mas foi o que achei necessário. Até mais!
Eu discordei do Julio quanto a gostar do PHP, e acho ainda uma boa ferramenta.
Mas o que eh o nivel desse pessoa que anda comentando aqui?
Fosse no meu blog eu apagava tudo… melhor liberava o IP pra geral brincar… pessoa que nao sabe ser educada nao merece ser tratada com educacao, Julio, no alto dos seus 16 anos como disseram ai, recebeu pedrada de todo lado e ainda trata bem…. quem eh a crianca?
Ridiculo o comportamento dessas pessoas, tudo culpa do governo, maldita inclusao digital, ate bebado na rua tem pc agora.
@Rodrigo: eu sei que não mereciam meu respeito, por isso deixei para responder no dia seguinte, mesmo tendo acompanhado toda a discussão, tanto aqui quanto na comunidade no orkut (da qual o tópico já foi apagado, diga-se de passagem). Esta é a segunda polêmica aqui do blog, eu sei como é. Esse pessoal nunca mais vai passar por aqui e não verá minha resposta, mas os leitores habituais/ocasionais verão, e estes merecem meu respeito.
Novamente, agradeço o apoio dos que contribuem positivamente para a discussão. Até!
Parabéns meu velho, apesar de ser um cara novo tu já tá mostrando conhecimento, continua assim, te puxa nos teus estudos que tu só tem a ganhar – e a comunidade também ;)
abraço!
Julio>>”EU não gosto de PHP, e não pela qualidade da linguagem, e sim pela sua sintaxe, que EU considero muito suja.”
Julio, não entendi essa parte. Você tem certeza que a linguagem do PHP é suja? O que você considera como suja?
A sintaxe do PHP é baseada toda em C, e tem muita semelhança com a do Javascript. Por favor, nos explique o que é ser suja na sua opinião.
@Rafael: obrigado, bom saber que tem gente que gosta pelo menos um pouco do meu trabalho.
@Diogo: só pra deixar claro (antes que outros venham me apedrejar novamente): OPINIÃO PESSOAL. Como sou um fã de JavaScript e Ruby, tem certas características que não gosto na SINTAXE (e não na linguagem) do PHP: o ponto e vírgula obrigatório, o $ para variáveis, o -> (tá, esse não é “sujo”, mas eu ainda prefiro o ponto), e também a construção das funções. No JavaScript, por exemplo, eu posso fazer “Qualquer Coisa”.replace(“search”, “replace”). No PHP, preciso usar str_replace(“search”, “replace”, “Qualquer coisa”). Há muita coisa que gosto no PHP, mas a sintaxe me incomoda muito, justamente por questão de costume. Estou ansioso pelo PHP6, para saber se pelo menos esse último “problema” seja resolvido. Mesmo não gostando muito de sua sintaxe, o PHP ainda é minha linguagem de trabalho e uso diário, e também por isso ainda não migrei pra Ruby.
Bem, pelo jeito agora a discussão tomou rumos civilizados, e o que parecer irrelevante apenas desconsiderarei. Obrigado, até mais!
Olá…
Caí em seu blog nem sei como, lendo esse POST resolvi deixar minha posição.
Não vem de agora esse MITO da queda do PHP, é algo real que está acontecendo, porém não vai acabar…. Veja o Cobol, uma linguagem considerada pré histórica e até hoje a demanda de serviço…
Porém PHP é diferente uma linguagem livre, com uma grande comunidade, com uma grande empresa por tráz que é a Zend.
Um problema que ocorre é que relativamente a linha de aprendizado de PHP é baixa ou seja, qualquer pessoa com interesse em pouco tempo de estudos em PHP, acaba se “qualificando” para fazer sites com essa tecnologia.
Isso torna a visão empresarial sobre o PHP ruim, os profissionais desenvolvem projetos que acabam sendo chamados de projetos pokemons… estão sempre evoluindo e gambiarrando…
Porém PHP é sim uma boa linguagem para desenvolvimento, possuí ótimos frameworks… por exemplo CakePHP, que para um desenvolvimento rápido é uma ótima alternativa… assim como Zend Framework, um framework bem mais robusto e modelado, usando e abusando de design patterns, o que mostra que o PHP pode ser sim bem programado e arquitetado!
Salve o PHP e vida longa! Sem desmerecer outras linguagens como Python e Ruby que também são ótimas!
@Vinicius: nunca duvidei da qualidade do PHP, nem da sua longevidade. E concordo com você, principalmente em relação aos maus profissionais. “Projetos pokemons”, bom termo…
Até mais!
@JulioGreff:
Concordo com algumas coisas que você disse, porém não concordo com outros.
Uma coisa eu tenho certeza: você pecou no título do post. Esse título deixou muitos programadores PHP bravos :)
Minha Opnião
Quem faz a linguagem boa ou não é o programador.
Depende somente do programador ser bom ou não.
Abraços, Igor Cemim
Infelizmente, muitas pessoas defendem suas linguagens prediletas como se fosse religião, ou time de futebol.
A linguagem nada mais é do que uma ferramenta. Aquele que diz ser um excelente programador e só sabe usar uma única ferramenta, dificilmente será realmente um bom profissional. Principalmente hoje em dia, onde precisamos aprender coisas novas e reaprender coisas velhas a cada instante.
Ainda assim, acho que serve a lição de evitar atacar as linguagens, pois certamente, virão fanáticos com pedras e facas pra cima de você.
Mas sinceramente? Foi um grande exagero toda essa baderna por um simples artigo.
@Igor: sim, acho que errei mesmo… Foi mais carregada de opinião pessoal do que deveria.
@Pedro: pois é, acho que vou evitar falar de PHP por um tempo… Só pra evitar algum “ataque involuntário ao PHP” de minha parte. Lição aprendida… Mas pelo menos a confusão já se encerrou… Até que rendeu uma boa visitação enquanto durou.
Até mais!
Nossa, quanta viagem nesses comentários!
Programadores têm problema como interpretação de texto, não resta dúvida. Quanta distorção das tuas idéias.
Ainda bem que meu “amor” ao PHP não é tão doentio, e consegui assimilar teu artigo, cujas idéias, ao meu ver, estão bem expostas.
Tenho que testar pra valer o cakePHP. Vamos ver o quanto facilita. Parece promissor!
Um ponto que discordo, nos comentários, está no comentário do Igor: “Quem faz a linguagem boa ou não é o programador”. Cara, tu já trabalhou com ASP? Tu muda de idéia.. hehe. Tô brincando.
Abraço!
@Alex: o “amor” desse pessoal aí mais parece obsessão… Quanto ao Cake, tenho alguma poucas reclamações, mas há como conviver. Tente também outros frameworks, caso não se agrade.
Com o Igor eu tenho que concordar. Até mesmo em ASP dá pra programar bem. Só não garanto a sanidade do programador após isso…
É, pode ser.
Programar bem dá. Não dá é pra evitar comparações com outras linguagens. Nem ternário ASP tem! hehe
Tu já testou outros fw Júlio?
Abraço!
@Alex: ainda não testei outros. Em breve vou começar com Zend, e antes de escolher o Cake tinha pesquisado um pouco sobre CodeIgniter, mas não me agradei muito. Há também o Symphony, Prado, e vários outros que não me vêm a cabeça agora… Mas vai da escolha, por enquanto estou bem satisfeito com o Cake.
Religião, futebol e programação não se discute hehehe…
Brincadeiras a parte, acho que o grande problema de programadores PHP é que eles mesmos receiam em utilizar as ferramentas desenvolvidas pelo bem da linguagem, pessas mais radicais sempre querem inventar soluções e a framework não vem somente para ter soluções já prontas, mas também para seguirmos uma linha de desenvolvimento, padrões de código que ela oferece e que muitos podem usar e participar.
Trabalho em uma equipe de PHP que receia bastante, tanto que tentei aplicar nos projetos aqui o cake mas a linha aqui é criar uma framework própria, que no final das contas está similar ao cake.
Não entendo o por que disto, sendo que a força da linguagem está nos seus carros chefes, como Media Wiki, cakePHP, Zend, Drupal, Wordpress e muitos outros projetos que faz o PHP ser a maravilha que é – comunidade ativa e criando soluções open source.
Já programava em php e comecei a aprender o ruby e consequentemente o Rails, não me dei bem com a sintaxe, mas gostei do uso do MVC, então quando achei o cakePHP minhas necessidades foram todas supridas. A flexibilidade dela é muito boa, por que apesar da framework javascript nativa ser o prototype, dá para usar o jQuery sem problemas, pois é a biblioteca que trabalho e vivo.
Boa noite Julio,
Apesar de ser um “adolescente” sua cabeça anda mais evoluída que de muitos “marmanjos”. Isto não é uma afirmativa (refiro-me a sua idade) pois não te conheço para falar tal coisa.
Quanto ao python, dei uma “pulada de gato pingado” nela e achei “limpa”.
Já tiro uma grana com php tem um tempo, programo na linguagem tem um bom tempo e já uso algumas boas libs e posso te falar que a única problemática que o PHP enfrenta é a “prostituição do mercado”, por que?
Por que alguns imbecis vendem oscommerce por 100 reais dizendo ser uma loja virtual feita a mão, ou mesmo, wordpress como blog pronto (joomla nem se fala se o assunto é site mesmo). O que precisa ser feito é uma reavaliação técnica de cada programador (ou POGamador) e comparar o seu nível ao dos melhores do mercado e cobrar por isso.
Já conheci pessoas extremamente dominadoras de php que chegam a cobrar 80 reais por hora trabalhada em php, sendo que cobro 30 (por que ainda não sou um dominador). A realidade que classifico aqui é:
NÃO IMPORTA COM QUE LÂMINA você vai cortar o pão que o patrão pediu, podendo ser desde uma faca de passar manteiga em pães até mesmo um robusto e poderoso Cortador de Árvores, O que vale é deixar pronto!
Ouvi falar muito bem do ror e python, e diga-se de passagem, irão crescer muito, mas PHP ainda é o “queridinho” quando o quesito é portabilidade (esqueça o asp, asp.net, e demais da M$).
Bem, sem mais, só deixo claro que estou gostando de seu blog (vi um post sobre sair do comodismo) e afirmo estar gostando.
Muita sorte na vida para você e continue gerando polêmica por que pelo menos pagerank você terá. (rsrsrs)
Deus te abençoe.
@little_oak: é, a prostituição de mercado prejudica todos os desenvolvedores web, não só quem trabalha com PHP. Também concordo com você que o PHP ainda tem um bom tempo de vida como linguagem dominante no mercado por aqui, mas acho que ninguém pode dizer por quanto tempo ainda. E que bom que gostou do blog! Sempre que quiser apareça por aqui! Até mais!
Programo em ColdFusion à um bom tempo (mais de 6 anos) e apesar de ser uma linguagem muito produtiva para a web, confesso que já estava ficando enjoado das tags do CF, além da questão de mercado que aqui no Brasil é muito, mas muito restrita… (alguém mais além dos Correios, tem CF?); no entanto apesar de gostar de PHP, sempre achei o desenvolvimento na linguagem muito trabalhoso, complexo e nada amigável, sempre me desanimando em aprofundar meus conhecimentos nela; só depois de ter conhecido o CodeIgniter, é que consegui me reanimar em voltar a estudar PHP e a me envolver em projetos em que o PHP poderia ser uma opção…
Realmente concordo com vc, quando afirma que bem mais do que defendermos de forma veemente linguagens ou padrões, o que importa no final das contas é o que dá mais resultado em menos tempo; coloque um ponto a mais na afirmativa, se a ferramenta de desenvolvimento for free.. (CF não é.. rsrsrrs) e com relação à sua afirmação de o profissional desenvolvedor ser um cara de solução e não um especialista na ferramenta A B ou C, tb concordo com vc: mais do que especialistas, o mercado valoriza quem provê soluções… sejam elas escritas em quaisquer linguagens.
Parabéns pelo site!
@Rafael: obrigado pelo comentário, gostei de ler a opinião de alguém que vem de outra linguagem, bem fora das que estão mais em foco no momento. Pra você que trabalha com CF, baseado em tags, deve ter sido barra passar pro PHP… Em relação à ser open-source, é algo que não me passou pela cabeça comentar: se é grátis, é óbvio que a comunidade ao redor tende a ser maior, aumentando a aceitação no mercado, aumentando o número de desenvolvedores, aumentando as soluções prontas, e consequentemente a nossa produtividade.
Até mais!
Estava procurando outra coisa e achei esse site…
Queria deixar minha idéia também, sei que o BLOG é seu e você tem direito de escrever o que quiser, mas ficou bem estranho a forma como foi escrito, o título (que me chamou atenção) e a maioria do texto, não bate com a idéia que você está usando para se defender (o erro é dos programadores e não da linguagem).
Primeiramente quero deixar claro a minha opnião:
- PHP é uma ótima linguaguagem
- Frameworks são produtivos, mas isso faz com que existam muitos programadores péssimos no mercado, pois com muitos frameworks podemos criar sistemas simples sem um mínimo aceitável de conhecimento em programação.
- Códigos ’sujos’ não é culpa de ($), ou de ‘->’, se faz com lógicas ruins e programadores ruins, se com Ruby ou Python, podemos fazer xy, e no PHP não (acho dificil), crie você mesmo, por exemplo na última empresa que eu trabalhei, criamos nosso próprio framework com a base do Code Igniter, não tem nada que uma linguagem tenha que outra também não possa ter e programador de verdade gosta de desafios e não importa a linguagem, consegue fazer qualquer coisa.
ps. achei bem legal o fato de você ter 16 anos e ser da área, só estou dando essa dica para que você melhore a forma de expor as idéias (mesmo sendo SEU blog).
pps. não sei se a forma em que escrevi não está passando a idéa correta (mesmo erro do seu artigo hehehe)
Alantiel Freire Marins
Programador (xyz)
Julio..arrumaste uma forma fácil de conseguir visitas né?
Agora entendi porque criticaste o PHP.
Fique com as suas linguagens cool enquanto programadores de verdade fazem sistemas de verdade.
Abraço! :)
acho q o rapazinho dono do blog aí deve ter feito um curso de Visual Studio, e aprendeu a clicar e arrastar módulos de .NET e em 20 minutos fazer surgir uma loja virtual, e agora acha q eh programador. Mas como não existe nenhuma ferramenta “drag-and-drop” pra programação PHP, ele acha que PHP eh medíocre, que php eh difícil (pq eh uma complexidade enooooooooooorme colocar “;” ao final de cada linha, eh uma tortura imeeeeeeeeeeeeeeeeeensa usar algum elemento de algum objeto usando “->” ao invés de “.”). Que mundo crueeeeeeeeeeeeeeeeeeeeeeeeeeel! ¬¬
Olha só, encontrei esse post por referência do post “7 coisas que todo desenvolvedor web deveria saber”.
E por não ter gostado do título, fiquei tão curioso que fui O-B-R-I-G-A-D-O a ler todos os comentários.
Enfim, gosto é igual a….cada um tem o seu.
Veja só, eu gosto da sintaxe do PHP principalmente por ele identificar facilmente o que é uma variável com o sinal de maior valor “$”.
Também gosto de podermos utilizar algumas funções sem termos que usar os ()´s
Como já disseram nos comentários, o JavaScript e o PHP seguem a mesma linha do C e possuem muitas semelhanças.
Ok, o ; enche o saco. Mas em compensação podemos criar alguns scripts em apenas uma só linha.
Mas e o document.write do javascript? Nada como um rsrs
obs: posts polêmicos trazem pageRank tsc tsc
obs2: continuo lendo os feeds deste blog sim!
Sintaxe terrível é do ASP, isso sim que é um saco!
E acreditem, esse ASP possui OOP e até FrameWork
Mais uma opinião!
Abs
(o Wordpress cortou um pedaço do meu comment)
Eu disse:
(…)Mas e o document.write do javascript? nada como um <?=$variavel?> rsrs(…)
@Klaus: na verdade não pensava em buscar visitas com esse post, embora ele tenha se tornado o mais popular aqui do blog. Me expressei mal, principalmente no título, e daí surgiu a polêmica.
@Guilherme: não que isso lhe diga respeito, mas NUNCA usei nenhuma ferramente de Drag&Drop para programar, e abomino tal prática. Talvez antes de criticar você faça um checkout do Spaghetti e me diga se isso poderia algum dia ser criado por algum programador desses que você se refere.
@Leo: novamente digo, que bom que existe gente que discute civilizadamente =) E uma coisa: JavaScript e Ruby, as outras linguagens que gosto, são muito melhores para scripts de uma linha. Quanto ao ASP, tem louco pra tudo…
Uma coisa que aprendi recentemente é de que discutir sobre Linguagens de Programação, Política e Religião não leva a lugar algum, em todos os lugares ainda existirão os empiristas. Uma outra coisa também é de que quem faz a linguagem é o programador, o cara pode programar em PHP e fazer muita porcaria, ou muita coisa boa também, como em .NET, até hoje vi pouquíssimas pessoas fazerem alguma coisa que preste em .NET. Parabéns pelo post. Abraços.
Cara, vou baixar o Spaghetti aki, e se eu gostar, tenha certeza que eu vou atormentar a vida de todo mundo aqui da minha equipe pra adotar o seu framework, pois estávamos tentando aprender codeIgniter, mas por falta de tempo não conseguimos parar para nos aprimorar no mesmo. De qualquer forma, eu não te conheço, e não entrei no seu blog para julgar a sua capacidade ou competência, mas as suas afirmações são típicas de programadores .NET, que acham que somente o .NET prestam e que qualquer outra linguagem só existe para contrariar a “gloriosa” microsoft.
Acho SIM muito interessante discussões sobre programação, pois isso abre as nossas cabeças com novos pontos de vista, o que nos torna menos bitolados (o que diferencia drag-and-droppers e programadores de verdade.).
A minha única queixa sobre os seus comentários, são coisas do tipo “O PHP não é a linguagem mais “cool” para se desenvolver para web no momento. Outras linguagens estão tomando o posto por serem mais compatíveis com o ambiente web que temos hoje. Um dos fatores que mais influencia nessa “tomada de território” é a agilidade no desenvolvimento que, aliado aos frameworks dessas linguagens, tornam o PHP quase obsoleto. Há como manter o PHP a pelo menos um nível competitivo com essas linguagens?”… cara, como vc faz um framework pra php, e diz q o php tah perdendo espaço para Ruby e Python? Ferramentas como Twitter e Boobox ameaçaram migrar do ruby pro php e vc diz que o php está perdendo mercado? me cite outras ferramentas e aplicações famosas que foram desenvolvidas em Ruby e ou Python? tem mais aplicações em RoR e Python do que em PHP?
Sem contar o fato de vc dizer que o php tem uma sintaxe suja, por causa dos “->” e dos “;” ao final de cada instrução… cara, no seu framework eu não vou precisar utilizar “;” nem “->” no meu código? vc conseguiu mudar isso na sintaxe do PHP?
De qualquer forma, eu acho que vc foi no mínimo “infeliz” na hora de criticar a linguagem, pois não há linguagens melhores ou piores… TODAS ELAS tem suas vantagens (.NET pela robustez, Ruby pela praticidade da sintaxe…) e limitações, o que torna um projeto bem feito independente da linguagem é o programador. =]
E SIM, estou assinando seu feed, vai q eu pego mais dicas de como usar o Spaghetti! XD
abraços
@Pedro: com esse post acabei descobrindo que esse tipo de discussão, quando se têm os xiitas na história, não leva a nada além de discussão sem resultado. E realmente, pode-se fazer merda em qualquer linguagem…
@Guilherme: desculpe se lhe pareço um programador .NET, eu estava em um mal dia quando escrevi o artigo =) Não sou nem um pouco bitolado nesse sentido, já usei até ASP por um tempo. CFML, Perl, Ruby, Python, C, Java, de todas eu sei um pouco (às vezes muito, muito pouco). Fiz um framework pra PHP justamente porque é o mercado onde trabalho, e Ruby/Python/JS não tem muita importância por aqui. Se não pode com o inimigo, junte-se a ele! Apesar do título do artigo, minha intenção não era criticar o PHP (mas meu gosto acabou transparecendo, como se nota), mas sim os desenvolvedores. Nos comentários sim, mas não disse que PHP é de todo o mal, mas PARA MIM faria mais sentido Ruby ou JS, pois o PHP carece de uma boa implementação OO. E fique tranquilo, logo posto mais sobre o Spaghetti =) Se precisar de alguma coisa, sinta-se livre pra entrar em contato!
Até mais!
Então seu Julio, a maioria das pessoas (não estou citando vc evidentemente) criticam muito o PHP, dizendo que ele é engessado, não tem suporte à OO, é lenta, eh complicada… mas a maioria delas só programa em PHP4 (que já foi extinto). Mas as pessoas que conhecem o PHP5 (que mto embora ainda não é um .NET, mas tem os seus encantos), sabem que o suporte à POO veio com força total, onde foi inserido o suporte à interfaces, de herança, de clonagem, reflexão entre outros. Sem contar os métodos mágicos (De destruição, Construção, de autocarregamento de classes, de clonagem de objetos…). Certamente, a versão 6 do PHP virá com mais melhorias, tanto na linguagem quanto em OO. Assim como o Suporte a XML também evoluiu bastante, além do surgimento de Design Patterns =]
@Guilherme: concordo com você, o PHP6 pode ser muito interessante. Sou um dos que aguarda isso, já que por um bom tempo PHP será minha linguagem de trabalho. O problema do PHP6 será o mesmo do PHP5: aceitação. Mas aguardamos novidades =]
Concordo com você.
Eu trabalho com o framework PHP symfony, mas faço frees em Ruby on Rails. A diferença de tecnologia é imensa, ainda mais quando se leva em conta a produtividade, padronização e resultados.
O PHP ainda tem uma longa evolução a ser feita, a sua orientação a objetos tem vários problemas de design, e nem todos os padrões foram implementados ainda. O framework symfony por usa vez está em um momento de definição de padrão, existe muitos bugs sérios e algumas tecnologias empregadas em suas estrutura agregam burocracia demais para um framework focado em desenvolvimento ágil.
Eu ficou com o Ruby on Rails, estudo a fundo a sua estrutura e até agora só fiquei feliz com tudo que vi.
Abraço.
@Patrick: não sei se a orientação a objetos do PHP pode ser chamada de OO… Isso aumenta muito a “burocracia” de código, principalmente para frameworks (trabalhando no Spaghetti sente-se muito isso). Entre PHP e Ruby? Ruby pra produtividade, mas o PHP AINDA domina o mercado. Talvez o PHP 6 me faça mudar de idéia…
Ae Júlio, você parece ser um cara bacana e muito esforçado :) valorizo bastante sua iniciativa e vou dar uma olhada no seu Spaghetti*.
Cheguei no seu blog pelo artigo http://juliogreff.net/historico-para-navegacao-via-javascript
Pessoas… PHP é a melhor linguagem que existe para a web. MUITO leve e EXTREMAMENTE rápida!! Tem uma porrada de funções bult-in excelentes. A sintaxe fácil e similar ao Javascript já agiliza e facilita a programação dos projetos web. Muito incoerente afirmar que não gosta da sintaxe do PHP e gosta de usar o CakePHP… ora, a SINTAXE É A MESMA !!!! Cara, você CONTINUA usando $ ; -> etc…
Além disso (eu já usei o CakePHP e pedi pra sair) não compensa usar o Cake e ter que fazer VÁRIOS arquivos para APENAS UMA página web, ou seja… enquanto que no PHP normal você cria por exemplo apenas o arquivo assinantes.php e nele coloca TODA a lógica de inserção/edição/exclusão e qualquer outra coisa, podendo inclusive ter 1 ou 2 arquivos extras na forma de include… na droga do CakePHP você precisa criar NO MÍNIMO 6 arquivos em 3 diretórios… criar o arquivo assinante.php no diretório models, criar o arquivo assinantes_controller.php no diretório controllers… e por fim dentro do diretório views criar o diretório assinantes e dentro dele criar um arquivo para cada função existente no controller, ou seja, deve criar o arquivo index.ctp (para listar assinantes), ver.ctp (para ver dados de um assinante), editar.ctp (dã para editar) e novo.ctp (para inserir).
Sem contar que você precisa “reaprender PHP” pois para inserir uma simples imagem devemos usar $html->image(“novo.gif”, array(“alt” => “Novo”,”border” => “0″,”width” => “50″,”height” => “30″)) Onde está a rapidez nisso?? Por quê não usar apenas <img src=”novo.gif” border=”0″ width=”50″ height=”30″ />
Para inserir um simples link devemos usar $html->link(“Texto do link”, “/controller_de_destino/acao_do_controller”) Fala sério!!
Sem contar os intermináveis arrays dentro de arrays dentros dos arrays que estão nos arrays recursivamente recursivos. Antes que pensem bobagem…. SIM eu entendo a lógica e sei como funciona, entendo perfeitamente arrays recursivos até os uso em 2 ou 3 níveis, mas o Cake exagera e fica uma droga!
A única vantagem real em utilizar o Cake é que dá pra traduzir o site inteiro com apenas um click se você utilizar a internacionalização através da função especial __() e configurando corretamento o arquivo app/locale/pt_br/LC_MESSAGES/default.po .É bem chato/trabalhoso, inclusive com as mensagens de erro do array $validate no model e sua exibição em $form->input() na view, mas o esforço vale a pena.
Enfim, prefiro continuar usando minhas classes próprias (algumas baseadas em classes já existentes), minha própria abstração de BD (que hoje aceita perfeitamente MySQL, Postgree, Oracle e SQL Server), e minhas próprias e valiosas funções de validação de dados, ajax, tratamento de erros… já estou BEM acostumado, são leves, funcionam perfeitamente e posso adaptar em casos específicos de projetos de clientes chatos.
Modéstia a parte, sou inteligente, minha lógica de programação em PHP e JS e ótima e pude comprovar por benchmarks de tempo de execução que TODOS os meus códigos são mais rápidos que os existentes por aí, principalmente no PHPClasses.org .
Já sou ótimo programador PHP e não preciso reaprender PHP para me adaptar às convençoes do Cake.
Como programador devo dominar a linguagem e fazer com que ELA trabalhe por mim, se adaptando ao meu estilo!
Já me dá raiva quando a droga do cliente fica dando pitaco no projeto… fica uma m. mas ok ele tá pagando (já que ele sabe tanto pq não faz sozinho? ainda largo essa porcaria vida e faço um site de serviços online, que se venda sozinho e eu ganhe nas mensalidades e os atendimentos sejam apenas por chat e tickets MEU SONHO !!!!).
Imaginei que um Framework fosse me ajudar, mas apenas me atrapalhou e muito.
Talvez se eu começar a programar em Ruby, pelo fato de ainda não conhecer a linguagem evidentemente o Framework Rails só vai me ajudar e não deverei programar sem ele.
Por fim, TODOS os trabalhos que desenvolvi em cake atrasaram no prazo.
Concluindo, se você é programador INICIANTE ou mediano em PHP, busque algum framework que talvez você se beneficie, mas se você é um programador avançado (de verdade), TALVEZ você se frustre, mas VALE A PENA TENTAR, pois se você se adaptar ao Framework, certamente será ótimo para você.
Vou tentar o Spaghetti*… quem sabe me ajuda, só li elogios.
Em tempo, ASP SUCKS !!! A única coisa em toda a minha vida que eu já encontrei em ASP que vale ser aproveitado é a Loja da Locaweb, masssss não toda, claro, porque o código da loja é uma bos. todo mal estruturado, mal escrito e super pesado. A única coisa que se aproveita daquela bos… toda é a programação de frete e dos pagamentos pois tá tudo pronto e funcionam perfeitamente, INFELIZMENTE já tive a oportunidade de testá-los UMA VEZ (nossa foi horrível porque o chato do cliente fazia questão) mas também meti o PagSeguro naquela por.. como meu afiliado e ganhei 1% em tudo que ele vendeu :)
Logicamente eu desenvolvo a Loja TODA EM PHP e mando o chato do cliente contratar o Gateway de Pagamento e faço toda a integração SEM PROBLEMA usando PHP :) .
PS: micox tem meu profundo respeito, ele é o cara mais conhecedor de JS que eu já vi.
Vejam só a versão mais recente deste script FANTÁSTICO que ele fez para usar ajax no site:
http://www.webly.com.br/Micox/ajaxGo.htm
Valeu!
T+
Voltando ao tópico depois de vários anos…
ô Júlio, apaga este monte de fanboy virgem aí que não sabe receber críticas.
Deixa só as críticas inteligentes.
Fico imaginando: se o cara não sabe interpretar um texto e receber críticas pra linguagem de programação que ele usa, imagina se um chefe critica ele no serviço? Ele se mata (ou vira purpurina).
Virgens… tsc tsc tsc
Apaga ae pra deixar os comments mais limpos. O artigo está bom e os comentários inteligentes também.
PS.: Antes que apareça algum virgem aqui pra me criticar, digo que a linguagem server-side que uso é PHP. Não sei nenhuma outra.
PS.2: PHP é meio suja sim. Exemplos:
1) str_replace e strlen – que padronização é esta onde uma função tem underline separando palavras e a outra não?
2) strpos e str_replace – Na primeira a string original é o primeiro parâmetro. Na segunda a string original é o terceiro parametro.
OK Micox, sugestão aceita. Revisei os comentários e apaguei bastante coisa. Acredito que torne a leitura um pouco melhor agora.
Valeu.
Não liguem pro nome, apenas uma provocação ao sujeito aí, rsrsrs.
Estou escrevendo que gostei do blog, sou iniciante em linguagens de programação, e para web estou começeando com PHP.
Uma das grandes dúvidas para os iniciantes seria: Ainda valem a pena começar e investir em PHP.
Então fica aí uma sugestão para seu práximo tema. Estou aguardando, ehehehe.