Rust

From MozillaWiki
Jump to: navigation, search

Rust

 Segurança, Concorrência/paraleliso e  gerenciamento de memória.

Rust nasceu de um projeto pessoal do funcionário da Mozilla, Graydon Hoare. Logo em seguida, no ano de 2009 a Mozilla abraçou o projeto e teve anunciado o mesmo em 2010. Rust, que nasceu compilada por um compilador escrito em Ocaml, logo em seu primeiro ano de vida já havia mudado de compilador utilizando o famoso rustc (utilizando LLVM no back-end).

Rust atualmente encontra-se na versão(estável) 1.0.0, lançada no dia 15 de maio de 2015.

Mas e ai? O que eu posso fazer de legal com isso? A resposta é simples, tudo.

Rust tem sido desenvolvida e projetada para ser uma “system-language” assim como C/C++. Rust permite-nos um controle de memória, possui uma forte tipagem, performance e uma sintáxe bastante semelhante ao C/C++. Rust é absolutamente versátil, uma breve pesquisa nos repositórios git, e encontraremos de emuladores de GameBoy até bibliotecas avançadas de álgebra linear, por exemplo. Rust também é ideal para escrevermos nossos próprios “low-level codes” como drivers e sistemas operacionais. E claro, por último mas não menos importante Rust possui uma excelente base para paralelismo.


Com base nesse design, a Mozilla vem utilizando a linguagem Rust como uma plataforma para prototipagem arquiteturas experimentais para o Firefox. Especificamente, espera-se desenvolver um navegador que seja mais amigável a paralelização do que os existentes, além de ser menos vulnerável a alguns erros comuns, principalmente em C/C++, que resultam em falhas de segurança . O projeto leva o nome de Servo.


Em termos de produção ainda temos poucas empresas/projetos utilizando Rust, contudo temos alguns. São eles: OpenDNS, que é uma empresa que atua de forma complementar ao DNS, adicionando funcionalidades como proteção contra “phishing” e entre outros; Temos também o Skylight, que é uma espécie de gerenciador de métricas exclusivas para aplicativos Rails.

Outra coisa muito legal sobre Rust, é o Cargo. Cargo é o gerenciador de pacotes do Rust. Como assim? Cargo é quem gerencia todas as dependências do código Rust em si. Basta que você configure dois meta-arquivos muito simples e pronto.

Segue abaixo alguns links para quem deseja entender mais sobre esta nova e maravilhosa linguagem de programação:


  * http://rustontherocks.org
  * https://github.com/MolokdotC
  * http://doc.rust-lang.org/book/hello-cargo.html
  * https://play.rust-lang.org/
  * https://github.com/search?utf8=%E2%9C%93&q=rust
  * http://stackoverflow.com/search?q=rust
  * https://users.rust-lang.org/


Projeto RoR


  Projeto RoR (RoR project) ou simplesmente RustOntheRocks é um projeto desenvolvido  e mantido pela comunidade Mozilla-Brasil 
  que visa o ensino e divulgação da linguagem de programação Rust e outros tópicos relacionados. 
  http://rustontherocks.org


Sinta-se a vontade para conversar e trocar ideias no nosso canal no IRC (#rust-br) no servidor: irc.mozilla.org