• Retrocompatibilidade das Séries do Python na Versão 2.7

    Recentemente, os desenvolvedores do Python anunciaram o lançamento da versão 2.7 de sua prodigiosa linguagem de programação (e de scripts). O Python é uma linguagem que a cada dia cresce mais na adoção, aceitação e uso pelo público. Esta é a maior atualização da série 2.x, e agora os desenvolvedores poderão retornar seu foco para a continuidade do desenvolvimento da série 3.x. Com isso, a série 2.x entrará em modo de caça aos bugs, e nenhuma novidade será implementada. Mas e como fica a compatibilidade entre as principais séries em desenvolvimento do Python?

    É claro que as novas funcionalidades continuarão a ser desenvolvidas para a série 3.x do Python, que atualmente está parada, em estado de "moratória" por mais um ano. Isso permitirá que os desenvolvedores possam planejar a migração.

    Para quem não sabe, a série 3.x não possui compatibilidade com a série 2.x. Por isso os usuários terão de escolher, entre ficar na versão 2.7 ou migrarem para a última versão da série 3.x do Python, atualmente na 3.1.2. Porém, o Python 3.1.2 ainda não está sólido o suficiente para atender as necessidades de ambientes de produção, muito menos em missão crítica.

    Para aqueles que4 não desejam migrar para a série 3.x, o Python 2.7 é a melhor escolha, já que está focado em portabilidade com as inúmeras funcionalidades que serão incluídas no Python 3.1. A exemplo, a biblioteca de I/O (E/S) baseada na linguagem C, destinada para a alta performance. Também temos a adição de um dicionário de tipos ordenado, e a nova sintaxe para aninhamento com declarações. Dentre as outras funcionalidades voltadas para a compatibilidade com a série 3.x, destacam-se a nova sintaxe para conjuntos literais, dicionários e conjuntos de compreensões, além de um objeto memoryview, para a exposição de dados armazenados.

    Isso significa que, diferente do Python 3, essas alterações na versão 2.7 não quebram a compatibilidade com a atual série 2.x, e seu código deverá rodar sem problemas. Essas alterações. Em teoria, você terá o melhor de dois mundos: a compatibilidade com a atual série 2.x, que é largamente utilizada em ambientes de produção e missão crítica e; poder fazer uso de muitas das novidades que estão sendo incluídas na série 3.x, para solidificar a futura versão estável do Python, a 3.1, que será lançada em breve.

    Sei que muitos que já utilizavam a série 2.x do Python em ambientes de produção, ficaram preocupados com o crescente avanço da série 3.x, seguida de sua óbvia incompatibilidade com a série ainda considerada como principal. Todos sabem, e a história já nos mostrou isso: toda evolução de linguagem de programação, se feita de forma apressada, gera problemas com incompatibilidade. E preocupados com isso, os principais desenvolvedores, a pedido do criador da linguagem, haviam instaurado uma moratória na série 3.x.

    Isso significa que nenhum usuário dessa linguagem sairá prejudicado. A prova disso é o recente lançamento da versão 2.7, que funciona como uma ponte tanto para os usuários mais antigos que querem compatibilidade e novos recursos para a série 2.x, quanto para os novatos, que costumam iniciar seu aprendizado pelas versões mais avançadas da linguagem (no caso do Python, a série 3.x).

    A prova dessa segurança é que o Python 2.7 deverá permanecer em uso para ambientes de produção e missão crítica por um longo tempo. E baseado nisso, os desenvolvedores decidiram criar algumas decisões políticas. A primeira delas é que o período de manutenção do Python 2.7 deverá ser de dois anos. A segunda, refere-se aos alertas (warnings) do sistema. No Python 2.7, os alertas sobre funcionalidades que podem ou não serem alterados na versão 3.x, estão automaticamente desabilitados. O motivo? Simples! Por que deixar habilitado algo que o usuário não vai poder fazer nada a respeito? Claro que, os usuários que desejarem habilitar os alertas (muito útil para desenvolvedores) poderão adicionar a linha de comando a opção -Wd.



    Notícias Relacionadas:

    - Curso de Python Gratuito no Under-Linux


    Links de Interesse:

    - Python 2.7 released