Páginas

4 de jul de 2012

História do PHP

Muitas vezes, nos preocupamos tanto em aprender algo que acabamos negligenciado todos os processos e fatos que ocorreram até que esta se tornasse um sucesso mundial.
Quase sempre quando se vai contar a história de uma determinada linguagem, pensa-se logo em um texto chato, massante e que parece não acrescentar nada realmente útil ao nosso conhecimento. Porém na maioria das vezes percebo que é justamente o contrário, e que o conhecimento e os atos de grandes nomes da história acaba motivando e servindo de inspiração para todos.

Para começar, nada melhor que falar do criador da linguagem, Rasmus Lerdorf, nascido em novembro de 1968 na Groelândia, Rasmus cresceu na Dinamarca e no Canadá. Desde o início sempre foi apaixonado por tecnologia (curiosamente não gostava muito de programação) e em 1993 concluiu sua graduação em Engenharia de Sistemas na Universidade de Waterloo no Canadá.
Certa vez, trabalhando para uma empresa brasileira situada em Mountain View, Califórnia, viu o Mosaic , primeiro navegador web criado no Centro Nacional de Aplicações de Supercomputação (NCSA), em Ilinóis. Logo de cara, Lerdorf percebeu que a web poderia ser uma plataforma alternativa para o desenvolvimento de sistemas. Acreditando nesse mercado potencial, ele resolveu pedir demissão e voltar para o Canadá, onde começou a prestar serviços de consultoria para manter sua renda enquanto desenvolvia algo maior.
Durante 6 meses de trabalho, em 1993 ele se viu desenvolvendo repetidamente os mesmo scripts CGI em linguagem C. Para simplificar se trabalho Rasmus criou uma biblioteca com esses programas, que analisavam o codigo HTML e faziam chamadas a rotinas C. Um dos seus primeiros códigos foi:



<HTML>
  <HEAD>
    <TITLE>My Personal Home Page</TITLE>
  </HEAD>
  <BODY>
    This is my cool page
    <P> And look at my counter<P>
    <IMG SRC="/cgi-bin/counter.pl">
  </BODY>
</HTML>



Em 1994 a ideia inicial era fazer funcionalidades para seu site pessoal, principalmente voltadas para a análise de dados vindo de formulários, e por isso batizou se parser (analisador) de “Personal Home Page / Forms Interpreter” ou PHP/FI.
Além de criar sua biblioteca, Rasmus resolveu também disponibilizar o código-fonte abertamente para que outros programadores pudessem realizar aprimoramentos e correções. Aos poucos a biblioteca de instruções suportadas foi aumentando e todos os códigos eram injetados em meio os comentários HTML:


<HTML>
  <HEAD>
    <TITLE>My Personal Home Page</TITLE>
  </HEAD>
  <BODY>
    <!-- sql database select * from table where user = '$user' -->
  </BODY>
</HTML> 


Em 1995 o parser foi modificado para suportar múltiplas linhas em uma mesma supertag, que passou a ser representado por <? e >.


A partir daí, o PHP/FI começou a crescer pelas mãos do seu fundador e em 1997 foi lançada a versão 2.0, com novos recursos. Note, que até o momento, não se menciona o termo “Linguagem de Programação” pois até então o PHP/FI não era mais do que uma biblioteca de instruções simplificadas que eram analisadas pelo parser criado por Lerdorf.
Mesmo sendo um projeto bem pequeno, o PHP/FI já tinha conseguido conquistar desenvolvedores no mundo inteiro, e aproximadamente 50mil domínios já faziam uso do parser (cerca de 1% da web, na época). A prova disso surgiu em novembro de 1997 quando 2 programadores israelenses descobriram que o código de Lerdorf poderia auxiliar em um projeto da faculdade: criar um site de e-commerce.

Zeev Suraski, Andi Gutmans e outros programadores resolveram utilizar apenas o fundamento utilizado por Lerdorf e reescrever completamente o parser do PHP/FI, transformando-o em uma verdadeira linguagem de programação.
A versão 3.0 surgiu em junho de 1998 e ganhou tantos recursos que o termo “Personal Home Page” ficou muito modesto para representar o real tamanho do projeto. Porém Zeev e Andi não queriam se desvincular da sigla e resolveram manter a sigla PHP.
Historicamente um dos recursos que confere grandiosidade às siglas, é usar acrônimos recursivos. Nesse formato, uma das letras é a própria sigla o que cria uma interessante e infinita referência circular, como nos exemplos:
  • GNU significa GNU is Not Unix
  • BING significa BING Is Not Google
  • VISA significa VISA International Service Association
Sendo assim a sigla PHP ganhou um novo significado: PHP Hypertext Preprocessor o que conferia à linguagem um nome mais intenso. Mas essa alteração do nome não foi a maior mudança pela qual a versão 3.0 passou. A biblioteca ganhou características de linguagem, além de uma API que permitia a construção de extenções, fato que contribuiu para conquistar ainda mais desenvolvedores interessados em criar aprimoramentos para o PHP.
Paralelamente Zeev e Andi começaram a melhorar ainda mais o parser do PHP e criar uma engine que permitisse a execução de scripts ainda mais poderosos. Essa nova engine foi batizada de “Zend Engine” (uma junção de ZEev e aNDi) e trazia novidades, como suporte a múltiplos servidores, sessões HTTP, manipulação segura de inputs e buffer de saída.

Baseado na Zend Engine, em maio de 2000 surgiu o PHP 4.0, com um grande ganho de performance, já que deixava de analisar o script em tempo de execução e gerava uma pre-compilação para um código intermediário, que era interpretado pela Zend Engine. Além disso, a preocupação com segurança foi um dos pontos mais importantes na versão 4.0, já que nesse ponto o PHP já estava instalado em mais de 20% dos servidores da web.


Em 2002 as linguagens orientadas a objeto ganharam força. Pensando em manter o PHP Zeev e Andi resolveram reescrever o núcleo, dando origem a Zend Engine 2.0 que foi a base para o lançamento do PHP5 em 2004

Atualmente Zeev e Andi estão à frente da Zend Technologies, que entre outros projetos desenvolve o Zend Framework, o Zend Studio, e oferece a certificação oficial PHP. A Zend Technologies está situada em Copertino na Califórnia, mas possui filiais em Israel, França, Itália e Alemanha.
Desde 2002 Rasmus Lerdorf trabalha na Yahoo! como engenheiro de infraestrutura e já veio no Brasil em diversas ocasiões inclusive a poucos dias em uma palestra via videostreaming no Serpro, sobre novidades do PHP5.3, ferramentas de debug como o Xdebug e o call_grid entre outros.
Atualmente estamos na versão 5.3.6 (stable) do PHP, sendo que o desenvolvimento do PHP6 já está em andamento há muito tempo. Para essa nova versão existem duas grandes mudanças positivas, agora na versao 6 do PHP, o mesmo dará suporte a Unicode, tornando as aplicações escritas em PHP mais internacionalizáveis, aumentando a flexibilidade do que pode ser escrito com a plataforma. A segunda mudança, positiva, é o aumento de performance do núcleo.Muitas outras mudanças já foram declaradas e estão sob constante discussão nas listas oficiais do PHP. Em um próximo post podermos discuti-las em mais detalhes.
Espero que essa história não o tenha entendiado durante a leitura, e que sirva de inspiração para tocar seus projetos pessoais, mesmo aqueles que já o levaram a perder as esperanças. Não desanimem!

Nenhum comentário:

Postar um comentário