banner
Lar / blog / mais ferrugem
blog

mais ferrugem

Oct 29, 2023Oct 29, 2023

Rust é a linguagem que todos esperamos para nos salvar e acaba de marcar mais dois golos. O projeto Chromium decidiu apoiá-lo e a Mozilla, a casa original do Rust, tem um projeto Servo revitalizado.

Rust fazendo incursões no Linux é incrível por si só, já que Linus Torvalds é fanático por C há muito tempo. Como resultado, a única linguagem a ser usada para o kernel do Linux era C, mas agora o Rust está entrando. Esses ganhos modestos, mas importantes, são o tipo de coisa que vê uma linguagem lançada das mãos dos entusiastas adotantes iniciais para o principal.

Agora temos a notícia de que o Rust se juntou a outro "grande" projeto - Chromium - a parte open source do Chrome e do Edge. O blog de segurança do Google diz:

"Temos o prazer de anunciar que, no futuro, o projeto Chromium oferecerá suporte ao uso de bibliotecas Rust de terceiros de C++ no Chromium. Para fazer isso, agora estamos buscando ativamente adicionar uma cadeia de ferramentas Rust de produção ao nosso sistema de compilação. Isso nos permitirá incluir o código Rust no binário do Chrome no próximo ano. Estamos começando devagar e definindo expectativas claras sobre quais bibliotecas consideraremos quando estivermos prontos."

Como eu disse no início, Rust é o que esperamos que nos salve - mas do que exatamente:

Nosso objetivo ao trazer o Rust para o Chromium é fornecer uma maneira mais simples (sem IPC) e mais segura (C++ menos complexo em geral, sem bugs de segurança de memória em uma caixa de proteção) para satisfazer a regra de dois, a fim de acelerar o desenvolvimento (menos código para escrever, menos documentos de design, menos revisão de segurança) e melhorar a segurança (aumentando o número de linhas de código sem bugs de segurança de memória, diminuindo a densidade de bugs do código) do Chrome. E acreditamos que podemos usar bibliotecas Rust de terceiros para atingir esse objetivo.

Uau... e você pensou que Rust era apenas outra linguagem. O principal problema em usar C ou C++ é a segurança da memória. Para citar uma postagem de blog recente da equipe do Google Android:

“Por mais de uma década, as vulnerabilidades de segurança de memória representaram consistentemente mais de 65% das vulnerabilidades em produtos e em todo o setor”.

O mesmo post também relata uma queda constante em problemas como linguagens seguras de memória como Rust, Kotlin e Java substituem C/C++. O Android 12 é compatível com Rust para o desenvolvimento básico de novos componentes. Atualmente, não há vulnerabilidades de segurança de memória no código Rust do Android.

No entanto, a cura milagrosa não é um mar de rosas. A postagem do blog descreve algumas das dificuldades de ter que interoperar o código C++ e Rust. Se você permitir a interoperabilidade em ambas as direções, corre o risco de introduzir problemas. Por enquanto, a interoperabilidade será da chamada do código C++ para o código Rust seguro. Listando maneiras pelas quais as coisas podem dar errado, a postagem sugere que são necessárias ferramentas para manter as coisas sob controle e, portanto, o Google está investindo no Cubit em um experimento para tornar o C++ to Rust mais seguro.

A segunda boa notícia é que o Servo está novamente em desenvolvimento. Caso você não se lembre, o Servo foi criado para ser um novo renderizador para o Firefox escrito em Rust. O projeto foi dissolvido quando a Mozilla decidiu que pagar grandes quantias de dinheiro para uma camada de gerenciamento desnecessária era mais importante do que criar código. Foi mais ou menos na mesma época que eles entregaram Rust à comunidade em geral e perderam a oportunidade de fazer um bem ainda maior. Um novo renderizador escrito em Rust poderia ter sido exatamente o que o Firefox precisava para aumentar sua base de usuários da pequena porcentagem que agora comanda para algo mais respeitável. Gostaria de poder informar que a ressurreição do Servo é um indício de que a Mozilla retomou seu rumo, mas não. A postagem do blog diz:

"Gostaríamos de compartilhar algumas notícias empolgantes sobre o projeto Servo. Este ano, graças a um novo financiamento externo, uma equipe de desenvolvedores estará trabalhando ativamente no Servo. A primeira tarefa é reativar o projeto e a comunidade ao seu redor, então nós pode atrair novos colaboradores e patrocinadores para o projeto."

Parece que outras pessoas acreditam mais no Servo do que no Mozilla. A maior parte da imitação se deve ao fato de Igalia pagar quatro pessoas para trabalhar no projeto. Por que? Parece que eles acreditam em código-fonte aberto - se a Mozilla acreditasse.