O Linux tem que ser reescrito em Rust

Fórum para discussão sobre Linux para processadores ARM

Moderadores: 51, guest2003, Renie, gpenga

O Linux tem que ser reescrito em Rust

Mensagempor Rodrigo_P_A » 03 Abr 2021 19:42

Olha a lógica de alguns programadores:

O Linux tem que ser reescrito em Rust (pois eu não sei C).

Rust é mais seguro: olha o programinha que eu fiz em Rust que seguro, vejam, muito mais seguro e melhor do que o programa rodando em C/C++ ( rodando provavelmente na máquina rodando Linux)


Enviado do meu iPhone usando Tapatalk
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2236
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O Linux tem que ser reescrito em Rust

Mensagempor mrgadotti » 06 Abr 2021 07:55

Isso é programador que não conhece a linguagem e não quer aprender, se deixar vão falar até pra reescrever em Python e NodeJS kkkk
Avatar do usuário
mrgadotti
Byte
 
Mensagens: 421
Registrado em: 02 Jun 2010 21:14
Localização: Timbó - SC

Re: O Linux tem que ser reescrito em Rust

Mensagempor Rodrigo_P_A » 06 Abr 2021 08:05

mrgadotti escreveu:Isso é programador que não conhece a linguagem e não quer aprender, se deixar vão falar até pra reescrever em Python e NodeJS kkkk


Penso a mesma coisa, eu achava C horrível, depois que aprendi, tá tranquilo
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2236
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O Linux tem que ser reescrito em Rust

Mensagempor xultz » 06 Abr 2021 08:30

Eu acredito que a análise que vocês estão fazendo é um tanto simplista acerca da proposta.
Existem vantagens e desvantagens na migração do código para Rust, e as vantagens que a migração traz são bastante relevantes.
O próprio Linus Torvalds, que é um defensor ferrenho do C e considera esta a linguagem perfeita, entendeu estas vantagens e não se opôs (em um primeiro momento), e de maneira sensata ele preferiu se manter distante e ver no vai dar. Hoje quem defende a utilização do Rust no Linux são pessoas empolgadas com a ferramenta, e isso pode deixar as pessoas um tanto cegas a respeito da mesma, mas o fato do Linus não ter dito "nem a pau!" até agora, significa que migrar para Rust faz sentido e é até possível que venha a ocorrer.

De qualquer maneira, não enxergo que as pessoas estejam defendendo o Rust porque não sabem programar em C, ou porque o Rust seja mais fácil de programar. Eu não me aventurei em Rust por enquanto, mas o que li de relatos de muita gente é que fazer o compilador aceitar teu código Rust e compilar o mesmo é um porre, não pode deixar nenhuma ponta solta, qualquer coisa que ele considerar perigoso ele taca um erro na tua cara e não compila.
Então migrar o Linux para Rust não vejo como questão de preguiça, muito pelo contrário, porque vai ser um trabalho gigantesco. A grande vantagem é deixar a cargo do compilador encontrar os mesmos erros de buffer overflow que aparecem sistematicamente, que abrem vulnerabilidades e instabilidades no kernel e usar um compilador mais esperto hoje em dia faz todo o sentido.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: O Linux tem que ser reescrito em Rust

Mensagempor Rodrigo_P_A » 06 Abr 2021 08:58

xultz escreveu:Eu acredito que a análise que vocês estão fazendo é um tanto simplista acerca da proposta.
Existem vantagens e desvantagens na migração do código para Rust, e as vantagens que a migração traz são bastante relevantes.
O próprio Linus Torvalds, que é um defensor ferrenho do C e considera esta a linguagem perfeita, entendeu estas vantagens e não se opôs (em um primeiro momento), e de maneira sensata ele preferiu se manter distante e ver no vai dar. Hoje quem defende a utilização do Rust no Linux são pessoas empolgadas com a ferramenta, e isso pode deixar as pessoas um tanto cegas a respeito da mesma, mas o fato do Linus não ter dito "nem a pau!" até agora, significa que migrar para Rust faz sentido e é até possível que venha a ocorrer.

