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).
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