PHP 5.4 representa um amadurecimento da linguagem e do seu processo de lançamento

Nesta entrevista a Alê Borba, gerente de TI do iMasters, Rafael Dohms, desenvolvedor sênior em PHP na WEBclusive, fornece detalhes do impacto do PHP 5.4, que foi lançado recentemente. Entre eles estão a remoção de features legadas e a importância do Traits, uma implementação de herança múltipla ou re-uso horizontal.

1. A versão 5.4 do PHP foi uma das mais esperadas. Por que ela é considerada esse divisor de águas?
Acredito que em termos de código e features, a versão 5.3 foi a mais esperada, mas a 5.4 representa um amadurecimento da linguagem e do seu processo de lançamento. Acho que é isso que mais chama atenção nessa versão, mesmo contando com Traits, sintaxe simples de arrays e outras pequenas mudanças. A linguagem agora possui um padrão de RFCs e um período de lançamento, e isso deve levar a muito crescimento.

2. Existe alguma feature legada que será removida e que deve ganhar a atenção dos desenvolvedores?
Para o bom desenvolvedor, nada de crítico mudou. As modificações que realmente saíram dessa versão já haviam sido anunciadas há muito tempo e já deveriam ter sido resolvidas em seu projeto. Entre elas estão o magic_quotes, o register_globals e a grande inutilidade chamada safe_mode, que de seguro só tinha nome – todas elas sumiram de vez na nova versão.
O upgrade não deve causar incompatibilidade de código, a não ser que você esteja fazendo algo errado como usar register_globals, que já não usamos faz tempo, certo? Mas de forma geral os BC breaks são poucos e não devem causar problemas.

3. O pessoal tem falado muito sobre o Traits. Por que ele é tão importante e quais outras grandes novidades há nessa versão?
O Traits abre muitas possibilidades ao desenvolvedor, porém pode também ser usado para o lado negro da força. De uma forma geral, ele é uma implementação de herança múltipla ou re-uso horizontal. Ele não é uma herança múltipla natural, pois não é feito herança nesse caso; o Traits basicamente faz um copy & paste em tempo de compilação. Com isso, você não pode tratar funções de Traits como funções herdadas, mas ele potencializa muito o re-uso de código, o que é muito bom. A meu ver, ele vem para promover exatamente isto: que desenvolvedores economizem código em certos casos. 
Outras grandes novidades são a sintaxe curta de arrays, que agiliza e limpa o código mais um pouco, o de-referenciamento de funções (foo()[0], acesso direto a resultados "array" de funções) e o acesso na instanciação, estilo:(new Foo)->bar(). Vale citar também que o atalho de echo <?= agora está sempre ligado, Closures aceitam $this, e o PHP agora tem um servidor embutido para facilitar testes, por exemplo, assim como o ruby faz.

4. O que podemos esperar das próximas versões?
A discussão de features ainda não começou, mas eu acredito que a grande novidade fique mesmo com o novo processo, que promete o lançamento anual de novas versões, ou seja, o php-next (5.5 ou 6) estará aqui no início de 2013. Neste momento, já se discute o fim de vida do PHP 5.3, e esse processo deve agilizar a adoção de novos releases de forma geral, o que pra mim é uma grande vantagem e será bem-vinda.

0 comentários:

Postar um comentário

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More