De qualquer maneira, não enxergo que as pessoas estejam defendendo o Rust porque não sabem programar em C, ou porque o Rust seja mais fácil de programar. Eu não me aventurei em Rust por enquanto, mas o que li de relatos de muita gente é que fazer o compilador aceitar teu código Rust e compilar o mesmo é um porre, não pode deixar nenhuma ponta solta, qualquer coisa que ele considerar perigoso ele taca um erro na tua cara e não compila.
Então migrar o Linux para Rust não vejo como questão de preguiça, muito pelo contrário, porque vai ser um trabalho gigantesco. A grande vantagem é deixar a cargo do compilador encontrar os mesmos erros de buffer overflow que aparecem sistematicamente, que abrem vulnerabilidades e instabilidades no kernel e usar um compilador mais esperto hoje em dia faz todo o sentido.


Não tenho nada contra, mas acho irônico o jeito que falam:

Tem que reescrever tudo em Rust pois é mais seguro.
Diz o cara que compara o programa feito em Rust VS programa feito em C/C++ , ambos rodando sob um linux hahahahah

Eu dei uma olhada no Rust, num achei mais simples que C/C++, mas não vi sentido em usar, pelo menos não pra mim, em minhas aplicações.

Você pode habilitar Warnings no gcc por exemplo para travar a compilação a qualquer mensagem, sem deixar gerar o executável, até agora num vi vantagem.

É claro que o Linus num vai falar "nem a pau", fui tentar falar com algumas pessoas que usam Rust e parece uma ceita. Mas o Linus já disse algo parecido com o "nem a pau" aqui (e eu concordo com ele.):

---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2236
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O Linux tem que ser reescrito em Rust

Mensagempor dreher » 06 Abr 2021 09:04

Bom, a Microsoft está reescrevendo boa parte do codigo em Rust. Mas vamos combinar que não é o melhor exemplo de segurança
dreher
Byte
 
Mensagens: 489
Registrado em: 12 Out 2006 11:10
Localização: Blumenau - SC

Re: O Linux tem que ser reescrito em Rust

Mensagempor tcpipchip » 06 Abr 2021 09:27

Sim, RUST é bem exigente, não deixa desde o inicio da codificação você cometer erros...no começo um paradigma estranho, mas é questão de se acostumar...

Por exemplo, se você atribui A=B; qual o sentido de você utilizar B ? Ele te questiona direto.

Outra coisa, toda variável é IMUTABLE, pq você esta fazendo A=23 ?

A sintaxe é assustadora, nas gera um código muito seguro

Expressões que não utilizamos na linguagem tradicional

Valor Retorno de função, basta colocar se ; no final...

Vários detalhes que confunde no começo, mas como falei...é para se acostumar...

Forte para tratamento de exceção

Roda muito bem nos ARM

Baseado no compilador LLVM

O pessoal esta portando para Mynewt, Zephyr, RIOT, Nuttx e outros mais...

Estão tem problemas em portar para o ESP-IDF SDK RTOS

Roda bem com auto-complete do Microsoft Visual Code

Cansativo para aprender, se você é do tempo da programação estrutura, partiu para eventos, depois declarativa, orientada o objetos (Rust não é OOP)
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: O Linux tem que ser reescrito em Rust

Mensagempor Rodrigo_P_A » 06 Abr 2021 10:03

tcpipchip escreveu:Sim, RUST é bem exigente, não deixa desde o inicio da codificação você cometer erros...no começo um paradigma estranho, mas é questão de se acostumar...

Por exemplo, se você atribui A=B; qual o sentido de você utilizar B ? Ele te questiona direto.

Outra coisa, toda variável é IMUTABLE, pq você esta fazendo A=23 ?

A sintaxe é assustadora, nas gera um código muito seguro

Expressões que não utilizamos na linguagem tradicional

Valor Retorno de função, basta colocar se ; no final...

Vários detalhes que confunde no começo, mas como falei...é para se acostumar...

Forte para tratamento de exceção

Roda muito bem nos ARM

Baseado no compilador LLVM

