Categories: Evangelismo

Uma breve introdução sobre a linguagem de programação Rust

Você ja ouviu falar da linguagem de programação Rust? Nesse post pretendemos apresentar e demonstrar um pouco mais sobre essa fantástica linguagem.

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, passando então a  utilizar 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 controlar a memória, possui uma forte tipagem, performance e uma sintaxe 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 fim  mas não meno importante Rust possui uma “veia” para o paralelismo bastante forte.

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.  
Vamos tentar?
Vamos fazer um “hello_world!” para você entender melhor.
Vamos partir do pré-suposto de que você já tem o ambiente rust configurado em sua máquina.
 Caso não o tenha é só seguir este tutorial:  http://rustontherocks.org/conhecendo.html.
Primeiramente vamos dizer pro Rust que queremos criar um novo programa, lembre-se desde já
 utilizando a incrível ferramenta Cargo!.
user@localhost">user@localhost $  cargo new hello_world   -- bin

Nesse ponto, Cargo/Rust criou uma pasta  hello_world e dentro dela uma pasta src, 
onde fica o nosso main.rs. Dentro da pasta hello_world temos uma coisa especial, o arquivo
 Cargo.toml. Atente para o 'C' maiúsculo. Se você der uma olhada neste arquivo você verá uma
 simples “documentação” do seu programa. Rust captura essas informações do seu host. Caso 
esteja alguma coisa errada basta alterá-la e tudo ficará bem. Veja:
$ cd hello_world
$ tree .
.
├── Cargo.toml
└── src
    └── main.rs
1 directory, 2 files

Agora para rodar esse nosso programinha basta executarmos o seguinte comando:
user@localhost hello_world$ cargo run

Bom, você deve ter visto como saída um lindo e clássico “Hello World!”. Apesar de muito 
simples,já deu para você conhecer um pouco dessa linguagem super poderosa e versátil. 
Para maiores esclarecimentos e dúvidas visite  rustontherocks.org e continue acompanhando 
o nosso blog!

 

No comments yet

Post a comment

Post your comment