Conhecendo a linguagem de programação Rust

Olá pessoal…

Vocês já ouviram falar da linguagem Rust? Pense em como seria desenvolver uma aplicação em baixo nível, de forma prática e com extensibilidade (como C/C++ porém com controles maiores na questão de segurança). Pois bem, a Mozilla, lançou no último dia 15, a versão estável (1.0.0).


Mozilla Firefox

Mozilla Firefox

Abaixo pessoal, segue o texto do artigo postado no blog oficial da Mozilla Brasil.

“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!”

Fonte: Mozilla Brasil

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação