Seções iMasters
PHP

Por que o PHP era um gueto?

Texto original disponível em http://codefury.net/2011/04/why-php-was-a-ghetto/ 

?

Eu estava conversando com o
fundador de uma start-up bem legal em DUMBO outro dia sobre o porquê de o mundo do
desenvolvimento “não-PHP” ter tanto desdém pelo PHP e pela comunidade em volta
dele. Ele trouxe um ponto interessante que ficou na minha cabeça,
principalmente porque nunca o tinha ouvido antes.

Se você não está a par da
antipatia que a maioria dos desenvolvedores tem pelo PHP, ela geralmente gira
em torno de:

  1. Sintaxe feia
  2. Falta de alguns
    recursos necessários que outras linguagens têm (antes da 5.3, namespacing,
    closures)
  3. Nomeação de
    funções, usos e outras peculiaridades inconsistentes
  4. Mistura de código procedural e orientado a objetos
  5. O fato de 80-90%
    dos projetos PHP serem grandes porcarias

Mas o problema dele com o PHP
era um pouco diferente. Ele não disse que a linguagem em si era pobre – ele
disse que era a cultura geral em volta da linguagem, que é geralmente
reverenciada pelo criador da linguagem, que parece ter encorajado praticas
ruins. Isto é, as bases de código do PHP tendem a ser insustentáveis.

O conceito de que a
comunidade de certa linguagem ou framework carrega a filosofia do autor parece
ser verdade. Ele mencionou Ruby e Matz.
Matz queria que a linguagem fosse simples para ler e escrever, e aumentasse a
produtividade do programador. Os programadores de Ruby não parecem desenvolver um
aplicativo rapidamente e com elegância?

Então o DHH e o Rails surgiram. E depois o Guido e o Python. Aí eu pensei: e o Rasmus?

Rasmus Lerdorf é uma figura
interessante. Ele criou a versão original do PHP, continua a contribuir com
ela, é vastamente considerado um semideus na comunidade e a autoridade em tudo
o que diz respeito a PHP. Ele rouba a atenção de um grande número de
pessoas nas conferências, é contratado por grandes lugares da internet
e ganha o respeito de todos, apesar de uma
propriedade ofuscante: Rasmus representa tudo que a maioria dos
desenvolvedores “não-PHP” odeiam no PHP.

Ele geralmente promove a
abstenção de uso de frameworks, e o uso do PHP como uma linguagem de template. Para ele, isso se traduz em velocidade pura e escalabilidade (no
que diz respeito ao carregamento). Para todos os outros, isso se traduz em pilhas de código procedural macarrônico e projetos de manutenção impossível. Durante os
10 anos difíceis que se seguiram ao nascimento do PHP, em 1995, era dessa
maneira que os projetos eram escritos.

Mas outro problema surgiu:
durante seus anos adolescentes (antes do 5.0), o PHP ganhou sérios adeptos
entre os novatos. A linguagem tem uma barreira de entrada muito baixa, então
qualquer pessoa poderia começar em 2 minutos ao fazer o download de uma pilha AMP para Windows. Adicionalmente, a aceitação do paradigma MVC
não tinha ainda acontecido no desenvolvimento web. O que você tem quando
mistura n00bs com uma grande falta de práticas boas? Lixo insustentável. E foi
isso que proliferou.

Não me entenda mal – existiam
alguns desenvolvedores PHP muito bons por aí, mesmo naquele tempo. Mas como eu
disse, n00bs não refinados estavam por aí. Quando desenvolvedores PHP sem
escrúpulos se reuniam para construir um projeto, ele saía parecendo com PHPbb,
PHPNuke ou alguma outra massa deformada de arquivos .php3. Mas podemos culpar
unicamente os desenvolvedores PHP? Não! As outras grandes linguagens web, ASP e
Perl, também eram nojentas e promoviam as mesmas práticas de código macarrônico.

Então por que o PHP ficou com
a má reputação? Por causa do seu legado. A maioria dos desenvolvedores antigos
de PHP que migrou para Python, Ruby, e Java não olhou para trás para ver
que tipo de desenvolvimento aconteceu na linguagem desde a introdução do MVC na
web. Além disso, existiam criticas extremamente sinceras como “o cara Ruby” Zed
Shaw, reclamando de desenvolvedores com “o cérebro infectado com PHP”, e a
distribuição de coisas como essa no RubyInside.

PHP era um gueto.

Mas o desenvolvimento de
frameworks como Zend e CodeIgniter empurrou o desenvolvimento da linguagem
para a direção certa. Na verdade, ela foi empurrada na direção oposta que o
Rasmus gostaria. Dê uma olhada nos frameworks Zend e CodeIgniter e me diga se
não são alguns dos códigos mais bem documentados e bem escritos que você já viu.

Quando a maioria dos
desenvolvedores aprendeu o Ruby, eles estavam aprendendo Rails e MVC ao mesmo
tempo. O PHP estava em uso por longos 10 anos antes disso. Então na verdade não
existiu um período de tempo quando o hediondo Ruby estava sendo escrito por
novatos. Existia um padrão já estabelecido para o Rails, e sua barreira de
entrada era muito maior, mantendo, assim, desenvolvedores menos experientes do
lado de fora.

O fato é que aplicações PHP
podem ser tão bem escritas como aplicações em qualquer outra linguagem, e elas provavelmente
têm a vantagem adicional da velocidade. O vasto uso do desenvolvimento no
estilo MVC no mundo PHP é um fenômeno relativamente recente, e admito que
podemos agradecer o Rails por isso.

