Sim, mas realmente para pequenos projetos não vai ser um problema. Porém isso não o torna bom. Para alguém que tem um Celta e faz mudanças levando somente uma geladeira ou um sofá pode dizer que ele é ótimo, porém isso não é fato quanto mais nós entramos no ambiente profissional, em que o mínimo é um caminhão de mudança e nesse meio não dá pra dizer que um Celta é bom.

O PHP 7 só é um divisor de águas dentro do próprio PHP, isso não o fez ser bom e relevante quando se compara com outras linguagens.

Como eu tinha dito, além do iniciante quem defende PHP é alguém que não sabe ou não é bom em outra linguagem.

Bom, se você já tem 20 anos de experiência, já era pra ser totalmente capaz de dizer porque o PHP não é bom. Geralmente, mas não sempre, quem tem 20 anos de experiência já passou por vários projetos grandes e já se aprofundou em pelo menos mais uma linguagem.

Vinícius, creio que você esteja com um olhar enviesado a respeito do PHP.

Tenho projetos em PHP com mais de 30.000 usuários simultâneos... Já tive pico de quase 1M em alguns. Projetos grandes e extremamente complexos (contabilidade, folha de pagamento, factoring, etc...)! Se precisasse poderia ser até 10 milhões, depois de certo tamanho na maioria das vezes é questão de escalabilidade de infra (conheço muitos sistemas enormes em Ruby, que é reconhecidamente lento).

PHP é extremamente rápido (leia sobre Swoole, Octane etc...) e de infra barata!

Sobre novas empresas grandes e PHP: O PicPay, Wikipedia, Sistemas novos de campanhas do Facebook, Tumblr... são em PHP, se pesquisar um pouquinho você vai achar fácil, principalmente fora do Brasil.

Abraço