O pessoal esta portando para Mynewt, Zephyr, RIOT, Nuttx e outros mais...

Estão tem problemas em portar para o ESP-IDF SDK RTOS

Roda bem com auto-complete do Microsoft Visual Code

Cansativo para aprender, se você é do tempo da programação estrutura, partiu para eventos, depois declarativa, orientada o objetos (Rust não é OOP)


Eu não entendi isso:

Outra coisa, toda variável é IMUTABLE, pq você esta fazendo A=23 ?

se é imutável , num é variável! ? é constante? Toda variável é constante?
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2236
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O Linux tem que ser reescrito em Rust

Mensagempor xultz » 06 Abr 2021 10:37

A questão é que ninguém (que eu tenha visto) sugere fazer um del *.* no fonte do Linux e recomeçar tudo do zero em Rust, isso seria insano. A ideia é que novos códigos sejam implementados em Rust, e a primeira barreira a se vencer é ter certeza que binários escritos em C e Rust no Linux conversem entre si sem dificuldades. Aparentemente este ponto está bem definido, haja visto que já existe código feito em Rust no Linux atualmente.
Tanto o Linus quanto o Kroah-Hartman defendem que o ponto de partida é que novos drivers sejam escritos em Rust, porque esses códigos são onde a questão da segurança e estabilidade pegam. Eu não acredito num curto prazo ocorra nenhum tipo de imposição a respeito de que novos códigos sejam obrigatoriamente escritos em Rust, isso vai ser uma escolha do programador que está fazendo o código (é importante lembrar que o Linux é fruto de contribuição de milhares de programadores mundo afora).
Mas se pensar na análise desses dois pesquisadores que quase 2/3 das vulnerabilidades são resultantes de buffers overflow que poderiam ter sido detectados em tempo de compilação se fosse feitos em Rust, migrar novos códigos de seções críticas (em relação a segurança) para Rust faz todo o sentido.

98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: O Linux tem que ser reescrito em Rust

Mensagempor Rodrigo_P_A » 06 Abr 2021 11:00

Um dia vou estudar um pouco o Rust e ver qual é que é por mim mesmo hehehe
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2236
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O Linux tem que ser reescrito em Rust

Mensagempor tcpipchip » 06 Abr 2021 11:23

Sim, constante!

Eu já estou estudando pq falam tanto dela :)

Mas...já parte para versão embarcada!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: O Linux tem que ser reescrito em Rust

Mensagempor tcpipchip » 06 Abr 2021 12:26

------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: O Linux tem que ser reescrito em Rust

Mensagempor mrgadotti » 06 Abr 2021 17:34

Rodrigo_P_A escreveu:Um dia vou estudar um pouco o Rust e ver qual é que é por mim mesmo hehehe


Também tenho essa ideia, mas no trabalho nunca sobra tempo hehehehe
E ultimamente em casa, está faltando paciência para estudar uma nova linguagem.

Go e Rust estão na minha lista de novas linguagens para se estudar
Avatar do usuário
mrgadotti
Byte
 
Mensagens: 421
Registrado em: 02 Jun 2010 21:14
Localização: Timbó - SC

Re: O Linux tem que ser reescrito em Rust

Mensagempor tcpipchip » 06 Abr 2021 18:04

assim que começares, podemos já trocar ideias!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: O Linux tem que ser reescrito em Rust

Mensagempor Rodrigo_P_A » 06 Abr 2021 23:10

O que eu achei interessante de go é a integração fácil entre c vs go, inclusive se colocar código c no projeto go ele compila e links fácil além de ser fácil gerar lib dinâmica no go e chamar em c/c++ . Fiz isso em pouco tempo em uma aplicação que eu precisava de uma função específica que já estava implementado e funcionando em GO. Estudei um pouco, criei uma lib shared e depois continuei com minha aplicação em c++ chamando o que eu precisava da lib feita em go.

Pelo pouco que estou estudando de Rust, até agora não me convenceu.


Enviado do meu iPhone usando Tapatalk
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2236
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Próximo

Voltar para Linux / uCLinux ( ARM ) / UNIX

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x