domingo, outubro 6, 2024
Tecnologia

O Linux é feito em C, mas Linus Torvalds já fala em usar a linguagem Rust – Tecnoblog

Mais versátil e segura que o C, linguagem de programação Rust pode começar a ser usada no kernel Linux a partir da versão 5.20
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.
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.
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.
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.
Com informações: ZDNet, The Register.
Receba mais posts do TB
Comentários com a maior pontuação
Matéria bacana.
Poucos entendem que o Linux é a base da vida digital como conhecemos hoje e por isso é o software mais importante já feito.
Devido a sua natureza modular o ecossistema Linux é usado em todo tipo de aparelho , Smartphones Android, Tablets, todas as SmarTVs , receptores , carros, roteadores , satélites e etc , vai muito além do Desktop
E domina áreas como servidores, Embarcados , IoT, Robótica e etc
Pensei que ia demorar um pouco mais para começar a pensar em implantar, daqui dois anos pelo menos.
Mas pelo jeito, as falhas de segurança na memória deve ter pesado
Comparando C com Rust em questão de aprendizagem, é igual ou uma delas é mais complicadinha? Tenho conhecimento essencial em C por conta de ‘n’ fatores, mas gostaria mto de saber se o Rust tmb poderá seguir a msm base.
Por mais que o C tenha seus méritos, tem coisas que podem ser mais fáceis de implementar no Rust, acredito eu. E certamente o principal do Kernel não deve mudar pro Rust.
Pontos para o Linus. Atualizar partes do SO para uma linguagem mais atual é algo fantástico, e isso só vai ajudar a manter o Linux cada vez mais confiável e atualizado, além de manter uma curva de renovação de desenvolvedores natural devido a atualização da tecnologia.
além de manter uma curva de renovação de desenvolvedores natural devido a atualização da tecnologia.
Deve ter aprendido vendo o que está acontecendo com COBOL.
O Rust é uma linguagem um pouco complicada realmente, ela não tem a intenção de ser fácil. Quem porém já tem conhecimento em C terá a sensação essa é a verdadeira sucessora do C, além do fato que também trás de volta algo que ficou no passado quando o C deixou de ser a linguagem da Web por questões de segurança. Quem já domina JS com linguagem funcional, também terá facilidade, algumas vezes o código é basicamente igual.
Também o tutorial do RUST: Aprenda Rust – Linguagem de Programação Rust você consegue aprender somente lendo, o que é impressionante.
Interessante a matéria.
E parabéns para o Linus de abrir os olhos para outras linguagens que podem ajudar os desenvolvedores a produzir de forma mais eficiente e segura.
O próprio Android e iOS estão aí pra mostrar que, as vezes, trocar de linguagem é benéfico.
Com o tempo, todo o código vai sendo atualizado para a nova linguagem e vai chegar uma hora que será a linguagem “oficial” do SO, assim como aconteceu com o Kotlin no Android e Swift no iOS.
Intessante e tal mas melhor o pessoal redimensionar as expectativas.
O rust ainda vai demorar um pouco a entrar no kernel de fato. Por enquanto é simbólico o gesto.
O compilador padrão do kernel é gcc. A implementação referência do rust é em llvm.
Isso quer dizer que tiveram que fazer um compilador simplificado para gcc que ainda não está completo. Ele não tem borrowchecker por exemplo, e provavelmente sempre ficará atrás da llvm em algumas versões. Mas com ele já dá pra ler a sintaxe código em rust pelo menos.
Depois que o compilador tiver resolvido o próximo passo é liberar o uso do rust em drivers. Esses são frutos mais baixos da árvore pois várias empresas escrevem drivers aqui com diversos niveis de proeficiencia. Garantir seguranca aqui será direto e simples.
Mas fica o lembrete aos mais entusiasmados, o rust não oferece necessariamente beneficios a todas as áreas do kernel nem substituirâ completamente o C. Se ele fosse todo passado para rust, a natureza crítica e a alocação direta de memória a outros processos faria boa parte do código ser escrita dentro clausulas unsafe{}. Isso apenas introduziria boilerplate sem os avanços em seguranca de memória prometidos.
Por isso será introduzido aos poucos nas areas que mais convier.
O Android acrescentou linguagem, não trocou. Basicamente o que roda no background ainda é JAVA. Só que usando uma linguagem diferente se faz acrescentar uma camada de “tradução” da linguagem escrita.
Já no iOS, iPadOS e outros do ecossistema da Apple de fato houve uma migração do ObjectiveC para o Swift.
O Android acrescentou linguagem, não trocou. Basicamente o que roda no background ainda é JAVA.
Sim, sim. Por trás das cortinas continua o Java. E o SDK também. Mas tem essa camada adicional do Kotlin que veio para facilitar os desenvolvedores, além dos benefícios de segurança e etc…
É proibido, mas se quiser pode
Compartilhe
© Mobilon Mídia 2005 – 2024.

source

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

WP Twitter Auto Publish Powered By : XYZScripts.com