Rust

From MozillaWiki
Revision as of 22:04, 26 May 2015 by Molokdotc (talk | contribs) (Uma breve explicação e introdução de alguns projetos e também sobre a linguagem de programação Rust)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to 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:




Projeto RoR


Projeto RoR(RoR project) ou simplesmente RustOntheRocks é um projeto desenvolvido pela comunidade Mozilla-Brasil visando o ensino e divulgação da linguagem de programação Rust.

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