A lista mais recente do índice Tiobe coloca o Python como a linguagem de programação mais popular do momento, à frente do C, Java, C++ e C#. Logo, melhorar a experiência dos desenvolvedores que trabalham com o Python é, sobretudo, questão de comprometimento com a comunidade. Via Twitter, Pablo Galindo Salgado, integrante do conselho da linguagem, tratou de deixar claro que esse comprometimento é levado a sério:
Python até 60% mais rápido
Comecemos pela novidade mais relevante. Em relação à versão 3.10, o Python 3.11 é entre 10% e 60% mais rápido no trabalho com certas instâncias. Em outras, pode não haver ganho perceptível de desempenho. Mas, de modo geral, é de se esperar que o desenvolvedor que trabalha regularmente com a linguagem note a diferença. Falando especificamente do CPython (a principal implementação da linguagem), o ganho médio de desempenho é de 25% na comparação com a versão anterior. Esse resultado foi alcançado no pyperformance (ferramenta de benchmark) com o CPython 3.11 compilado via GCC no Ubuntu Linux. Há vários fatores que contribuem para isso. Por exemplo, as chamadas de função agora demandam menos memória. Além disso, o interpretador do Python agora inicializa mais rapidamente — algo entre 10% e 15% mais rápido em relação à versão 3.10.
Mensagens de erro mais claras
Mensagens de erro são exibidas para alertar que alguma coisa está errada, obviamente. Mas, não raramente, o desenvolvedor tem que gastar neurônios para descobrir onde, exatamente, está a falha. Talvez esse problema continue existindo no Python 3.11 de alguma forma, mas em uma escala muito menor. Isso porque a nova versão traz mensagens de erro projetadas para indicar o local do erro com precisão. No Twitter, o desenvolvedor Ned Batchelder mostra como isso faz diferença. Repare que, no segundo código do exemplo dado por ele, em Python 3.11, os caracteres ~ e ^ são usados para indicar em qual expressão está a falha. Na primeira parte, em Python 3.10, a mensagem de erro não é acompanhada dessa indicação: Eis outro exemplo simples, este extraído da página de novidades do Python 3.11:
Outras novidades
O ganho de desempenho e as mensagens de erro mais objetivas são os principais atributos do Python 3.11, mas não os únicos. Entre os demais estão:
tratamento de grupos de exceções por meio da nova sintaxe except* e o novo tipo de exceção ExceptionGroup;inclusão do módulo tomllib para que a linguagem possa ler ou anaslisar arquivos no formato TOML (Tom’s Obvious Minimal Language);remoção de “baterias mortas”, isto é, de módulos obsoletos da biblioteca padrão do Python;CPython agora com suporte nativo para WebAssembly, ainda que experimental.
Todos os detalhes podem ser encontrados na lista oficial de novidades do Python 3.11. Já o endereço para download da linguagem é este.