Bom, dizendo novamente mais uma vez, nós estamos falando de **porque o PHP é tão mal falado** e isso se deve a ter outras linguagens muito melhores. Você pode ter 10 milhões de usuário simultâneos no PHP, mas poderia ter um desempenho bem melhor com outra linguagem, além de outros pontos. Conseguir, não é sinônimo de ser bom. Você pode fazer uma viagem pra bem longe com um **gol quadrado de 1900 e pouco** nos dias de hoje, mas ele não seria a melhor opção pra isso. Basicamente, tem várias coisas que o PHP não consegue fazer e o que ele consegue, tem várias linguagens que conseguem fazer bem melhor e é por isso que ele é **tão mal falado**. Sobre as empresas, eu tinha mencionado sobre uma **boa equipe** e empresas grandes. Se uma equipe realmente grande, disser que de todas as opções o PHP seria a melhor escolha em questão de linguagem (não orçamento e outras coisas), certamente tem algo errado. E algo que eu posso complementar é: - Você nunca vai ver empresas como **Google**, **Microsoft**, **Apple** e várias outras escolhendo o PHP como uma opção para novos projetos. - Wikipédia já não deveria nem ter sido comentado como exemplo, porque é basicamente só texto. - O Facebook hoje em dia não usa mais o PHP de fato, usa o Hack, que foi criado pra tentar resolver os problemas do PHP, já que não era viável reconstruir a rede social totalmente em outra linguagem. Mas só com isso, temos a certeza de que o PHP não seria uma opção pro Facebook se ela já tivesse toda a infraestrutura de hoje, ao invés da escolha que teve quando o Mark iniciou o projeto. Hoje a Meta tá bem vinculada ao Hack/PHP, por conta dessa decisão. - O PicPay eu sei que **não** é um bom exemplo, não sei se você já utilizou a API deles, mas ele geralmente tem uns problemas estranhos, e algo **super básico** que é a codificação e decodificação de URL, eles não tem. Se você mandar algo como %20, a API deles quebram e se você fala com o suporte técnico deles (desenvolvedores/programadores) é bem estranho, não parece terem a experiência que você espera de uma empresa próxima do tamanho do PicPay. **Algo importante é sabermos que a linguagem que escolhemos sempre vão ter problemas e precisamos reconhecer isso. Isso não significa que não podemos usar ou que ela não funciona, mas precisamos ter a humildade de saber isso.** E pra finalizar, **opinião 100% pessoal** é que o PHP é uma linguagem muito com a filosófia de **pra funcionar não precisa ser bom**, isso inclusive vem do seu próprio criador.
**"Está bem equivocado, quanto menor a quantidade de usuários, menos o problema de performance fica evidente, ou seja, com 5 usuários o problema não seria perceptível."** **"Sim, mas realmente para pequenos projetos não vai ser um problema. Porém isso não o torna bom..."** Eu falei sobre a carga de uso e velocidade por causa desse seu comentário acima. Nele, você diz que os problemas de Performance não existem porque os sistemas PHP trabalham com poucos usuários, o que não é verdade. **"mas poderia ter um desempenho bem melhor com outra linguagem..."** Claro, você está dizendo o óbvio, Vinícius. Mas quando vamos escolher uma linguagem para desenvolvimento levamos em consideração muitas coisas além de performance: Tempo de desenvolvimento, custos de infra, disponibilidade de mão de obra... O PHP é uma ferramenta poderosa como backend de aplicações WEB. Ainda sobre performance, se comparar o PHP compilado (com Swoole) e outras linguagens que competem no mesmo ambiente WEB (C#, JS (Node), Python, até GO) verá que o PHP vai muito bem! **"Você nunca vai ver empresas como Google, Microsoft, Apple e várias outras escolhendo o PHP como uma opção para novos projetos."** E quem disse que as tecnologias que essas empresas usam são necessariamente as melhores para o meu negócio? Sua afirmação não faz sentido para 99% das empresas. **"Algo importante é sabermos que a linguagem que escolhemos sempre vão ter problemas e precisamos reconhecer isso. Isso não significa que não podemos usar ou que ela não funciona, mas precisamos ter a humildade de saber isso."** Exatamente, eu concordo com você. **"E pra finalizar, opinião 100% pessoal é que o PHP é uma linguagem muito com a filosófia de pra funcionar não precisa ser bom, isso inclusive vem do seu próprio criador."** É importante lembrar que ele não foi o único desenvolvedor do PHP; ele apenas desenvolveu as primeiras versões (acho que 1 e 2). Estamos atualmente na versão 8 do PHP, e a visão dele não define o que a comunidade tem feito com a linguagem desde então.
É importante reconhecer os problemas das linguagens que utilizamos, um exemplo **fortíssimo**, é que a linguagem desenvolvida pela Microsoft é o C# e nem por isso ela afirma que ela é boa para tudo, o novo Office vai ser desenvolvido em RUST justamente porque é uma linguagem que tem um desempenho bem melhor que o C# e o desempenho do C# já é muito bom, mas ainda fica pra trás. O problema é que geralmente a comunidade do PHP não aceita que a linguagem tem muitos problemas e que **infelizmente**, a maioria das linguagens são sempre **bem** melhores que ela, o que consequentemente acaba tornando ela uma linguagem considerada **ruim** e é por isso que sofre muito **hate**.
Teve um problema de interpretação. Eu não disse que "os problemas de desempenho não existem porque os sistemas PHP trabalham com poucos usuários". Se você reparar, nesse comentário eu estou respondendo outro em que o **eliaseas** comenta: "Na verdade, a maioria dos que reclamam da performance dele, no máximo desenvolveram sistemas com 2, 3, 5 usuários simultâneos [...]". O que não faz sentido, logo que com 5 usuários não tem como o problema de desempenho ser perceptível, **então porque alguém que só tem 5 usuários reclamaria do desempenho do PHP?** ------------------------------------------------------------------- Sobre a escolha da linguagem, realmente tem várias coisas que são levadas em consideração e é por esse motivo que eu mencionei lá que não incluia o orçamento e outros pontos e sim somente a linguagem. Porque as vezes acontece, principalmente no ambiente dos negócios, mas isso deixa mais claro ainda quando não é a melhor opção, quando você escolhe uma linguagem porque o custo que vai ter com ela é mais barato, fica evidente que não é por ela e sim pelo seu custo. Por exemplo, se o banco que oferece mais desempenho é o X, porém é pago e você escolhe o Y porque ele é gratuito. Isso não torna o Y melhor ou bom, você escolheu ele pelo preço, se o outro fosse gratuito, é ele que seria escolhido. Foi mais por uma falta de escolha. Assim como por exemplo, uma empresa pode optar por escolher Python pra fazer um site somente porque eles já tem desenvolvedores Python e não valeria a pena financeiramente contratar desenvolvedores JavaScript. **Eu por exemplo, não aprenderia totalmente uma nova stack só pra fazer algo, se for possível fazer no que eu sei, mas eu preciso ter a ciência de que não vai ser a melhor opção.** Um último exemplo pra fixar bem, alguém que tem a stack .NET e C# pode escolher o Xamarin ou MAUI pra fazer um aplicativo mobile e pode ser uma boa opção, mas saber que tem opções melhores. E de novo **O PHP é tão mal falado** porque fica bem atrás de várias outras linguagens, não somente por ele só ter foco na web, mas por até tendo o foco na web, outras conseguirem fazer melhor e estamos falando da **linguagem** não preço de hospedagem, disponibilidade de mão de obra, etc.
**"...mas isso deixa mais claro ainda quando não é a melhor opção..."** Entendo seu ponto de vista, mas **a melhor opção** tem que levar em conta os fatores inclusos na expectativa de quem vai escolher. Sobre o exemplo do banco, ser um banco gratuito ou não, não o faz melhor ou pior automaticamente, você sabe disso. Por falar em outro tipo de banco, trabalhei com MSSQL e Oracle por vários anos (tenho algumas certificações), e vi a perda de mercado que esses tiveram enquanto se recusavam a se adequar ao mercado Web. Os bancos "gratuitos" tomaram boa parte do mercado. MSSQL e Oracle são ferramentas incríveis! Mas isso não faz PgSQL e MySQL (sei que tem pago também) ferramentas que eu possa falar mal sem levar em consideração algum objetivo, ou dizer que são piores em suas versões gratuitas, isso tudo **DEPENDE** de muitas outras perguntas. Na empresa temos projetos em várias linguagens, a maioria em C#, Node e PHP (Python usamos mais em funções Lambda). Muitas vezes acabamos optando pelo PHP para novos projetos, considerando muitas outras coisas além de preço de hospedagem. Os argumentos que vejo para falarem **mal do PHP** em sua maioria não se sustentam, ou usam de forma incorreta. Não é uma linguagem perfeita, como todas as outras, mas está longe de ser ruim
Opa, estou notando que tá ficando complicado de entender. A confusão que está sendo feita é que está sendo levado em consideração outras coisas além da linguagem, como habilidade do profissional, disponibilidade do mercado, preços, etc. Mas esses outros pontos não entrariam na conversa pra falar sobre a linguagem. **A conversa não seria sobre escolha levando em consideração outros fatores, mas somente a própria linguagem**, espero que agora tenha dado pra entender. -------------------------------- Tentando te esclarecer sobre outro ponto. O exemplo da escolha do banco de dados gratuito que usei é para uma escolha em que um banco era bom, outro era ruim ou não tão bom, mas era escolhido somente por ser gratuito. Não mencionei nenhum tipo de banco de dados, justamente porque o MySQL é gratuito e é um **ótimo** banco de dados, então não poderia ser usado como exemplo. Então você ter mencionado sobre MSSQL, Oracle, PgSQL, MySQL não fez muito sentido. ---------------------------------------- Os argumentos sobre o porque o PHP ser ruim, geralmente são extramente bem construídos e a habilidade de passar isso geralmente depende do quanto o desenvolvedor é experiente e aprofundado nesse meio. Quanto mais habilidoso, melhor sabe mostrar os pontos negativos dele e aí o negócio piora. Geralmente o PHP só é defendido por quem não tem muita experiência em outras linguagens e então não sabe conseguir analisar isso, como por exemplo tipagem, quem desenvolve em PHP praticamente não lida com tipagem, então não entende muito disso, pelo menos não como quem lida todo dia e não sabe enxergar os malefícios só de não ser fortemente tipada. Tem muitas e muitas outras coisas, e esse foi somente 1 exemplo. Está ficando cansativo e se não deu pra entender tudo que foi dito até agora, vai ser complicado fazer entender. Pra te ajudar a entender, lê os comentários do **maniero** nessa publicação: https://www.tabnews.com.br/maniero/14b178ef-84e1-43e6-ac15-7ce169fed32f Ele é alguém bem experiente e um ótimo profissional, vai saber te apontar os problemas bem melhor que eu.
Eu entendi quando você citou que queria falar somente da linguagem, e não tem problema comparar somente assim. Mas no meio dos seus argumentos, por vezes misturou outras coisas, por isso toquei nos outros pontos, pra deixar bem claro. Vim do Java, sei bem o que é trabalhar com tipos, inclusive gosto bastante de Java, mas não uso nos projetos atuais justamente por causa de motivos diversos que não a linguagem em si. Obrigado pelo link, vou ler com calma em outro momento. [Edit: Li a publicação uma vez. Infelizmente ele não citou os pontos, creio que deva fazer isso posteriormente]
Kkkkkk, tentei usar eles pra exemplificar e realizar uma abstração, como pode ter reparado até usei um "gol quadrado" no exemplo, mas não se trata de carros. Consigo usar alguns trechos da fala do **maniero** que ajudam a expressar o que eu quero dizer quando o PHP não é uma boa linguagem e sempre geralmente tem uma opção melhor: > "Debater tecnologia não deveria, mas é algo religioso. Em PHP costuma ser pior. Por alguma razão que eu não sei (ahhh, eu sei, mas é melhor não falar) tende a dar mais problemas que outras tecnologias. Vem seguindo de JS, Python, Java e depois começa ficar menos relevante, as discussões raramente acontecem. Eu vou só falar uma coisa, essas tecnologias costumam ter mais fanboys (PHP é a dos mais radicais), então você não pode fazer nenhuma crítica que você vira hater para eles. E aqui começamos entender o mundo PHP." ------------------------------ > "A linguagem PHP não é boa e isso até o criador admite. É direito de qualquer um discordar, mas quem costuma estudar linguagens sabe disso e não tem o que discutir. Ela é cheia de falhas, e muitas delas são mais recentes. A maioria das novidades foram mal pensadas, e existem mais para dizer que tem o que as concorrentes têm, mas nas outras faz mais sentido e forma mais bem pensadas. Não tem como consertar certos problemas sem quebrar a compatibilidade. Não tem uma mágica que fará a linguagem ser melhor. Especialmente isso não acontecerá pela maneira como o processo é conduzido. Ela recebe novos recursos, ser bom é outra questão. Ela está evoluindo, melhorando é algo mais pontual." > "Me preocupa e diz muito sobre a comunidade que diz que versões mais novas consertou a linguagem. Aclro que alguma melhora aconteceu, mas teve pioras também e as pessoas não enxergam assim. Então naõ tem o que discutir, se a pessoa não vê ela acha que não existe." -------------------------------- > "Eu uso PHP como ela foi concebida. Não uso da forma como as pessoas usam hoje em dia porque tem ferramentas melhores para usar desta forma, ferramentas que foram feitas para usar desta forma. **Então hoje PHP tenta ser o que ela não nasceu para ser, e isso é ruim.** > Só é pior usar para algo que não seja backend web, onde até o criador da linguagem me disse pessoalmente que isso é errado." > "A linguagem continuará do jeito que está, evoluindo sem muito critério, as pessoas continuarão usando, e se você gosta dela não tem que se preocupar com nada. Se você já não desistiu então não tem porque fazer depois. **Só quem faz análises rasas acha que o passado do PHP é problema e agora está bom.**" > "PHP é das linguagens mais high profile que existem, e é responsável por tudo o que é, para o bem ou para o mal. Se ela não fosse tão visível ela não seria tão próspera. Me desculpe, mas essa visão eu tenho que discordar veementemente." > "O PHP é útil, não há dúvidas disso, caso contrário eu não usaria. **Mas para fazer sites simples.** > O PHP funciona para algo mais complexo que isso, não há dúvidas disso, caso contrário não teria tanta gente usando. Mas não é o mais adequado nessas circunstâncias, pelo menos não na maioria dos casos." > "**PHP é um framework com uma linguagem acoplada para produzir páginas web. Se quer mais que isso, tem soluções mais robustas, poderosas e eficientes. Por isso é estranho rodar um framework em cima de outro.**"
Vi que você comentou que leu e ele não citou os pontos, deixa eu ajudar, citando só uma das que diz isso: > "A linguagem PHP não é boa e isso até o criador admite. É direito de qualquer um discordar, mas quem costuma estudar linguagens sabe disso e não tem o que discutir. **Ela é cheia de falhas, e muitas delas são mais recentes. A maioria das novidades foram mal pensadas, e existem mais para dizer que tem o que as concorrentes têm, mas nas outras faz mais sentido e forma mais bem pensadas.** Não tem como consertar certos problemas sem quebrar a compatibilidade. Não tem uma mágica que fará a linguagem ser melhor. Especialmente isso não acontecerá pela maneira como o processo é conduzido. Ela recebe novos recursos, ser bom é outra questão. Ela está evoluindo, melhorando é algo mais pontual." > "Me preocupa e diz muito sobre a comunidade que diz que versões mais novas consertou a linguagem. Aclro que alguma melhora aconteceu, mas teve pioras também e as pessoas não enxergam assim. Então naõ tem o que discutir, se a pessoa não vê ela acha que não existe." 1 - Hoje em dia você consegue usar tipos em alguns lugares do PHP, mas não faz muito sentido, não foi bem pensado, não tem o mesmo funcionamento de uma linguagem com tipagem. 2 - O PHP tem `namespaces`, mas novamente não faz muito sentido, ele é mais uma "gambiarra" para "importar" outros arquivos PHP, o que é completamente diferente de outras linguagens. 3 - Você mesmo comentou sobre o Swoole, como se fosse pra compilar o PHP. Apesar de eu acreditar que não é isso que ele faz, também com toda certeza, não funciona da mesma maneira que a compilação de uma linguagem. 4 - Muitos frameworks e ferramentas são construídas pra fazer o que o PHP não veio pra fazer, como tentar usar pra criar SPA. Tem muito mais além disso, ou seja, além dos seus próprios problemas, a maioria das coisas no PHP é ele tentando fazer menos do que ele veio pra fazer e sim o que as outras linguagens fazem, só que nunca é como as outras, sempre fica como algo mal feito que não era pra ter esse funcionamento. Até inclusive coisas da linguagem que não estão em outras, são assim, como chamar variáveis com o valor de outra variável, isso é algo bem sem sentido, se pensar bem, sempre que alguém faz isso, estava querendo usar um array.
Achei os argumentos bem superficiais: **1. "Não tem o mesmo funcionamento que uma linguagem com tipagem":** As linguagens se dividem em categorias diferentes quanto ao uso de tipos (dinâmica, fraca, forte). Cada tipo traz prós e contras. Eu não posso dizer que uma linguagem é melhor ou pior que outra por usar uma tipagem de tal modo. Isso **Depende** muito do que eu quero em um projeto. Quanto ao uso de tipos em PHP, ele trabalha como outras linguagens dinâmicas que não tem tipagem estática e forte: Javascript, Python, Ruby, etc... Inclusive, após a versão 7 você pode usar tipos estritos. **2. "Gambiarra para importar (namespaces)"** Cara, você já usou namespaces no PHP? Nunca me deu nenhum tipo de dor de cabeça. Inclusive muitas linguagens populares nem trabalham com namespace, somente módulos. **3. "não funciona da mesma maneira que a compilação de uma linguagem (sobre Swoole)"** Eu sei como funciona, e realmente não é a mesma coisa que uma linguagem compilada, mas isso não faz diferença para o propósito ao qual foi feito, pois no final eu tenho um desempenho absurdo sem precisar de trabalhar diretamente com concorrência e paralelismo no código. Eu tenho até outros argumentos melhores a esse respeito, mas iríamos entrar em outro assunto. **4 - "Muitos frameworks e ferramentas são construídas pra fazer o que o PHP não veio pra fazer, como tentar usar pra criar SPA."** Esse argumento é o mais raso de todos, cheguei a rir aqui rsrsrs. A maioria das linguagens de backend pra Web tem frameworks para "simular" SPA, e isso não é um problema. Eu não uso. Quando uso PHP, é pra API Web mesmo. ------------------------------ Amigo, vou parar meus comentários por aqui. Agradeço pela conversa. Desejo sucesso a você! Abraço!
Nenhuma das respostas que deu para os 4 pontos fez sentido, só mostrou que realmente tenta fazer o que as outras fazem e realmente não funciona como deveria. Todas e principalmente a do namespace mesmo, se aplica muito ao "Pra funcionar não precisa ser bom". Deixo por fim essas conclusões que se aplicam ao seu último comentário: > "Debater tecnologia não deveria, mas é algo religioso. Em PHP costuma ser pior. Por alguma razão que eu não sei (ahhh, eu sei, mas é melhor não falar) tende a dar mais problemas que outras tecnologias. Vem seguindo de JS, Python, Java e depois começa ficar menos relevante, as discussões raramente acontecem. Eu vou só falar uma coisa, essas tecnologias costumam ter mais fanboys (PHP é a dos mais radicais), então você não pode fazer nenhuma crítica que você vira hater para eles. E aqui começamos entender o mundo PHP." ------ > "[...] Então hoje PHP tenta ser o que ela não nasceu para ser, e isso é ruim." ------- > "PHP é um framework com uma linguagem acoplada para produzir páginas web. Se quer mais que isso, tem soluções mais robustas, poderosas e eficientes. Por isso é estranho rodar um framework em cima de outro."