Bora ajudar o programador a transformar café em código?

Ainda vale a pena programar em PHP ?

Eu uso PHP há mais de 10 anos. O que eu acho engraçado é como algumas pessoas tiram sarro disso. Prefiro começar com o que as pessoas dizem que são as partes ruins (seguindo a opinião popular) e depois dizer como o PHP vai superá-las (se ainda não o fez)

Como programar em PHP


Mitos sobre o PHP

  • O PHP é lento: Bem, vamos escrever algoritmos científicos? Se sim, PHP não é bom. Mas usamos PHP para apresentar páginas da web. Dado esse uso, o PHP faz um ótimo trabalho sendo muito fácil de manter e desde que você tenha o entendimento de como a web funciona e quais são os padrões de software - o PHP irá atendê-lo bem por muito tempo.

    A propósito, o Facebook ocupa uma grande quantidade de carga e foi escrito usando PHP. No momento, eles o executam no HHVM, que é rápido e 'código aberto'. Portanto, caso você sinta que o PHP está lento, basta começar a usar o HHVM, que executa o código PHP muito mais rápido.

    E falando nisso, agora, o PHP7 é a linguagem de script mais rápida disponível em muitos benchmarks que você pode encontrar na web.

  • O código PHP é feio: É bem semelhante a dizer que "C++ é feio porque você lida com ponteiros". Se você não sabe o que quer fazer e não conhece as opções que o idioma oferece, tudo pode ficar feio!

  • PHP tem estruturas ruins: Cite 10 estruturas da web escritas em Node, Ruby, Python etc. e eu te mostro pelo menos 20 para bater de frente com elas,  em PHP. Confie na gente quando dizemos - não faltam bons códigos em PHP. Seja para Wordpress, Joomla e Drupal (frameworks CMS) ou Symfony, Yii, QCubed (frameworks de desenvolvimento).

  • O código PHP é insustentável: quantas vezes temos que mencionar o Facebook? Ou Yahoo? Se você sabe como manter o código, o PHP tem todas as opções disponíveis. Basta explorar. Mais uma vez: quem fala isso, nunca programou em PHP


  • PHP é para leigos: E o Windows também! E caso você seja da opinião "Não se deve usar o Windows porque é muito popular", sugiro - comece com C ++. É a melhor linguagem de programação da web que existe (e não, não estou sendo sarcástico).

  • PHP é apenas para web: Isso costumava ser um problema. Mesmo assim, se você é um novato e não conhece e quer aprender qualquer linguagem de programação de aplicativos (eu, pelo menos, estou bem com C/C++), por favor, aprenda outra coisa porque PHP faz web e é muito bom nisso.

    No entanto, o PHP está prestes a lançar a versão 7.1. A versão 7.0 já foi lançada e está ficando popular. Se você quiser usar o PHP na linha de comando, procure por Robo. Se você acha que não pode lidar com soquetes TCP brutos, procure o Socket Server do React. Ele pode ler e gravar arquivos, conectar-se a bancos de dados de quase todos os tipos, analisar todos os tipos de dados e existem inúmeras bibliotecas e extensões disponíveis para a maioria dos outros tipos de trabalho no sistema. O PHP não é mais apenas para a web. Estude!

  • PHP é muito novo: Há quem diga que PHP é imaturo. Eles estão errados. Existem dois problemas - i) o PHP se tornou tremendamente popular em muito pouco tempo e ii) o PHP não foi projetado para ser uma linguagem desde o início - então começou sua jornada na direção errada (Veja sobre o PHP na Wikipedia). As pessoas que entraram em contato enquanto ele eram novatos e não se atualizaram sobre o PHP, e tendem a pensar que o PHP é coisa de leigo.

    O PHP hoje tem tudo o que você deseja em uma linguagem de script/programação web de alto nível. Exceções, Classes, Interfaces, Closures, Namespaces, Traits (para trazer recursos de múltiplos conceitos de herança), Geradores (para facilitar co-rotinas) e outros! Muitos dizem que o PHP não possui recursos suficientes quando comparado ao Python.

    Embora eu seja um apaionado por Python, não há nada que o PHP também não possa fazer. Em uma perspectiva mais ampla, a maioria das linguagens com ampla popularidade pode fazer quase tudo que um programador comum precisa. Quase todas as línguas podem fazer tudo. Pense nisso - você pode escrever código do lado do servidor, consultas de banco de dados, serviços e observadores usando Javascript - uma linguagem que foi projetada para rodar dentro de um navegador! Não, o PHP não é mais imaturo. Se você ainda tem aquela imagem ~(versão 5.2) em sua cabeça, livre-se dela. O PHP mudou.


  • O PHP tem nomes de funções e ordens de parâmetros inconsistentes: e se a versão 7.2 esclarecer isso? Você se arrependeria? Existem muitos frameworks que corrigem isso e, assim que terminar com o básico do PHP, coloque-se em um framework. Escrever código espaguete em PHP é fácil (isso é bom (quando você realmente precisa de uma solução rápida) e ruim (se você perder o controle, está condenado)), então você deve ver como os frameworks dividem a carga de trabalho e organizam o código em PHP. Comece com Symphony ou Yii ou QCubed (meu favorito). Além disso, há uma proposta para corrigir essa consistência: rfc:consistent_function_names.

