compilador


Eu é claro também fiz o teste pra ver que linguagem de programação eu seria. E o resultado foi nada surpreendente:

You are PHP.  You enjoy the World Wide Web.  You are constantly changing the way you do things, and this tends to confuse people who work with you.

Veja aqui, se você fosse uma Linguagem de Programação que linguagem você seria?

ps.: Eu gostaria mesmo era de ser o C++ ihihi:

E eu não parei e fiz também “Que sistema operacional seria você?”. Esse eu gostei mesmo do resultado:

You are Debian Linux. People have difficulty getting to know you.  Once you finally open your shell they're apt to love you.
Which OS are You?

É essa semana como se já não tivesse coisa demais pra fazer resolvi dar uma olhada no código-fonte do PHP4. Essa onda de programador open-source vira e mexe vem bater na minha praia.

Baixei. É legal bem organizado (é bem verdade que comentário no código é zero quase não tem), tem o código das extensões separado do núcleo do compilador (o que é algo bom) que é criado pela Zend.

“Uma coisa dessas desemploga…”

Fiquei meio desiludido ao ver no código-fonte do compilador que ele foi feito usando o FLEX e o YACC. Na disciplina de compiladores na universidade eu vi essas duas ferramentas que são geradores de analisadores léxicos e sintático-semânticos, mas na hora de construir, eu e meus colegas, construímos do zero afinal apesar do FLEX ser uma ferramenta muito legal o código que ele gera (por motivos óbvios) não é bem otimizado.

Daí resolvi pegar o código-fonte do PHP5 já que nesta versão eles anunciaram que reescreveram o núcleo do PHP para melhorias de performance e adicionar o suporte a Orientação a Objetos de verdade. Que alívio não tem mais FLEX na história eles realmente escreveram o núcleo do zero o que provavelmente deve ter dado um ganho de performance bem interessante.

Esse talvez seja um dos grandes trunfos do software livre eu posso ir lá e ver que a versão mais nova realmente melhorou está lá no código. Como eu vi um dia desses num desses sites de software-livre “Use a força: leia o fonte!”.