O suporte ao Rust passou de experimental para funcionalidades essenciais do kernel. Linux

Na conferência Maintainers Summit, que está acontecendo nestes dias, foram discutidos os resultados do experimento de adição ao kernel. Linux возможности разработки компонентов на языке Rust. Собравшиеся участники признали эксперимент успешным и решили перевести поддержку языка Rust в категорию основных частей ядра, сняв с неё метку экспериментальной функциональности.

Три года назад возможность разработки драйверов и модулей на языке Rust была добавлена в ядро 6.1. В тех пор в состав ядра были включены абстракции для разработки на Rust драйверов для GPU, ФС, блочных устройств, сетевых адаптеров и USB-устройств. На языке Rust развивается драйвер Nova для GPU NVIDIA, asahi для GPU Apple AGX, Tyr для GPU ARM Mali, rust_ext2 c ФС Ext2. В состав ядра принята написанная на Rust реализация IPC Binder. Проект RROS развивает real-time подсистему для ядра Linux, написанную на Rust. Поддержка Rust неактивна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру.

Os defensores do Rust acreditam que a linguagem elimina a maioria dos bugs principais causados ​​por casos extremos da linguagem C, permitindo que os revisores de código se concentrem em erros de lógica e condições de corrida. O Rust ajuda a eliminar problemas como acesso após liberação de memória, estouro de buffer, liberação incorreta de recursos durante o tratamento de erros e verificações esquecidas do código de retorno de erro. Usar Rust em novos códigos também reduz o tempo de desenvolvimento, diminuindo o esforço de depuração e graças às fortes garantias da linguagem de detectar erros no início do processo de desenvolvimento.

Os oponentes da inclusão do Rust no kernel consideram inaceitável o uso de múltiplas linguagens de programação em projetos complexos. Bases de código mistas complicam o trabalho dos mantenedores, pois os tornam dependentes de código escrito em outra linguagem. Por exemplo, se houver bindings em Rust, os desenvolvedores de subsistemas baseados em C precisam considerar o impacto das alterações na funcionalidade contínua desses bindings.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster