Python 3.15
Python 3.15 traz ganhos de desempenho e recursos novos notáveis, incluindo um JIT experimental aprimorado, lazy imports explícitos para inicialização mais rápida, um novo profiler de amostragem (“tachyon”), desempacotamento em comprehensions e um tipo `frozendict` embutido. Contribuidores destacam a nova ABI estável abi3t para a build sem GIL como um grande avanço para facilitar a compatibilidade binária entre variantes do interpretador, reduzindo a complexidade de empacotamento e CI. Grande parte do debate gira em torno das políticas de suporte a versões, com mantenedores satisfeitos por poder abandonar interpretadores em fim de vida enquanto usuários em sistemas antigos temem quebras e a necessidade crescente de gerenciar runtimes Python separados fora do que o sistema operacional inclui.
Página de lançamento e peculiaridades da distribuição
- Alguns usuários relatam links quebrados ou mal ancorados na página de lançamento da 3.15 (por exemplo, Sentinel, lazy imports apontando para o final da página).
- O tarball fonte do xz é notavelmente maior do que o da 3.14; a investigação aponta para cerca de 10 MB de GIFs animados na documentação (para o profiler Tachyon).
- Alguns veem isso como um inchaço desnecessário e prefeririam documentação leve baseada em SVG.
- Outros argumentam que os críticos deveriam contribuir com ativos melhores em vez disso.
Desempenho, JIT e profiling
- Os ganhos de 7–12% de velocidade relatados pelo JIT experimental (dependendo da plataforma) são recebidos como ganhos incrementais sólidos.
- O novo profiler de amostragem Tachyon é destacado como especialmente útil para fazer profiling de processos em execução em produção.
Lazy imports e inicialização
- Os lazy imports explícitos da PEP 810 geram entusiasmo, especialmente para aplicações grandes ou sensíveis ao tempo de inicialização.
- Alguns perguntam por que isso não é habilitado globalmente; as respostas apontam para:
- Efeitos colaterais no momento do import (por exemplo, registries) e ordem de importação não determinística.
- A PEP 810 documenta explicitamente esses trade-offs.
- É mencionado um analisador estático (“lifeguard”) que varre o código para identificar onde é seguro habilitar lazy imports.
Suporte a versões, empacotamento e Python do sistema operacional
- Os mantenedores acolhem a 3.15 principalmente porque a 3.10 agora está em EOL, liberando-os para depender de recursos da 3.11+.
- Debate:
- Os mantenedores argumentam que suporte indefinido a versões antigas é irrealista; os usuários podem permanecer em versões mais antigas dos pacotes, e os metadados garantem que o
pipescolha uma versão compatível. - Alguns usuários desaprovam a norma de “abandonar” Pythons antigos quando eles ainda são distribuídos por distros ou fornecedores.
- Os mantenedores argumentam que suporte indefinido a versões antigas é irrealista; os usuários podem permanecer em versões mais antigas dos pacotes, e os metadados garantem que o
- Distros corporativas/Linux frequentemente sobrevivem ao suporte upstream do Python, mas fornecem interpretadores mais novos em fluxos paralelos.
- O Python fixado/incluído no macOS (3.9 via Xcode) é visto como ultrapassado e confuso; o consenso é evitar o Python do sistema e usar ambientes gerenciados (por exemplo, uv, virtualenvs).
Tipagem, IA e desempenho
- Um comentarista afirma que LLMs têm melhor desempenho em Python sem tipos e que anotações podem ser “ruído” dado que a maior parte dos dados de treino não é tipada.
- Outros contrapõem que:
- O desempenho em tempo de execução não se beneficia hoje das anotações.
- Os tipos ainda são cruciais para clareza humana, correção e código de nível profissional.
Python sem GIL e abi3t
- A nova ABI estável “abi3t” para a build sem GIL é elogiada como um grande habilitador do ecossistema.
- Exemplo: algumas bibliotecas importantes já distribuem uma única wheel utilizável tanto por builds com GIL quanto por builds sem GIL na 3.15+.
- Os mantenedores observam grandes reduções de CI ao usar ABIs estáveis e antecipam um suporte futuro mais fácil entre versões.
- Persistem questões sobre quais APIs C serão promovidas para a superfície limitada/abi3(t).
Recursos da linguagem e PEPs
- Vários recursos pequenos, mas há muito desejados, recebem atenção positiva:
- Desempacotamento em comprehensions (PEP 798).
frozendictembutido (PEP 814).- UTF-8 como codificação padrão em todas as plataformas (PEP 686), especialmente benéfico no Windows e em containers mal configurados.
- Alguns usuários se surpreendem por UTF-8 ainda não ser o padrão universal, refletindo um comportamento anterior sutil (dependente do locale).
Ecossistema da linguagem e debate sobre Rust
- Um subfio especula que apenas TypeScript/JavaScript, Rust e Python irão “sobreviver”, com reescritas em larga escala para Rust (incluindo alguns exemplos do mundo real).
- Outros rebatem:
- Apontam que ecossistemas consolidados (C, C++, Java, C#, Swift, Kotlin, COBOL, C embarcado) dificilmente desaparecerão.
- Observam que o núcleo do CPython não está sendo reescrito em Rust; os esforços atuais apenas exploram permitir alguns componentes em Rust.
- Alguns argumentam que menos linguagens seria bom; outros preferem diversidade e inovação contínuas, especialmente com ferramentas de IA.