Fórum sobre desenvolvimento de sistemas embarcados: Hardware e Software, Tecnologias: Eletrônica digital e analógica, Microcontroladoras, Microprocessadores, Sistemas *NIX (Linux, BSD), Software embarcado Baremetal. Sem fins lucrativos. http://www.asm51.com.br/phpbb/
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
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 07:55
por mrgadotti
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
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 08:05
por Rodrigo_P_A
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
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 08:30
por xultz
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.
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 08:58
por Rodrigo_P_A
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.):
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 09:04
por dreher
Bom, a Microsoft está reescrevendo boa parte do codigo em Rust. Mas vamos combinar que não é o melhor exemplo de segurança
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 09:27
por tcpipchip
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)
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 10:03
por Rodrigo_P_A
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?
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 10:37
por xultz
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.
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 11:00
por Rodrigo_P_A
Um dia vou estudar um pouco o Rust e ver qual é que é por mim mesmo hehehe
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
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 18:04
por tcpipchip
assim que começares, podemos já trocar ideias!
Re: O Linux tem que ser reescrito em Rust
Enviado: 06 Abr 2021 23:10
por Rodrigo_P_A
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.