Lançado o Python 3.12! E como de praxe, um monte de novidades…

O que mais posso falar sobre o Python? Para mim, um especialista em TI e que há algum tempo, está se “aventurando” no mundo das Redes Definidas por Software (SDN), esta linguagem de programação se tornou uma das principais tecnologias a serem dominadas, juntamente com os novos protocolos de redes de computadores, plataformas de virtualização e computação em nuvem. Além de ser uma das linguagens mais populares do mercado (segundo o índice TIOBE), Python também se destaca por possuir um apelo bem “especial”

“Python 3.12 is the latest stable release of the Python programming language, with a mix of changes to the language and the standard library. The library changes focus on cleaning up deprecated APIs, usability, and correctness. Of note, the distutils package has been removed from the standard library. Filesystem support in os and pathlib has seen a number of improvements, and several modules have better performance. The language changes focus on…”

— by Python.

Por isto, venho acompanhando de perto a sua evolução, além de publicar muitas informações sobre esta linguagem, bem como as aplicações e serviços que interagem e fazem o uso dela. Dentre as novidades mais esperadas, estão as atualizações regulares que são feitas pela Python Software Foundation, além do apoio e suporte da sua fiel comunidade de usuários. No início desta semana foi lançada a versão 3.12, que por sua vez trouxe uma série de melhorias para a própria linguagem e suas bibliotecas, como também alterações que a tornam mais prática e produtiva sob diversos aspectos!

Em destaque, as melhorias feitas pela PEP 695, a qual define uma sintaxe aprimorada para especificar parâmetros de tipo dentro de uma classe genérica, função ou alias de tipo, além de introduzir uma nova instrução para declarar aliases de tipo. Já a PEP 701, irá fornecer uma gramática formalizada para strings F que possa ser integrada diretamente no analisador, permitindo um número considerável de vantagens para usuários finais e desenvolvedores de bibliotecas, ao mesmo tempo que reduz drasticamente o custo de manutenção do código dedicado para as análises. Por fim, outras mudanças menos significativas estão relacionadas aos PEPs 684 (introdução de um GIL exclusivo por interpretadores), 669 (baixo impacto em monitoramento de eventos) e 688 (introdução do suporte para protocolos de buffer).

Também foram feitas as habituais correções de segurança, com destaque para a substituição das implementações hashlib integradas de SHA1, SHA3, SHA2-384, SHA2-512 e MD5, por código formalmente verificado do projeto HACL, permanecendo como substitutos que são usados apenas quando o OpenSSL não as fornece. Já em relação as otimizações, estas estão relacionadas a já citada PEP 688 (a qual possibilitará uma melhor performance em sistemas multiprocessados) e a PEP 709 (capaz de duplicar a performance na maneira com que lida com as funções aninhadas relacionadas ao uso de dicionários, listas e conjuntos de dados).

Para obter maiores informações, não deixe de consultar as notas de lançamento.

Para aqueles que também queiram de “aventurar” na linguagem de programação Python, recomendo o cadastro na plataforma Skills for All para se matricularem nos cursos Python Essentials 1 e 2, oferecidos de forma gratuita sob a modalidade auto-didata. Porém, estejam cientes de que apenas o primeiro curso da série possui tradução para o português, ao passo que o curso seguinte ainda está em inglês e espanhol (a tradução já está a caminho). Quem sabe, ele já esteja disponível em português, assim que concluírem o curso anterior?

Inclusive, estarão preparados para a certificação PCAP… &;-D