O Linux é feito em C, mas Linus Torvalds já fala em usar a linguagem Rust
A linguagem de programação Rust surgiu em 2010 com a proposta de ser segura e prática. São aspectos importantes. Mesmo assim, ninguém esperava que o Rust pudesse ser levado para um dos projetos de software mais importantes de todos os tempos: o Linux. Linus Torvalds já fala em adotar a linguagem no kernel.
Por ora, essa não é uma promessa, mas uma possibilidade. Uma possibilidade com boas chances de se tornar real, no entanto. Isso porque, no final de 2021, o Rust passou a ser suportado oficialmente no Linux (no nível do kernel).
Em outras palavras, uma atualização implementada na ocasião abriu caminho para que o Rust seja usado no projeto como uma “segunda linguagem”. A principal continua sendo a linguagem C.
Com 50 anos de existência, o C é base do Linux desde que o projeto teve início, no começo dos anos 1990. E todo programador experiente sabe que essa é uma linguagem dotada de muitas qualidades: eficiência, sintaxe estruturada, exigência de poucos recursos de hardware e por aí vai.
Se é assim, por que mudar?
No evento Open Source Summit, realizado pela Linux Foundation na última semana, Linus Torvalds admitiu ter expectativa de que o Rust passe a ser usado no kernel. Isso pode começar na versão 5.20, a ser lançada no próximo mês de outubro ou novembro. Atualmente, os desenvolvedores trabalham na versão 5.19, que deve ser liberada em agosto.
Acontecendo no Linux 5.20 ou não, essa não vai ser uma mudança do tipo “a partir de agora, só iremos programar em Rust”. A ideia é que a linguagem seja adotada em partes específicas do kernel, de modo que não seja necessário reescrever todo o código.
Até porque reescrever o Linux seria contraproducente. O código-fonte do projeto tem cerca de 30 milhões de linhas. A linguagem deve ser empregada, sobretudo, em componentes a serem atualizados ou ainda não existentes, como novas APIs.
Não é por mero capricho. Durante o evento, Torvalds destacou que há razões técnicas para o uso do Rust, como segurança de memória. Presumivelmente, a linguagem também vai agilizar os trabalhos de desenvolvimento.
A linguagem de programação Rust
Um relatório publicado em maio pela empresa de análises SlashData mostra que o Rust está entre as linguagens de programação mais populares da atualidade.
O levantamento aponta que, nos últimos dois anos, o número de desenvolvedores dessa linguagem, em escala global, pulou de 600 mil para 2,2 milhões de pessoas. A tendência é a de que esse número continue aumentando nos próximos meses.
Pudera. O Rust é multiparadigma, ou seja, pode funcionar e resolver problemas de várias formas. Isso faz a linguagem ser interessante para o desenvolvimento de diversos tipos de software, inclusive sistemas operacionais.
Não por acaso, o Rust já encontra espaço em projetos de companhias como Microsoft, Cloudflare e Amazon.
Linus Torvalds não exagerou ao destacar o aspecto da segurança. Além de ter um gerenciamento de memória bastante eficiente, a linguagem é capaz de prevenir a inserção indevida de dados na RAM, por exemplo, problema que costuma ser explorado em ações maliciosas.
Outras vantagens incluem confiabilidade, integração relativamente fácil com outras linguagens (incluindo o C), depuração (debugging) rápida, reutilização de código relativamente fácil, ampla documentação e comunidade engajada.
É verdade que não é uma missão fácil aprender a programar em Rust. Por outro lado, quem conhece linguagens como C e C++ tende a se familiarizar com o Rust com alguma rapidez.
Torvalds quer evitar grandes expectativas
A ideia de levar o Rust para o Linux não é recente. Para você ter ideia, no ano passado, o Google passou a apoiar um projeto que prevê a mudança de algumas partes do kernel para essa linguagem.
Como o Linux é a base do Android, o Google acredita que essa mudança pode aumentar a segurança do sistema operacional. Mas as conversas sobre a linguagem começaram antes. Em abril de 2021, o próprio Torvalds sugeriu que o Rust poderia começar a sua trajetória no Linux a partir da versão 5.14 (o que não aconteceu).
Como um dos principais mantenedores do kernel, Linus Torvalds manifestou a vontade de que o Rust seja integrado definitivamente ao Linux a partir da versão 5.20, mas deixou claro que está tudo bem se isso não acontecer: “não vou forçar isso. (…) Esse seria, basicamente, o ponto de partida. Portanto, sem promessas”.
O que parece certo é que, se não agora, a adoção do Rust vai acontecer em algum momento. Outra fala de Torvalds reforça essa possibilidade:
Tentamos o C++ [no kernel] há mais de 25 anos. Tentamos por duas semanas e depois paramos de tentar. Então, para mim, Rust é uma maneira de tentar algo novo. E espero que funcione. Há pessoas trabalhando muito nisso, então eu realmente espero que dê certo, senão elas ficariam chateadas.