Então o que o PHP tem a seu
favor agora?

  1. Padrões (não universais,
    mas geralmente com uma pitada de MVC para a maioria dos projetos, e pouca
    porcaria procedural)
  2. Uma barreira de
    entrada muito baixa
  3. Velocidade &
    Escalabilidade (talvez os melhores entre linguagens baseadas em script)
  4. Um ótimo framework
    para unidades de teste
  5. Tem a melhor
    documentação que qualquer linguagem  

Além disso, ela está por trás
de alguns dos websites e ferramentas mais influentes de hoje, como Facebook,
Digg, Wikipedia, WordPress, Drupal etc. Aposto que um entendimento sólido
sobre o PHP pode abrir mais portas para um desenvolvedor do que qualquer outra
linguagem.

Se você não concorda com o
que eu disse acima, comente este post – eu gostaria de
ouvir porque você não concorda.

Eu não sou fã do PHP – na
verdade, eu sou bastante agnóstico no que diz respeito a linguagens. Eu
escrevo mais em PHP porque, você adivinhou, as pessoas me pagam para isso. Tudo
se resume a isto: se
você é capaz de tomar decisões inteligentes no que diz respeito a design de
softwares, o PHP é uma ótima escolha para construir sua aplicação.

Falando nisso, se eu te
convenci a escrever sua nova aplicação web em PHP, dê uma olhada no CodeIgniter.
É
um framework leve e super rápido para PHP
. No que diz respeito ao CodeIgniter, sou fã.

 

Mensagem do anunciante:

Aprenda WordPress de uma vez por todas com os cursos especializados em WP do Apiki WP Cursos. Conheça!

Comente também

129 Comentários

Eric Platas

Estou usando CodeIgniter hoje depois de começar a estudar Zend e confesso que não vejo muita necessidade de aprender um Framework tão complexo agora.

O CodeIngiter até onde vi não teve nenhuma limitação, foi extremamente simples e prático de usar, eu descordo do argumento de ele ser limitado.

Eu quero aprender o Zend para projetos mais sofisticados, mais confesso que na maior parte dos casos o CodeIgniter é o mais indicado e atende a necessidade.

    Sidney Lins

    Também estudei Zend, mas não vejo nenhum motivo de usá-lo. Acho muito pesado e não muito “direto ao ponto”.

    Agora trabalho com Yii Framework. É simplesmente maravilhoso. Aumentou minha produtividade em uns 10.000%! (rss, tá, menos). Mas em todos os comparativos que já li e que já fiz ele se saiu realmente melhor, incluindo: performance, scaffolding, segurança, extensibilidade, configuração e outros.

    Em 3 minutos já tenho um sistema MVC implantado e funcional. Em 6 minutos tenho o mesmo sistema já com o CRUD de muitas entidades devidamente concluído e funcional. Nunca vi nada igual. E olha que já muita coisa por aí.

    Fica a dica.
    http://www.yiiframework.com
    https://groups.google.com/forum/#!forum/yii-framework-brasil

    Gustavo Sá

    Estou com você amigo.. decidi aprender algum framework a algumas semanas, e confesso que sofri mais que suvaco de aleijado tentando me “habituar” ao zend.

    Apanhei tanto na configuração do ambiente do projeto, melindres do bootstrap, etc etc etc, que fui procurar outro framework mais light para eu me acostumar com a mudança de paradigma..

    Eis que encontrei o codeIgniter.. por enquanto tem sido perfeito pra mim.. nao encontrei nada ainda que nao me atenda.

    Tambem gostei muito do cakePhp e do Spaghetti* (projeto brazuka meio ‘clonado’ do cake).. mas por enquanto fico com o codeIgniter mesmo..

    Abração

elir

Eu sou fan da linguagem PHP, na minha opnião o fato da linguagem PHP 5.0 usar MVC, obriga nos desenvolvedores a seguir um critério de deixar os seus códigos mais legiveis, eu antes detestava a programação orientada a objeto mas com o passar do tempo vi que a as empresas se preocupam muito com a perfomance e a qualidade do seu aplicativo e prefiro esta forma de si trabalhar.

    Luciano Lima

    O PHP 5 não usa MVC. MVC é um design pattern utilizado pela grande maioria dos Frameworks para PHP. E é por eles utilizarem esse design pattern que ajuda na qualidade final do código produzido.

Jean

Também gostava muito do Codeigniter, mas depois que conheci o kohana(http://kohanaframework.org/), prefiro ele principalmente por estar trabalhando totalmente em php5 e também um muitas facilidades que o Codeigniter já trazia.

    Luciano Lima

    Eu comecei com o Kohana e atualmente na empresa que eu estou, utilizo o CI porque se tratar de escolha para os projetos. E com certeza, o Kohana está muito melhor escrito que o CI. Mais atualizado, mais completo e como você citou, todo feito em PHP5 OO.
    Quero agora aprender o Symphony, aparentemente a nova versão veio para deixar todos os outros Frameworks no chinelo.

    Eric Platas

    Tambem queria aprender symphone, mas não acho material de estudo, só o do proprio site que meio complicado e os daqui do imasters que estão começando agora.

    Se acha me passa!!!!!!!!!!!

    Vlw.

    Rafael Dohms

    ok, só pra facilitar o pessoal achar na web depois, o frameworj se chama: Symfony , com f e dois Y :P

    http://symfony.com/

    Daniel Lima dos Anjos Pinheiro

    “A linguagem tem uma barreira de entrada muito baixa, então qualquer pessoa poderia começar em 2 minutos ao fazer o download de uma pilha AMP para Windows” … =)

Newerton Araújo

Legal o artigo!

Digamos que existe 2 PHP!
Antes da v.5 e depois da v.5

