Rust, a linguagem de programação da Mozilla, será substituta da linguagem C? – Commit suas idéias
Rust, a linguagem de programação da Mozilla, será substituta da linguagem C?
31 de maio de 2016 Joabe Kachorroski Desenvolvedores, Noticias Leave a comment
RRust é uma linguagem de programação multi-paradigma compilada desenvolvida pela Mozilla Research. É projetada para ser "segura, concorrente e prática", suportando os estilos puramente funcional, procedural, e orientado a objetos.
A linguagem apareceu como um projeto pessoal do empregado da Mozilla Graydon Hoare. A organização começou a apoiar o projeto em 2009 e anunciou-o em 2010. No mesmo ano, os esforços mudaram do compilador original (escrito em OCaml) para um auto-hospedado feito em Rust. Conhecido por rustc, conseguiu compilar-se pela primeira vez em 2011 e utiliza o LLVM como back-end.
Rust se baseia nos seguintes princípios: Segurança sem coletor de lixo, concorrência sem corrida de dados e abstração sem overhead. Estes princípios fazem com que Rust seja rápida para ser usada em aplicações de baixo nível como o browser Servo e também prática para projetos de alto nível.
Em Rust não existem ponteiros nulos ou ponteiros soltos, impossibilitando falhas de segmentação. Rust gerencia memória e recursos automaticamente, sem necessitar de um coletor de lixo.A linguagem impede corridas de dados entre threads pois não é possível que duas threads possam modificar um mesmo valor ao mesmo tempo. Para que uma referência possa ser compartilhada entre várias threads, ela deve ser somente leitura. Existem diversas técnicas seguras de comunicação entre threads. O princípio de abstração sem overhead vem do C++. Nas palavras de Bjarne Stroustrup: "Você não paga por aquilo que você não usa. E mais: Aquilo que você usa, não conseguiria programar melhor a mão". Rust permite um alto grau de abstração através do sistema de traits, que são interfaces que podem ser implementadas separadamente da declaração de um tipo. Tipos genéricos são utilizados extensamente.