RFC para suporte a Rust no kernel Linux
(lkml.org)-
Organiza os motivos para usar Rust como a segunda linguagem do kernel
-
O objetivo não é reescrever o core ou os principais subsistemas do kernel, mas permitir que drivers e módulos "leaf" semelhantes sejam escritos em Rust
Ao usar Rust no kernel Linux:
-
por causa das propriedades da linguagem, reduz-se o risco de bugs de segurança de memória, condições de corrida de dados e bugs lógicos
-
mantenedores podem ter mais confiança para refatorar módulos e aplicar patches graças à segurança oferecida por Rust
-
fica mais fácil escrever novos drivers e módulos graças a recursos modernos da linguagem e documentação detalhada
-
mais pessoas podem participar do desenvolvimento do kernel em geral usando uma linguagem moderna
"Why Rust?"
- no contexto do kernel Linux, oferece algumas vantagens importantes em relação a C
→ (vantagens da linguagem omitidas..)
"Why not?"
- no contexto do kernel Linux, há estas desvantagens em relação a C
→ houve muito esforço investido em tooling baseado em C, incluindo plugins de compilador, Sanitizer etc. Isso deve melhorar com o aumento do uso de Rust ao longo do tempo
→ implementação única baseada em LLVM. Há esforços em andamento como o frontend para GCC, o backend 'ructc' baseado em Cranelift e o 'mrustc' para reduzir a cadeia de bootstrap
→ ainda não foi padronizada. Não está claro se a padronização ajudaria o kernel, mas...
→ no momento, a velocidade de compilação é lenta devido a recursos e limitações complexos do compilador atual
→ por enquanto, são necessários recursos presentes em builds Nightly. Não é possível usar a versão estável. A meta é remover essa limitação dentro de 1 ano
→ nem todos os recursos das bibliotecas padrão Rust core e alloc são usados, então elas são maiores do que o necessário no momento
-
a maioria dessas desvantagens vem do fato de Rust ainda ser uma linguagem jovem e menos utilizada
-
acredita-se que Rust se tornará uma parte importante da programação de sistemas, assim como C foi nas últimas décadas
3 comentários
https://lkml.org/lkml/2021/4/14/1099
"Então respondi com minhas reações a alguns dos patches individuais, mas no geral não odiei."
e, vendo o texto que vem depois de HOWEVER,
parece que talvez ainda leve bastante tempo para isso ser adicionado de fato.
Linus Torvalds respondeu a este RFC: https://lkml.org/lkml/2021/4/14/1099
"So I replied with my reactions to a couple of the individual patches, but on the whole I don't hate it."
Como ele disse que, no geral, não desgosta da ideia, espero que isso avance bem.
Pesquisando, vi que realmente já saíram muitas notícias relacionadas a Rust no GeekNews. Agora acho que dá para dizer que é mesmo a grande tendência da era atual.
https://news.hada.io/search?q=Rust
Linguagem de programação Rust [edição em coreano] https://pt.news.hada.io/topic?id=1152
Rust - uma linguagem para garantir alto desempenho e confiabilidade "É uma pena que você não conheça a grandiosidade do Rust" https://pt.news.hada.io/topic?id=991
Fico pensando se, aos poucos, ele não vai coexistindo com C e, em algum momento, acabar substituindo-o... Talvez até tenha sido uma escolha melhor ter se tornado independente da Mozilla.