Implementação CPython também irá entrar nesta “nova onda” do Rust?

Eis, a realidade: embora C/C++ sejam linguagens de programação de importância fundamental para o desenvolvimento de software, elas possuem uma particularidade que há tempos, se tornou crítica em termos de segurança: a gestão de memória RAM. Em geral, os programadores necessitam lidar com a alocação e liberação da memória de forma manual, o que pode ocasionar sérias falhas e vulnerabilidades por causa de códigos mal escritos. Já Rust possui uma abordagem mais segura, oferecendo mecanismos para lidar com as questões relacionadas a memória…

“The Python community is chewing over a new idea: allowing the C-based reference implementation, CPython, to incorporate Rust. It’s only at the “pre-PEP” stage, but it’s already sparked lively debate. It’s a pre-PEP because official Python proposals are called PEPs, short for Python Enhancement Proposals. The idea has been bruited by two core Python developers, Emma Smith and Kirill Podoprigora, who write: Rust will initially only be allowed for writing optional extension modules, but eventually will become a required dependency of CPython and allowed to be used throughout the CPython code base.”

— by The Register.

Por isto, a comunidade Python está debatendo uma proposta preliminar (pre-PEP) para permitir que a implementação de referência CPython (baseada em C) incorpore códigos escritos em Rust. A ideia, apresentada pelos principais desenvolvedores Emma Smith e Kirill Podoprigora, prevê que o Rust seria usado apenas para módulos de extensão opcionais (ao menos, inicialmente). No entanto, o plano é que o Rust se torne eventualmente, uma dependência obrigatória e possa ser usado em toda a base de código do CPython.

Esta potencial mudança tecnológica levanta preocupações significativas sobre a compatibilidade com plataformas mais antigas. Embora o CPython suporte oficialmente 20 plataformas que têm algum nível de suporte a Rust, o artigo destaca que há um punhado de sistemas onde o CPython roda, mas que não possuem suporte ao Rust. Isso inclui plataformas como RISC OS, HP PA-RISC e Mac OS X em PowerPC, entre outras. A proposta de exigir Rust para construir o CPython também cria uma dependência cíclica, pois a construção do Rust a partir do zero depende do Python.

O movimento de incorporar Rust no CPython é comparado a uma situação semelhante que está ocorrendo no Debian, onde o gerenciador de pacotes APT também pode vir a exigir Rust. O resultado provável é que as comunidades por trás dessas plataformas minoritárias, precisarão investir esforço na implementação do suporte ao Rust em breve, ou correrão o risco de serem deixadas para trás pela evolução tecnológica do software livre moderno. A medida reflete a crescente adoção do Rust, muitas vezes preferido por suas garantias de segurança e desempenho.

Já havia dito isto anteriormente e volto a falar: esta foi uma falha GROTESCA, por partes dos responsáveis pelo desenvolvimento das linguagens C/C++ e suas especificações! Há tempos, eles já deveriam ter promovido reformulações para lidar com estas questões, ao invés de ficarem “batendo a cabeça” com outros aspectos não tão importantes. Mesmo acreditando que C/C++ não serão substituídos tão cedo (devido a grande base de código legada), muitos projetos já estão promovendo iniciativas para migrar para o Rust, como é o caso do próprio kernel Linux e do sistema operacional Android. Agora, será a vez de CPython.

Só espero estar vivo até lá, para testemunhar estes novos tempos… &;-D