Digo que antes da versão 5, eu era um programador!
Após a versão 5, se como qualquer programador, deseja ser profissional, tem que ESTUDAR.

Com menos de 6 anos, já sou um Programador Sênior em PHP, não sou expert no assunto, mais eu supro as minhas nescessidade com mais qualidade.

E o uso de um bom framework, para ajuda na escabilidade e manutenção é o essêncial.
Recomento o uso o Yii Framework, está no mesmo patamar que o Zend e CI, ou eu mesmo tiro minha conclusão que é o melhor da atualidade.

    Luciano Lima

    Bom, se o Yii é o melhor eu não sei (alguns dizem que é o Symphony), mas com certeza ele deve estar melhor que o CodeIgniter. Tem um bom tempo que eles não fazem uma grande mudança no FW.
    Tenho usado o Kohana (uso próprio) e CI (no trabalho) e sinto como o Kohana está superior ao CI em relação a código e funcionalidades.

    E acho que o que você falou é de fato a realidade. Programadores antigos que aprenderam a linguagem numa determinada realidade, insistem em programar do jeito que aprenderam a anos atrás. Isso que está atrapalhando tudo.

Prefiro usar PHP com padrão MVC mais sem framework !!!!!!

    Rodrigo de Souza

    Concordo com você!

    Rafael Ribeiro

    Você escreve alguns códigos como validar CPF, valores numéricos, envio de e-mail e usa essas classes/arquivos em todos os seus projetos como base. Isso é o conceito de framework. Na prática você um framework. Paupérrimo, mas um framework.

    Paulo Diego de Oliveira Bezerra Cavalcanti

    Também concordo, particularmente não uso framework. Tenho meus próprios códigos que aproveito em diversos projetos!!

    Paulo Diego de Oliveira Bezerra Cavalcanti

    Outro detalhe, gosto muito do Smarty.

    joao

    É ISSO AE! REINVENTAR A RODA

    Artur Luiz da Silva Oliveira

    Não é bem reinventar a roda, mas é descobri como ela funciona para depois melhora-la.

    ;)

Rasmus

O maior problema do PHP são as pessoas que desenvolvem seu core.

A linguagem deu um salto quando a Zend passou a contribuir com o projeto, por ser uma empresa com objetivos definidos e foco no mercado. Mas quando quem tem boas idéias tem que concorrer com gente que acha mais prioritário implementar goto (quem é Dijkstra para dizer como eu devo programar?) do que criar alguma forma de anotação oficial, a coisa dá passos para trás e uns 3 frameworks começam a enfiar annotations no meio dos comentários.

Welington Silva

Engraçado que a maior rede social do mundo é feita em php. E é um sistema perfeito. http://wsilva.com.br

    Jean Nascimento

    Isso ninguém fala neh?

    Claudson Oliveira

    Bom, o fato do Facebook ser desenvolvido em php é de fato, um orgulho para o gueto (eu faço parte desse grupo rs). Mas é importante deixar claro que o php daquela empresa é totalmente diferente do php que usamos em nossos projetos e isso não é a toa. Para grandes aplicações a linguagem sofre um bocado com performance.

    joao

    a interface do facebook é php, por trás é C e Java

    Thiago Luiz Alves

    “a interface do facebook é php, por trás é C e Java” ??? rsrsrs

    Artur Luiz da Silva Oliveira

    C ainda aceita, mas JAVA?

    Me manda algum artigo falando isso ai. ;)

    Augusto César

    na realidade o facebook é todo em php, eles criaram um compilador para a linguagem que transforma seu codigo em c, vc pode baixar o compilador se quiser.

João Gabriel Casteluber Laass

Posso concordar na maioria do artigo, mas o item 5 não é verdade:
5. Tem a melhor documentação que qualquer linguagem

Estude a documentação do Perl via linha de comando. Melhor que isso impossível.

    eu descordo de voce, mostre na web a documentacao do Perl, pelo menos um dicionario de funcoes como o php possui…

    Marcelo Rodrigues

    Para você pode ser, mas para a maioria, é inegável que é a melhor documentação. Mostra o básico, exemplos e melhor, comentada pela própria comunidade.

    Desculpe, mas a do Perl era horrível. E se é boa hoje, é obrigação fazê-la assim, dada a idade da linguagem.

    Paulo Luvisoto

    Não existe linguagem mais documentada do que o PHP.

    Artur Luiz da Silva Oliveira

    Eu não conheço a documentação das outras linguagens, mas a do PHP nunca me deixou na mão.

Igor Escobar

Muito legal o texto, Kenny. Um dos melhores que li esta semana. Vislumbra alguns pontos que eu também nunca tinha ouvido ninguém apontar.

William Bruno

O importante não é a ferramenta(linguagens), mas sim saber fazer o trabalho(saber programar).

Só tenho um ‘pé atrás’, qndo começam com essa de ‘código estruturado é porco’.

No dia em que perceberem, que o paradigma ‘estruturado’ sempre vai existir nas linguagens 100% OO, então poderemos conversar melhor a respeito.

    Marcelo Rodrigues

    Você está confundindo “estrutura” com “estruturado”. Estrutura (loops, condicionais, etc), sempre existirá.

    Programar estruturado, ou seja, um belo script só procedimentos, não é que seja porco, é difícil de manter apenas. Você pode programar bem estruturadamente, mas a grande maioria, não.

    concordo plenamente

    Artur Luiz da Silva Oliveira

    Resumindo toda a história, não é a linguagem que faz um bom projeto e sim os seus desenvolvedores.

Vitor Luiz Rubio

