PHP não é uma linguagem ruim (ou pelo menos não é tão ruim quanto alguns podem sugerir). Eu tinha professores que nem sabiam que o PHP era orientado a objetos até eu contar a eles. Eu tive clientes que nos desconfiam imediatamente quando dizemos que somos desenvolvedores de PHP e nos questionam por não usar linguagens e estruturas elegantes como Django ou RoR, ou linguagens "corporativas e sólidas" como Java e ASP.NET.
O Facebook é construído em PHP. Existem muitos projetos sólidos que impulsionam a web, como Joomla e Drupal, que são usados na empresa e nos governos. Existem frameworks e bibliotecas que possuem algumas das melhores arquiteturas que eu já vi em todos os idiomas (Symfony 2, Doctrine). O PHP tem a melhor documentação que eu já vi e uma grande comunidade de profissionais.
O PHP possui recursos avançados de OO, como reflexão, interfaces, e muito menos que o PHP agora suporta reutilização horizontal de forma nativa e limpa por meio de características .
Existem programadores e crianças com scripts ruins que dão ao PHP uma má reputação, mas fortalecem a comunidade PHP ao mesmo tempo, e como é muito fácil fazer coisas com PHP, você pode fazer as coisas da maneira errada, com certeza, mas por que culpar o língua?.
Agora, para resumir isso em uma pergunta real e respondível: qual seria um argumento bom, sólido, curto e doce para evitar ser desaprovado e parar o preconceito de uma só vez e defender sua honra quando você diz que é desenvolvedor de PHP? .
(biscoito grátis com chantilly para aqueles com evidências empíricas de convencer alguém - cliente ou outro - no local)
PS: Usamos o Symfony , e o código acaba sendo bonito e sustentável
PPS: O Facebook é escrito em PHP, compilado em C ++ via HipHop e implantado no Hadoop. Aqui: http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/1/
fonte
Respostas:
A única resposta que tenho é esta: tudo é uma porcaria.
Você pode encontrar muitos argumentos contra o POO ser bom (uma pesquisa rápida os revelará) versus a programação funcional ou processual. Você parece indicar que o suporte ao OO do PHP o defende.
O espaço em branco do Google é péssimo e você encontrará resultados para qualquer coisa. Python é uma merda . Ruby é uma merda . Trilhos é uma merda . PHP é péssimo . Java é uma merda .
Você quer saber o que realmente é uma merda? Programadores. Programadores são péssimos. Qualquer bom desenvolvedor deve ser capaz de criar um aplicativo incrível, front end e back end, independentemente do idioma - mesmo que não esteja familiarizado com o idioma! (Ou seja, um bom programador deve ser capaz de aprender e trabalhar com qualquer idioma de maneira eficaz).
Observe também que o sucesso de um aplicativo não tem nada a ver com seu código. Ouvi dizer que o código do Facebook é horrível, mas por Deus é eficaz. Provavelmente o mesmo acontece com a Wikimedia (a Wikipedia é construída em PHP e também é um site extremamente popular). O que realmente importa são os resultados!
PHP é a linguagem com a qual eu pessoalmente estou mais familiarizado. Vou defendê-lo até a morte. Trabalhei com estruturas PHP, código PHP direto e PHP, python e ruby (e até Java), tudo para desenvolvimento web. Não posso dizer que um seja particularmente melhor que o outro. O que importa mais são os desenvolvedores e os algoritmos. Eu já vi códigos surpreendentemente bons e completamente terríveis em muitas linguagens (especialmente PHP, pois tenho tanta exposição).
Agora, sua pergunta: depende de com quem você está lidando
Empresários
Eles se preocupam principalmente com resultados e relação custo-benefício. O fato de o bem-sucedido Facebook, Wikipedia e Wordpress usar PHP ser mais do que suficiente para convencê-los de que é uma linguagem eficaz para a criação de aplicativos bem-sucedidos.
Programadores
Deixe seu código falar por si. Se um desenvolvedor disser que o PHP é inferior de alguma forma, mostre a eles algum código PHP que você acredita que seja eficaz. A prova do pudim está no comer.
fonte
success of an application has nothing to do with its code
<- Verdade. Mas quando as pessoas estão dizendo que "PHP é uma linguagem ruim", elas não significam "aplicativos escritos em PHP são ruins", mas sim que "aplicativos escritos em PHP geralmente não são divertidos de trabalhar devido a espaguete de código". Existem ótimos aplicativos escritos em PHP, com certeza. Mas acho que essa resposta não aborda o que os programadores querem dizer quando chamam o PHP de "ruim".PHP tem uma história sórdida. É muito melhor agora que foi há pouco tempo, mas houve um tempo, muito tempo, em que muitas práticas e padrões ruins foram incentivados e difíceis de evitar. Existe uma geração inteira de códigos PHP terríveis por aí que ainda estão por aí, e na medida em que novos programadores estão aprendendo lendo códigos antigos, estão aprendendo um mau comportamento. Agora, o PHP talvez não mereça sua reputação de blackend, mas certamente o conquistou.
Sua melhor aposta para defender o PHP é distanciar cuidadosamente e distinguir o estado da arte atual da história com a qual todos estão familiarizados. Você pode dizer que o PHP não é uma linguagem terrível, mas se você estiver conversando com alguém que está no setor há vários anos, a memória deles diz a eles o contrário.
Mostre a eles como a equipe do PHP aprendeu com seus erros e mudou o idioma para melhor. Longe vão os dias de citações mágicas e registros globais. Longe está o paradigma global de tudo, o modo de segurança e o mysql_escape_string. Explique a eles que programadores PHP reais sempre usam espaços para nome e consultas parametrizadas, evitam funções obsoletas e sempre colocam seu código de biblioteca fora da raiz do documento.
O PHP mudou e os programadores do PHP mudaram. É por isso que o PHP é a plataforma maravilhosa que é hoje. Além disso, é a única plataforma que você sabe que seus clientes terão pré-instalado. Aquilo é enorme.
Como uma observação lateral, eu recomendaria não citar os mecanismos e estruturas CMS existentes como uma grande vitória para o PHP. Você corre o risco de apontar coisas como o estudo de segurança Websense de 4 dias atrás, mostrando que 94% das infecções recentes em sites eram contra sites PHP executando software como Joomla e Wordpress. Esse não é o tipo de empresa que você deseja que seja vista. Em vez disso, aponte que seu código será muito mais seguro do que todas essas outras coisas.
fonte
PHP é o COBOL da web. Os dois idiomas não têm respeito, mas muitas pessoas ganham a vida construindo e mantendo sistemas escritos neles, e estão presentes em volume em quase todos os principais sistemas de computadores do mundo nativo ( ou seja , na web e nos negócios comerciais, respectivamente). Ambas as línguas são menosprezadas por profissionais de outras línguas mais populares, baseadas principalmente em hábitos antigos e obsoletos praticados por programadores que, desde então, aprenderam melhor e melhoraram suas ferramentas.
O PHP deve ter tanta sorte que vive a vida de COBOL. COBOL existe há mais tempo do que qualquer coisa, menos FORTRAN, e não vai desaparecer tão cedo. Existem muitos programas COBOL em uso diário mais antigos do que as pessoas que os mantêm. Pode não ser "o novo tesouro", mas sempre haverá dinheiro a ser ganho trabalhando nele e com ele.
fonte
Eu acho que também pode ser útil entender o outro lado da moeda e reconhecer a escassez de PHP. Embora o PHP tenha avançado muito de ser uma linguagem de modelo, ainda há muitas coisas que podem ser melhoradas. Há alguns pontos em que o PHP ainda está ausente: Unicode, recursos funcionais, organização da biblioteca padrão
array
e assim por diante.O que eu sugiro é que - para fazer uma discussão construtiva sobre os pontos fortes e fracos do PHP - seria bom reconhecer tudo isso. "Sim, eu sei que a biblioteca padrão do PHP não é muito organizada. Mas se fosse escrita hoje, poderia fazer uso de namespaces e APIs orientadas a objetos". "Sim, eu sei que a matriz padrão faz uma bagunça misturando estruturas de dicionário e matriz. Mas se alguém quer coleções melhores, pode usar o SPL".
Seu ponto de vista será mais forte se você demonstrar que sabe que os argumentos das outras pessoas têm algum motivo.
fonte
Por quê?
Quem faz você sentir que precisa se defender (seja na carreira, no cônjuge, nos hábitos de consumo etc.) está perdendo seu tempo. Você dedicar um tempo para se defender é simplesmente humilhar o tipo errado de pessoas - agora você está desperdiçando seu tempo, assim como o deles.
Afaste essas pessoas da sua vida - você estará melhor sem elas.
fonte
Não existe uma única linha curta e agradável que possa ser usada para convencer as pessoas do valor do PHP e de seus desenvolvedores, mas você escreveu um argumento muito convincente antes de fazer a pergunta.
fonte
Para abordar o "PHP é uma linguagem ruim", você precisa descobrir por que o indivíduo em questão pensa que é uma linguagem ruim. Talvez ele tenha trabalhado em um projeto ruim escrito em PHP. Talvez ele não goste de prefixar suas variáveis
$
. Talvez eles mesmos tenham tentado usar o idioma e escrito uma bagunça inatingível. Muitos programadores vindos de outras linguagens de programação veem o PHP e vêem uma bagunça, porque o que faz sentido no PHP realmente não faz sentido em outra linguagem ou em outras plataformas. Por exemplo, no PHP, matrizes são a "fita adesiva do universo" e são usadas para realizar praticamente qualquer coisa, enquanto em outras linguagens de programação tal coisa seria absurda.Eu sugeriria uma combinação das respostas aqui.
create_function
. Foi-se a selva de ligarinclude
manualmente em qualquer lugar.free
, e tudo é "OO-ish", mas o tempo de execução é grande e o OO pode ser limitador. C ++? Permite criar tipos que se comportam exatamente como tipos primitivos (por exemplo, int) no idioma, mas com grande quantidade de complexidade. PHP? Torna realmente fácil começar sem muito conhecimento de programação, mas, como resultado, há muitos e muitos códigos de lixo publicados na Internet.Há um lugar para todos os idiomas. Escolha o idioma adequado ao problema em questão, não tente calçar um idioma preferido em lugares onde ele não pertence.
fonte