A polêmica em torno do fim do suporte ao Python 2 só cresce à medida que se aproxima a data de encerramento do mesmo. Para quem ainda não sabe, todo e qualquer suporte deve acabar oficialmente, após adiamentos, dia primeiro de janeiro de 2020, ou seja, na virada do ano. O fim do Python 2 se aproxima. Porém, o código antigo do Python 2 permanecerá por muitos anos. E talvez este seja o motivo pelo qual muitos desenvolvedores perderão o prazo estabelecido.
Em agosto, o National Cyber Security Centre (NCSC) do Reino Unido alertou que as organizações deveriam migrar o código do Python 2 porque a partir de 1º de janeiro de 2020 não receberá mais correções de segurança.
Se você continuar usando módulos não suportados, estará arriscando a segurança da sua organização e dos dados, pois as vulnerabilidades aparecerão mais cedo ou mais tarde, que ninguém está consertando, afirmou.
Esse problema é agravado pelos desenvolvedores que criaram dependências ou bibliotecas de software com o Python 2, que, por sua vez, impedem que os desenvolvedores downstream atualizem para o Python versão 3.
O fim do Python 2 se aproxima. Muitos problemas pela frente?
Tem sido um caminho lento para conseguir que os desenvolvedores migrem as bases de código para o Python 3, lançado em 2008. Seis anos antes do Python 2 chegar ao fim de sua vida, o recém-aposentado criador do Python Guido van Rossum declarou em 2014 que “é hora de passar para o Python 3”.
Existe até um relógio de contagem regressiva para lembrar às pessoas exatamente quantos minutos de suporte restam para o Python 2.7. Atualmente, é apenas um mês mais algumas horas durante 16 dias.
Vicki Boykis, uma cientista de dados norte-americana, agora descreveu no blog Stack Overflow suas opiniões sobre por que os desenvolvedores estão demorando tanto para portar seu código Python 2 para o Python 3.
Ela coloca parte da culpa na descrição de van Rossum do Python 3 no documento oficial ‘Python Enhancement Proposals’ (PEP), que inicialmente caracterizou o Python 3 como uma “melhoria relativamente leve do Python 2”.
Muitas pessoas não mudaram para o que consideravam um inconveniente principalmente, escreve Boykis. Naquele momento, a maior diferença foi a alteração da declaração de impressão para a sintaxe da função Python, que quebrou muito código. Como resultado, o Python 2 continuou em desenvolvimento ativo.
Outro grande obstáculo à migração do Python 3 é que ele não é compatível com o Python 2.
Como resultado, as principais bibliotecas hesitaram em mudar para a plataforma (…), e era difícil portar o código com a falta de ferramentas de suporte”, observa ela.
Felizmente, ao longo dos anos, o Python 3 ganhou melhorias substanciais nos recursos que o ajudaram a se tornar o padrão para novos desenvolvimentos. Porém, isso não é necessariamente verdade para os projetos existentes.
No entanto, embora as dependências possam ser um empecilho para a migração do Python 3, houve progresso. Após uma pesquisa com desenvolvedores de Python, o fabricante de IDE JetBrains previu que todos os desenvolvedores iriam para o Python 3 antes do fim da vida útil do Python 2.
Também foram úteis as principais migrações de Python 2 para Python 3, que ocorreram no Dropbox no outono de 2018. O Dropbox, é claro, contratou van Rossum para ajudar a gerenciar seus enormes quatro milhões de linhas de código Python. Outras grandes migrações do Python 3 aconteceram no Instagram e no Facebook nos últimos anos.
Setor bancário deve ser impactado
Entretanto, embora os gigantes da tecnologia possam ter migrado com sucesso, Boykis calcula que algumas organizações, como bancos, continuarão usando o Python 2. Daí o alerta da NCSC, que provavelmente foi direcionado ao maciço setor bancário do Reino Unido.
A plataforma de negociação Athena do JPMorgan é supostamente construída em 35 milhões de linhas de código Python 2.7. Além disso, de acordo com um relatório da eFinancialCareers, o gigante do setor bancário iniciou sua migração para Python no final de 2018. O Instagram iniciou sua migração em 2017.
Boykis ressalta que, em setembro de 2019, pelo menos 40% de todos os pacotes baixados do The Python Package Index (PyPI) são da versão 2.7. Essa proporção diminuiu, mas ainda é um número impressionante, dada a proximidade do fim da vida útil do Python 2.
A maioria das grandes organizações, fora do hype do ciclo de publicações de notícias técnicas, se move muito mais lentamente do que a imprensa ou os blogs imaginariam. A maioria dos grandes bancos ainda está executando algumas variações do Fortran e do COBOL, por exemplo, escreve Boykis.
Com relação ao Python 2, veremos que o número de 40% diminui ainda mais em 2020, mas as mudanças serão incrementais e haverá empresas executando o Python 2.7 no futuro.
Fonte: ZDNet