Eu ouço meus amigos de Asp.net falar mal do PHP, os de Java falam mau também, os de Ruby ….. também …
Nunca entendi porque. O PHP é orientado a objeto e tem qualquer recurso que qualquer outra linguagem tem.
Não programo em PHP e não sou fã da linguagem, mas não tenho nada contra.

    Daniel Lima dos Anjos Pinheiro

    Na verdade, em OOP o PHP ainda falta muita coisa. Vou falar algumas que me veio à mente agora:
    Definição de atributos como objetos
    Sobrecarga de métodos
    Type hinting muitooooooooo pobre

    Definição de atributos como objetos
    Sobrecarga de métodos

    ja existe…a nao ser q vc tenha visto em php 4, php 5 ja tem tudoq vc citou

    Artur Luiz da Silva Oliveira

    Sobrecarga de métodos já tem? Dessa eu não sabia.

    T____T

    Augusto César

    Na boa, o amigo Daniel comentou sobre: “Definição de atributos como objetos
    Sobrecarga de métodos
    Type hinting muitooooooooo pobre”

    alguem usa isso por aqui? só para saber mesmo, tenho um erp em php e é feito em OO e sinceridade, muitos nomes e tecnologias estranhas que ouço pelos foruns de comparações de linguagem que outras tem e php não me deixam confuso!!!! onde usar issso?

H.Romeu Pinto

nuss, PHP é mto coxa, só funciona com esses bancos de dados separados tipo CodeIgniter, zend e essas paradas. vão aprender asp.net e tirar uma certificação da microsoft que é o futuro, você só instala o asp.net, visual estudio e já era, já tem banco de dados inbutido, tudo que precisa. E outra, vocês usam a palavra framework de pagapau dos gringo, em portugeis é arcabouço. Todo programador profisional sabe isso

    Éder Rodrigues de Souza

    Instala o Visual Studio no Linux, desenvolva o seu projeto ASP.Net em Linux… complicado neh?
    Embora tenha o Monodevelop.

    Eduardo

    é por comentários assim (bem estruturados e em ótimo português) q toda essa discussão de linguagens, procedimentos, estruturado x oo cai sempre na mesma briguinha de “meu tenis é mais bonito q o seu”.

    mas um dia essa molecada cresce e percebe o tempo q perdeu…

    Reiny

    Deus do céu !

    Rasmus

    Teclado deveria ter detector de nível de álcool…
    Romeu bebeu.

    T.Nascimento

    esse tal de Romeu é um fanfarrão

    fabiano

    “só funciona com esses bancos de dados separados tipo CodeIgniter, zend”

    ‘Nú intendi q ele falou’

    fabiano

    Banco de dados CodeIgniter, zend ??????????????????????????????

    Eric Platas

    A verdade é que por ser mais simples o php tem mais programadores aprendizes.
    Ai vira bagunça, mas isso não é pela linguagem ser ruim e sim por ser mais simples e objetiva e atrair gente “relaxada”.

    Por outro lado existem projetos excelentes em php que os programadores java e .net ignoram (magento, wordpress, phpbb, etc).

    Igor Escobar

    #sobrinhodetected

    Alan Souza @alanweb

    O cara bebeu todas. Codeigniter e Zend Banco de dados foi de cair os butias do bolso.

    Como o fabiano ‘-Nú intendi q ele falou’

    R. Motta

    E todo mundo caindo no troll do cara ahhahaha
    Apenas leiam o nome do cara que postou

    Dyorg

    BD Zend e Framework Mysql ……….

    Renato Balbino

    Romeu, larga a cachaça cara, e volta pro seu Asp.Net, aliás; melhor não, deve ser por isso que você escreveu essa asneira…

    Thiago Luiz Alves

    kkkkkkkkkkk não sabia que o visual studio tinha banco de dados embutido… seria o visual studio db ?

    Sidney Lins

    Esse usa asp.net do GUETHO! kkkkkkk

    Guilherme Mascarenhas

    Trollando na alta… Você tá mais pra comediante que desenvolvedor. Mas conseguiu fazer a galera ficar indignada. Objetivo foi alcançado.
    : )

    cara, eu ja vi tuto aki no imasters, ensinando usar mvc no aps.net com complement extra, onde ja se viu isto? php tem isso nao, ou o cara sabe mvc, ou nao sabe…ae descobrimos os melhores…

    Artur Luiz da Silva Oliveira

    Um professor meu é fã de ASP.NET e sempre fala, ‘duvido você fazer isso com PHP’…

    Um dia eu fiz, e aplicação ficou no mínimo 2000% mais rápido que o dele, desenvolvido em .NET

    Quando um programador é forçado a ‘arrastar’ componentes para o seu projeto ele vai perdendo um possível conhecimento que poderia melhorar seus projetos futuros.

    Quanto mais fáceis forem os desenvolvimentos, menos os desenvolvedores poderão aprender e futuramente melhorar.

André