Vamos aos motivos pelos quais você deve considerar o PHP.

As vantagens de Programar em PHP

É muito fácil começar com: se burros tivessem dedos, eles seriam capazes de escrever PHP. E realmente, por que você deveria tentar fazer a mesma coisa de uma maneira mais difícil? Se você quiser, aprenda Java ou C++. Você pode fazer maravilhas com eles também. Mas para começar com a web - PHP é a escolha.

  • Suporte da comunidade: Alguns acreditam que o PHP cresceu porque foi escrito por estúpido para estúpido. Ahem, está rodando bem cerca de 75% da web. Isso é estúpido? De pequenas plataformas de blogs a grandes sistemas CMS sofisticados - o PHP faz tudo. E por esse motivo, há uma grande chance de que, quando você pesquisar por questões de estilo "como fazer algo em PHP" - já haja uma ótima postagem no blog escrita por alguém sobre isso.
  • Ótima documentação: Se você acha que a documentação do PHP é ruim, tente ler Java ou Python. Ou Rubi. Cada linguagem é simples para um certo tipo de mentalidade. Mas uma linguagem que para muitos é simples, na verdade é algo grandioso (opinião pessoal). O PHP também é ótimo para iniciantes, porque é simples. ["Simplicidade é sofisticação" - Da Vinci]
  • O PHP NÃO carece de recursos modernos: Quais recursos modernos? Já listei alguns deles. Chegando ao lado do cliente - a maior parte do desenvolvimento do HTML5 foi no lado do JavaScript. Se você acha que não pode escrever um servidor sem bloqueio (como o NodeJS), consulte o Event Loop do React, ou sincelo, ou outras bibliotecas semelhantes.
    Como Closures agora estão disponíveis, você pode escrever serviços sem bloqueio em PHP com bastante facilidade. Construída sobre elas está a biblioteca phpws (e há outras, estou apenas listando quais estou usando) que permite que você execute websockets. Quais recursos modernos estamos perdendo aqui?
  • PHP é seguro: E qual linguagem não é? A segurança depende do programador, tanto quanto da linguagem. Todas as línguas têm pontos fracos e pontos onde as verificações podem ser contornadas e as paredes podem ser quebradas. Se eu for um idiota, vou escrever um código vulnerável de merda em qualquer idioma. Todas as línguas têm seu conjunto de pontos vulneráveis. O mesmo acontece com o PHP e, como todas as outras linguagens, o PHP fornece ferramentas, dicas e API para evitar isso. Você precisa se concentrar em aprender a usá-lo do que culpar o idioma.
  • PHP tem tipos estritos para parâmetros e valores de retorno: PHP, até agora não tinha tipos de dados estritos para valores escalares em parâmetros de função e suas funções não podiam prometer que um determinado tipo de dados seria retornado. Bem, agora eles podem. O PHP7 tem um ótimo suporte para tudo isso.
  • Já vi pessoas que dizem coisas como “um triplo operador igual a (===) PHP? Sério?".
    Isso soa nada mais do que um efeito ruim de ler muitos artigos isca de cliques (se é que existe tal termo) na web. Se você já chegou a um nível intermediário de desenvolvimento da Web e fez algum trabalho em Javascript, saberia que um operador triplo igual a é amplamente usado em Javascript. E se você ainda não trabalhou nisso, ainda não conhece bem o suficiente sobre a web.


A grande verdade sobre o PHP

PHP não é a melhor linguagem para ensinar como as coisas funcionam. Na verdade, ele não ensina nada, exceto recursos no nível do idioma. Se você quer aprender programação web sem entrar em muitos detalhes, PHP é o melhor. Mas se aprender sobre como o sistema (SO, aplicativos e memória) funciona é/foi seu objetivo, por favor, certifique-se de aprender algo além de PHP, porque PHP é tão fácil que não ensina quase nada. 

Minha sugestão pessoal foi aprender C, C++ e PHP.
Com esse conjunto, você tem quase tudo coberto - PHP para a Web em movimento rápido, C e C++ para qualquer tipo de aplicativo imaginável; ou se você quiser criar um sistema operacional ou escrever drivers ou qualquer outra coisa - esse conjunto funciona bem!