O CodeIgniter seria perfeito se utilizasse PDO ao invés de mysql_connect, ou melhor, mysql_pconnect. :(

Com relação ao amigo emcima.
Asp.net usa framework também… .net Framework. lol ?

    Pablo Vanni

    Falow besteira agora heim André…

    mysql_connect é apenas uma biblioteca usa quem quer

    Artur Luiz da Silva Oliveira

    Se eu não me engano ele da suporte a PDO também.

    Vou dar uma olhada depois.

Cláudio

Gostei muito do artigo! Recentemente, postei um semelhante, combinando Zend Framework e Desenvolvimento Ágil: http://bit.ly/mKP9G1.

Julio Melo

Eu comecei com PHP e depois migrei para Python(Django). E uma coisa que me irritava bastante, era quando tinha algum defensor de outra linguagem no ambiente de trablho e falava mal do PHP. Hoje uso Django em meus projetos pessoais, mas PHP paga melhor minhas contas. PHP é uma boa linguagem basta saber usar, se tiver tempo olhe o Zend-Framewrok vale a pena.

Reiny

A critica ao PHP (ou qualquer outra tecnologia) sempre vem de uma suposta sensibilidade superior de quem se considera vanguarda, mais que na maioria das vezes não passa de gado, infelizmente, manipulado e influenciado, quase que invariavelmente por um discurso pragmaticamente emocional (se e que isso e possível), dos evangelistas igualmente sensíveis, adeptos a perfeição (percebida mais pela emoção do que pela razão) de suas tecnologias preferidas.

PHP e uma tecnologia útil como a gigantesca maioria das que se destacam, tem vantagens e desvantagens claras como na maioria delas pode ser visto, logicamente por alguém de bom senso.

Excelente artigo amigo !
Abraço !

    Jean Nascimento

    A maior diferença de PHP para as outras linguagens de vanguarda é que vc precisa SABER muito bem de PHP para não fazer sistemas porcaria, diferentemente dessas outras linguagens que te dão tudo na mão =x

    Reiny

    Concordo !

    Artur Luiz da Silva Oliveira

    Isso é o medo que a concorrência tem da gente, porque se um dia quissermos sair do PHP pra ir pra linguagem deles, vamos ser, na grande maioria, melhores do que eles que sempre arrastaram componentes.

    Artur Luiz da Silva Oliveira

    quisermos*

Flavio Ferreira

Belo Artigo!!

Realmente a adoção de Frameworks adiciona muita qualidade a nossos projetos, eu estou estudando DJANGO+Python para aprender uma linguagem/Framework novo. Abrir mais um pouco a mente.

Mas até hoje, quem pagou minhas contas foi o PHP e a cada dia que passa procuro melhorar o meu código, aprendendo novos conceitos e os aplicando e vejo no PHP muito sucesso ainda, PHP só está evoluindo.

Como foi abordado no artigo, o que sujou o PHP foram os projetos mal estruturados e desorganizados pela falta de conhecimento de quem os construiu, pois a curva de aprendizagem é bem baixa quando se trata de PHP puro e tenho certeza que a maioria(não todos) aqui não começou a desenvolver já usando MVC, FRAMEWORKS. Então Evoluir no nosso MEIO é necessário ou você não permanecerá nele.

Nakassony Bernardo

Lindo Artigo, esta é apenas o segundo comentário que eu faço na internet embora eu seja um internauta antigo, eu programo em PHP a quase 5 anos mas diariamente tenho feito o uso do Java (JSF nomeadamente), sou Angolano e no meu pais há muita carência de bons programadores, devo concordar com o Flavio Ferreira, pois a maior parte (se não todos) os programadores não começaram usando MVC/P, Framework ou qualquer outro Padrão de Projecto, eu mesmo, não faz um ano que adoptei Design Pattern, por isso, devemos respeitar cada uma das tecnologias, inclisive o PHP que tem muitos recursos e não é burucratica como algumas, por esta razão, estou tentando criar a primeira comunidade de Programadores PHP em Angola, pois já começo e encontrar pessoas que deixam o Java para adoptar PHP.

Abraços.

Ted k

Uma coisa é fato, a sintaxe é muito feia :p

    Daniel Lima dos Anjos Pinheiro

    C style languages are beatiful! huahauhahuahaa

    acho a melhor sintxe, e olha q ja programei em c e flex

    Artur Luiz da Silva Oliveira

    Sintaxe bonita é aquela que o desenvolvedor passa o olho e entende 100% das funcionalidades, se a sua sintaxe PHP é feia, fale somente por você.

    Nunca generalize nada, porque você só sabe do que diz respeito a você.

Jean Nascimento

Então amigos foi por isso mesmo que iniciei um projeto no github para poderemos comparar o MESMO SISTEMA em diversos frameworks em php, python e ruby. Assim os usuários terão melhores condições de avaliar esses quesitos. Quem quiser participar será muito bem vindo!

https://github.com/suissa/dojo_framework_order

Lucas Mendonça

Outro framework que merece destaque CAKEPHP, que é considerado por muitos o Rails para o PHP (seus conceitos são baseados nos conceitos do Rails) !

cliffoliveira

Costumo dizer sempre: O PHP tem uma grande qualidade e um grande defeito:
a grande qualidade é que dá pra fazer tudo em PHP
o grande defeito é que dá pra fazer tudo em PHP

Éwerton Cardoso

Eu estou usando o php OO com o Smarty, o que vcs acham dessa dupla? Conheço pouco de otimização, desempenho, etc.. mas usando assim acredito que é mais fácil do que trabalhar com Frameworks, pois tenho um moior controle da aplicação.

    Artur Luiz da Silva Oliveira

    APC + PHP + MySQL (MyISAM + InnoDB) + HTML5 + CSS3 + Cache

    E sua aplicação vai se tornar um torpedo a jato.

Rafael Dohms

Eu trocaria Zend e Code Igniter por Zend e Symfony2. Code igniter ;e um framework que ainda não largou o PHP4 e nao representa para mim o potencial que o PHP 5.3 tem.

Ah, e são testes de unidade, unidades de teste soa bem estranho no ouvido.

Parabend pelo post, boa visão.

    Daniel Lima dos Anjos Pinheiro

    Quero ver o pessoal pagar-pau mesmo quando sair o ZF2. O SF2 já tá muitooo sinistro, usando DI.

Ademir Cristiano Gabardo

Show de bola, é a evolução natural das coisas, CodeIgniter e PHP a cada nova versão serão melhores. E nem poderia ser diferente.
:-) Parabéns pelo artigo.

Jonas Ruth

Fato: 15% dos sites do mundo todo são feitos com WordPress, ou seja, PHP.

Paulo

Frameworks como o Kohana, que utilizam paradigma HMVC, “forçam” o profissional a melhorar a qualidade do código. Entender como funciona a separação de cada “àrea” de um site, fazer a separação e organização entre modelo, views e controllers, entender como funciona o sistema de “cascading” que um framework oferece, ajuda muito.

Apesar de ser focado em OOP, dentro de cada action / method você vai continuar usando funções procedurais como array_merge, in_array, strpos. Não vejo problema nenhum nisso. Você pode achar que fazer “stri/ng”.split(“/”) é mais bonito do que explode(“/”, “stri/ng”), mas no final das contas, tudo o que se faz numa programação se faz na outra (tirando BRAINFUCK hehe)

O artigo ficou muito bom. Mesmo o autor não curtindo pessoalmente o PHP, conseguiu deixar bem imparcial.

E fica a dica, pra quem está no CodeIgniter (ou qualquer outro framework PHP), deem uma olhada no Kohana, a versão 3.2 virá com suporte completo pra 5.3, já que a versão sem closures, namespaces (5.2-) teve seu suporte terminado oficialmente pelo PHP.NET faz um tempo.

douglas

php é linguagem de iniciante e gambiarreiro, as empresas não confiam nele, por ele nao ser tipado permite coisas estupidas, também não tem uma IDE com um bom debug…,

para sites simples serve, para apps muito complexas perde performance, *o facebook para economizar nos custos com servidores, teve que desenvolver um compilador de código php,

o pior de tudo é que todo programador php tem que saber html, css, javascript, e nessa onda o cara cai em uma agência de publicidade =), e ganha pouco….

quem aprende php(web) terá que aprender outra linguagem para desktop, porque GTK ninguem usa, e não tem bons recursos, ou seja se for criar uma app web & desktop, terá que usar 2 linguagens de programação e sempre vai ter que modificar no back-end das duas.

você pode ser um ótimo desenvolvedor php, mais sempre vai pegar gambiarra dos outros e não vai ter tempo pra refatorar então vai ter que continuar na XGH.

acreditem, php a primeira vista parece muito facil, mais ao se trabalhar com estruturas de dados complexas….é ai que o filho chora e a mãe não vê…