Lembre-se de que não é C, C++, Java, PHP, Python, Ruby, Haskell ou qualquer outra coisa que você precisa aprender. O que você precisa aprender é 'programação'; para comandar a máquina e fazer com que ela faça o que você quiser. Qualquer coisa funciona (não, realmente, funciona). Se o seu programa pode ser escrito em Basic e Basic faz o trabalho - Basic é a linguagem que você precisa aprender. Felizmente, o PHP é muito mais poderoso. O PHP não foi construído por idiotas. Se tivesse, já estaria morto. Mas veja, é o mais dominante. Além disso, deixe-me repetir para você - só porque algo é fácil, não significa que não seja poderoso.

Idealmente, uma linguagem deve ser consistente e bem projetada. Mas se você conhece um pouco a história do PHP, provavelmente perdoaria sua loucura às vezes (e há algumas, em todas as linguagens). O PHP não deveria ser uma linguagem completa. O PHP era apenas um pequeno truque para programar uma página da web dinamicamente. 

Ele foi projetado para não programadores em uma época em que C e C++ eram as linguagens mais populares. Mesmo Java não estava realmente por aí! PHP estreou com Java (cerca de um mês mais novo que Java) Links: PHP - Wikipedia e Java (linguagem de programação) - Wikipedia. Era para ser uma ferramenta de script leve para pessoas que não levavam muito a sério a programação de suas páginas da web. Até mesmo seu criador Rasmus Lerdoff diz que não pretendia construir uma linguagem de programação. 

Em vez disso, ele só queria escrever uma ferramenta para criar scripts de páginas da web e continuou adicionando recursos e se transformou em uma linguagem. Como tal, a própria base do PHP como linguagem é um pouco instável - é uma linguagem que não deveria ser uma em primeiro lugar. Tornou-se uma linguagem completa muito mais tarde (eu diria que quando chegou à versão 4). Ele amadureceu por 10 anos enquanto estava em sua era 5.x e agora é projetado razoavelmente bem o suficiente para competir com outras linguagens na versão 7. Avançando, as mudanças se tornam muito mais difíceis porque há muito código que depende do características e comportamento que a linguagem fornece. Mesmo assim, a maneira como o PHP 7 foi capaz de lidar com tudo o que foi escrito no PHP 5 sem causar caos entre nós, desenvolvedores, é bonita por si só. Pergunte a uma pessoa que migrou da versão 2.x do Python para a versão 3.x e você provavelmente entenderá. Sim, existem partes ruins no design do PHP, mas entenda isso: quanto mais flexibilidade você deseja de uma linguagem (ou qualquer coisa no mundo real), menos rígida ela se torna. 

PHP, na minha opinião pessoal, oferece o melhor dos dois mundos - estrito e fraco; especialmente com a versão 7. Você decide quais partes do seu aplicativo podem ser fracas e quais são restritas e ele apenas se adapta! O resto é com o programador.

Código é poesia. E os poemas são escritos em todas as línguas. Você precisa do ritmo e da emoção mais do que da gramática e da previsão; se você tem ritmo e emoção, pode escrever poemas em todas as línguas deste mundo e além.


Atualização do post

EDIT: É 2015 agora. Mas o que eu disse ainda é verdade! Além disso, supostamente o PHP 7 terá um novo mecanismo tornando-o cerca de 70% mais rápido. As APIs também serão mais consistentes. Um pouco mais de segurança e, obviamente, alguns novos recursos serão introduzidos. Então segure firme. Nesse ínterim, o PHP tem executado quase 80% da web para você (verifique a Wikipedia, os números podem subir e descer um pouco; e, a propósito, a Wikipedia também roda em PHP). Saúde.

EDIT 2: É 2016 e o PHP ainda está no poder. O PHP 7 é significativamente mais rápido e muitas pessoas estão migrando sua base de código para a nova versão. Ainda funciona.

EDIT 3: É 2017. Atualizei a resposta mantendo o PHP 7 em mente.

EDIT 4: 2019 chegou. A pergunta foi feita em 2014 e a pessoa que a perguntou temia que o PHP morresse. Estou um pouco mais sábio por ter trabalhado em Ruby on Rails, Java e Go também. Mas PHP é o que considero melhor para a web.

EDIT 5: 2022 chegou. Mantenho minha resposta hoje também. O PHP ainda não está morto. Perdeu o título de “legal” mas não deixa de ser uma linguagem muito poderosa e se for criar sites que você procura, o PHP será uma ótima escolha, ainda hoje.

Nenhum comentário:

Postar um comentário

Veja também

O melhor PC para programar

O melhor celular para programar