ja trabalhei com html,css ajax com jquery e php…e hoje sinto que perdi horas preciosas da minha vida =), abraços!

    Daniel Lima dos Anjos Pinheiro

    Ahhh tá…
    E poderia me dizer que tipo de estrutura de dados complexa que o PHP não lida bem? Até hoje, dou graças ao PHP por poder me ajudar na criação/iteração nas estruturas mais complexas que já mexi até hoje.

    E o que você usa hoje?

    douglas

    uso estruturas genéricas em C, C#, Perl, Pascal e várias outras, nenhuma delas é Java mas todas têm estruturas que são utéis

    não tem ArrayList nem StackList, você tem que usar arrays e vetores ou criar sua própria arrayList que não tem a mesma Qualidade ao do java ou C#

    atualmente java, c# e delphi, mais ainda faço coisas em php só por hobbie pois pra trabalhar sério tem que usar uma linguagem séria…

    Daniel Lima dos Anjos Pinheiro

    Amigo,

    Isso só depende da forma de escrita. Em java, c, c# você cria uma estrutura de um jeito, no PHP você cria de outro e no final vai dar tudo na mesma.
    Lógico que o PHP não lhe permitir a definir uma estrutura fiel a nível de memória, mas a nível de desenvolvimento, te garanto que é possível fazer estrutura personalizadas e seguir um padrão durante o desenvolvimento.

    Se você quer desenvolver DESKTOP, ok, PHP não é muito bom (nem adequado) para isso, ela é uma linguagem com foco em desenvolvimento WEB e como o artigo fala, é muito usada em projetos MVC.

    Hoje trabalho em um projeto sério, de grande porte, que usa PHP como interface principal do produto e também vamos usar Java/C++ futuramente para coisas a nível de hardware e nem por isso deixamos de trabalhar em um projeto sério.

    douglas

    então pra interface, sites ou front-end funciona bem, mais para regras de negócio é complicado, em php o que ocorre em equipes pequenas é que quem faz o código é quem geralmente dará manutenção, e você há de concordar que o php libera algumas coisas , como a falta de tipagem, que em outras linguagens seria impossivel, e isso causa multiplicidade de padrões, falta encapsulamento. isso também acontece com o delphi que tem métodos public get_algumacoisa e variaveis public ^^.

    Humberto

    Tem muitos pontos a discordar do que você escreveu:
    - Existe sim boas IDE com suporte a debug, posso citar o eclipse e o netbeans como exemplos;

    - O PHP é sim uma linguagem viável para grandes projetos. Tenho a felicidade de estar participando de um projeto grande na empresa onde trabalho;

    - Não vejo desvantagem em ter que saber CSS, HTML e Javascript, na minha opinão, quem trabalha com WEB precisa saber o minímo desta coisas;

    O que vejo, é que existe muito preconceito com o PHP, isto por causa dos pontos já citados no artigo (linguagem fácil + programadores newbies = código porco).

    A linguagem é muito boa, mas infelizmente é mal utilizada :-(

    Jean Nascimento

    Alguem falou sobre desktop aqui? #1990feelings

    Rasmus

    douglas

    SPL, Type hinting: tudo o que você disse que o PHP não tem… Pois é, ele tem.

    ah tem boa IDE sim, Zend studo, infelizmente ela eh paga…

    Artur Luiz da Silva Oliveira

    Se foque em apenas uma linguagem então, assim quando ela cair em desuso você fica no cantinho da sociedade esquecido para sempre. PHP é uma linguagem poderosa, mas só se estiver em boas mãos.

Cristiano Unix

Muito bom o Artigo !!!

Marcelo Diniz

Parabéns pelo artigo e posso falar que depois que comecei a desenvolver com CodeIgniter as coisas para o meu lado mudou para melhor, e sim, comecei a receber um pouco mais $$$ e espero que com e tempo isso só aumente!

Jose

Sinto quando falam mal do PHP.
No dia a dia trabalho com php, .NET, JAVA, C, C#, etc…
Todas as linguagens tem prós e contras, vale o programador conseguir subtrair conforme sua necessidade e habilidade para cada projeto.

A mais de 10 anos com PHP e esta a cada nova versão mais estavel e profissional.

Framework não,
dependente de terceiros,
faça o seu,
muitos vão criticar com invertar a roda… e etc…,
mas como programador experiente e em grandes projetos,
é o melhor caminho….

Tiago Davi

Sou fã do PHP pela sua praticidade e utilizo CI + NotORM = velocidade extrema.

Anderson Nunes

Sou desenvolvedor php e trabalho com CodeIgniter e Zend. Atualmente to migrando pro Rails e to adorando a linguagem, a estrutura do framework é extremamente parecido com Zend.
Atualmente acredito que PHP não é inferior que java web ou dot net, talvez seja até superior, devido à grande documentação e facilidade de uso.

Alfredo Braga

Atualmente uso o codeigniter, realmnte é um execelnet framework recomendo…

Leandro

Programador ruim produz código ruim e não há linguagem no mundo que impeça isso.

Hoje trabalho com PHP e estou satisfeito. Mas, no passado, já peguei sistemas legados em Java que eram verdadeiras pilhas de gets e sets feitos por programadores operando no “piloto automático”. Aliás, programadores que usam essas IDEs que geram accessors automaticamente deveriam ler mais sobre orientação a objeto.

    Reiny

    #concordototalmente

    Jean Nascimento

    #fato

    fora a quantidade ignorante de código CHATO que o Java cria não está na história, nem comentarei sobres os xmls.

Andre

Fora o mero dato de que Ruby (mais parcitularmente RoR) performa ABAIXO de frameworks de equivalente senioridade profissional no PHP (cito CodeIgnirer, Kohana e meu próprio stub de framework) nos meus benchmarks, o que desmerece quase 100% da glória colocada sobre ele, o resto da leitura foi facilmente digerida.

Michael

Esta discussão acontece desde de que o mundo é mundo e que o homem comecou a usar a cabeça ao invés da força ja se tornou um epico mas vamos la php é foda java e foda ,c# é foda “”"”"NÃO INTERESSA A LINGUAGEM O QUE INTERESSA É QUEM TA PROGRAMANDO”"”"” a tem mané que diz php tipagem fraca dane-se isso faz novatos e experientes programarem conseguirem programar na mesma linguagem e faz ter a “”"VASTA DOCUMENTAÇÂO QUE NENHUMA OUTRA LINGUAGEM TEM”"”" e faz ser a linguagem mais utilizada da WEB (alfinetada Vocês de outra linguagem usam facebook né…………..)

Jean Nascimento

Conheço vários programadores que sabem DJANGO e RAILS, mas pede para eles fazerem a mesma coisa na mão e veremos. Diferentemente do PHP onde quase sempre aprendemos a linguagem antes para depois conhecer os frameworks.

Pessoal que ta falando sobre desktop está completamente pro fora, quer programar para desk não use PHP simples assim.

E como PHP é para desenvolvimento WEB saber HTML, CSS e JAVASCRIPT são requisitos mínimos para um bom programador, agora o cara falr que perdeu a vida dele aprendendo isso foi pq burro achando que isso serviria para fora da WEB.

Bobos agente vê por aqui.

Jean Nascimento

Tem gente ae fazendo controle de estoque em Delphi/Java e se achando programador ehehheheh

Claudson Oliveira

Bom, sobre frameworks vi vários defensores do ZF. A documentação desta ferramenta é realmente muito boa mas já ouvi relatos de má performance usando este framework. Estudei por alto este e o Symfony, mas o segundo me pareceu mais vantajoso. Algum relato comparativo de “porque Zend”?

Bruno Giannella de Melo

Após a versão 5 do PHP, ele se transformou em outra linguagem, programei antes e depois dessa mudança, com a chegada desses frameworks houve um grande crescimento do PHP e a tendencia é só aumentar seu uso. Quer aprender uma linguagem hoje ? eu indico o PHP.

Parabéns, abraços.

Douglas Miranda

Lendo estes comentários vejo que a comunidade PHP ainda se apega à discussões infundadas muitas das vezes e de certa forma inúteis. Alguns pontos para se pensar, (ou não discutir mais):

- O PHP é uma ótima linguagem, que está se desenvolvendo, devagar como qualquer linguagem que tenha ido para um rumo e está tentando mudar.
- O PHP não é “a melhor solução” para tudo.
- Casos como Facebook são legais para se comentar que ele foi, inicialmente, desenvolvido com PHP, mas gente.. já foi neh. Foi preciso muitos ajustes e combinação com diferentes tecnologias para o Facebook sustentar a carga que ele possui hoje, alguns defeitos se dão ao PHP e outros não, como qualquer projeto grande. Mas Facebook é um caso que não dá pra comparar com nada.
- Devemos dar mais atenção para os paradigmas, métodos de desenvolvimento, aprimoramento da lógica que utilizamos no dia a dia a linguagem é somente um recurso que escolhemos para aplicar o que aprendemos em uma teoria geral.
- Não somente o PHP quanto o Python e outras linguagens proporcionam flexibilidade para trabalharmos de diversas formas, até mesmo de forma ‘errada’, mas é aquela velha história de que os programadores estão errados e/ou fazem da forma errada.
- Por fim, acho que não devemos nos apegar a uma linguagem ou tecnologia, devemos sempre ser bom em algo para se manter e ir conhecendo outras diversas formas de resolver os mesmos problemas e veremos qualidades e defeitos em ferramentas diferentes.

O PHP é muito bom, mas não podemos dizer que ele não deixa a desejar em certos quesitos. Mas é para isto que existem tantas opções e quem disse que não podemos utilizar várias soluções juntas para resolver um problema? Afinal de contas chega um momento em sua aplicação que você precisará utilizar programação concorrente com o paradigma funcional e pra que você vai criticar o PHP ou qualquer outra linguagem que seja sua aplicação se você possui um leque grande de outras opções para solucionar o problema.

Daniel Costa

Trabalho com PHP tem mais 7 anos, nunca li algo tão concreto antes sobre o PHP.
A pura verdade é que aos poucos vamos melhorando e buscando algo que possa facilitar o dia a dia do trabalho, nos tempos passado vamos colocar como o “passado negro do PHP”, havia muitos programadores que abusavam do script deixando bagunçado sem nenhum padrão de projeto.
Hoje em dia o PHP pode ser ultilizado de forma mas clara e objetiva, focado nos melhor processamento do código.

Parabéns pelo artigo.

Thiago Luiz Alves

Trabalho a 5 anos com php, hoje estou trablahando com java oficialmente e continuo com php nos projetos pessoais, o artigo falar claramente a realidade do sobre a linguagem, o problema no mercado é a galera que “mexe” com php, não estuda um framework bom e que rende produtividade e escalabilidade como os tantos citados pelos colegas e o cakephp que não foi muito falado mas tem se demonstrado uma ótima opção.

Não seja um cara que “mexe” com php ou qualquer outra linguagem, seja realista, se não conhece design patterns, boas práticas e não sabe realmente aplicar orientação a objetos você vai fazer porcaria independente de qual linguagem esteja usando.

Jonathan Cardoso

Programo a pouco tempo com PHP, não me considero fodão, muito pelo contrário, ainda sou muito noob, e posso afirmar que concerteza a facilidade que o PHP proporciona para o programador desenvolver, mesmo sem ter a base necessária, é um fator que faz com que ~80% dos códigos escritos em PHP sejam “porcos” e a linguagem ganhe a fama que têm. Estou aprendendo Zend Framework, considero-o um bom framework, mas não posso falar sobre as demais pois não tive contato direto com elas, estudei Symfony, mas percebi que a linha de apredizagem é mais vertical que a do Zend. :P

O PHP pode ser uma ótima linguagem, se tiver um ótimo desenvolvedor por trás do código, seja ele usando as ótimas ferramentas já existentes como as várias Frameworks, PHPUnit ou um ORM como o Doctrine, ou até mesmo desenvolvendo um código que nem seja OO, pois um código procedural pode ser tão organizado e bem feito quanto um em OO, tudo depende do programador por trás desse código.

Meus 50 cents. :)

Lucas Furtado Sena Martins

“Dê uma olhada nos frameworks Zend e CodeIgniter e me diga se não são alguns dos códigos mais bem documentados e bem escritos que você já viu.”

Hahuahuhua, para mim as documentações da ZF são as piores…

Eu, particularmente, prefiro muito mais PHP sem framework, lógico que com MVC, orientação a objetos e minhas classes ou classes úteis que você encontra na internet. Para mim fica tudo mais simples e rápido quando você já tem uma boa base ou o seu próprio framework.

Thiago Luiz Alves

PHP não é coisa de muleque!

http://www.slideshare.net/felipernb/php-no-coisa-de-moleque-presentation

Irada essa apresentação.

Tales Mota

Eu programo em php há mais ou menos 2 anos. Ja me deparei com todo tipo de código.
No início quando tudo na web era novidade para mim, qualquer “cut and paste” atendia. Isso, no final das contas gerava um “frankenstein”. É marcante para mim isso, pois eu tenho um ‘frankenstein’ que gera muito suporte ainda, e por ser fruto de um trabalho árduo, eu não consigo matá-lo.
Pois bem, como eu disse antes, eu ja me daparei com muita coisa ruim em php. Porém já vi muita coisa boa. Principalmente depois da versão 5 do php, que OO ficou redondinho, e o MVC também.
Gente muito bacana na internet começou a aplicar os padrões de projeto, e disponibilizar muito material a respeito disso na web.
Isso mudou totalmente minha idéia do php, e mudou minha vida como programador PHP também.
Tem gente muito bacana na internet, que tentam “doutrinar” as boas práticas de programação em PHP, eles provaram que é possível ter todas as vantagens de uma linguagem robusta 100% OO.
Então o que eu acho desse preconceito com php?
Eu acho que preconceito sempre vai existir, principalmente de quem ja passou muito aperto com php antes da versão 5, e mudou para outra linguagem e nunca mais procurou saber sobre o PHP, e com isso a má impressão não passou! Eu prefiro java ou ruby, porque particularmente o “$” me tira do sério. Mas php é igualmente poderosa.

Qual a sua opinião?