01: Primeiros passos com Rust!

Antes de tudo

Gostaria de deixar claro que esta série de artigos tem a finalidade de reforçar meu conhecimento na linguagem Rust ao passo que disponibilizo um conteudo de facil acesso a quem, assim como eu, se interessou pela linguagem mas percebeu que a disponibilidade de conteudos em portugues é escassa.

Ressalto que não sou experiente na linguagem, muito menos especialista, então os artigos podem conter erros, ambiguidades ou estarem desatualizados. Sinta-se a vontade para dar feedbacks ou fazer sugestões. Esta série de artigos se baseará inteiramente na Documentação oficial da linguagem, caso contrario, citarei a fonte no corpo do artigo.

Durante o corpo deste artigo abordaremos o que é a linguagem Rust, como instala-la, como escrever nosso primeiro código em Rust.

O que é Rust?

Rust é uma linguagem de programação compilavel, ou seja, que é "traduzida a linguagem de maquina", que tem como objetivo permitir que o programador desenvolva seu software de forma confortavel, sem que o mesmo precise se preocupar com problemas de performace e segurança. Apesar de Rust ser amplamente usado em baixo nivel, a linguagem tambem é usada para desenvolvimento de softwares, jogos, servidores web e microserviços, o que demonstra a sua versatilidade.

Como instalar a linguagem Rust?

A primeira coisa que precisamos fazer é instalar o rustup, uma ferramenta de linha de comando responsável pela instalação, atualização e gerenciamento de versão da linguagem e suas ferramentas assosssiadas.

Caso você não queira instalar a linguagem na sua máquina, você pode usar o Playground, uma ferramenta criada pelos próprios desenvolvedores do Rust que permite executar códigos simples dá linguagem sem precisar instala-la em seu computador.

Se você estiver em um ambiente Unix(Linux ou MacOS) basta digitar ou colar o seguinte comando em seu emulador de terminal:

$ curl https://sh.rustup.rs -sSf | sh

O comando baixa um script e inicia a instalação da ferramenta rustup, que instala a versão estável mais recente de Rust. Você pode ser solicitado a fornecer sua senha. Se a instalação for bem-sucedida, a seguinte linha aparecerá:

Rust is installed now. Great!

Após isto, você deve reiniciar seu aplicativo de terminal.

Caso esteja em um ambiente Windows, por se tratar de um sistema que nâo estou habituado, sugiro que visite esta sessão da documentação.

Para conferir se a linguagem foi devidamente instalada, ou conferir a verssâo que está rodando em sua máquida, digite:

$ rustc --version

É recomendado manter o Rust sempre atualizado, pois a linguagem passa por atualizações constantes que implicam em novas funções dentro da linguagem, correção de bugs e principalmente correçôes de problemas de segurança.

Para fazer isto basta rodar:

$ rustup update

Ou, caso deseje desinstalar completamente a linguagem, insire:

$ rustup self uninstall

Olá, mundo!

É um costume que o nosso primeiro programa em uma linguagem de programção que estamos aprendendo mostre uma menssagem na tela nos desejando boas-vindas à este novo mundo, e por que com Rust seria diferente?

Recomendo que crie uma pasta para organizar os arquivos criados no decorrer dos artigos, e para isto vamos executar os seguintes comandos:

mkdir aprendendo-rust
cd aprendendo-rust
touch ola_mundo.rs

O primeiro comando cria um diretório, ou pasta chamado "aprendendo-rust", o segundo "entra" no diretório criado anteriormente (como se você tivesse dado um duplo click no seu gerenciador de arquivos), e o terceiro cria um arquivo chamado "ola_mundo" que possui a extenssão .rs.

Todo arquivo terminado em .rs é um arquivo de código Rust.

Escrevendo nosso primeiro código Rust!

Abra a sua IDE favorita (Visual Studio Code, Vim, Intelij...) e escreva o seguinte código:

fn main() {
    println!("Olá, mundo!");
}

Caso você já tenha algum conhecimento com linguagens, talvez consiga se familiarizar de cara, mas de qualquer formal, vou explicar linha à linha.

Na primeira linha temos a expressão fn main() {

  • fn indica que estamos declarando uma nova função (explicarei o que é uma função futuramente);
  • main é o nome da nossa função;

Por conveniência, main é sempre a primeira função executada em um código Rust.

  • () é o campo separado para os parâmetros da função, como pode ver, não há nada entre os parenteses, ou seja, a função não recebe nenhum parâmetro. (Não se preocupe com o que é um parâmetro por enquanto)

  • { indica que o escopo da função será declarado a partir dalí;

Toda chave {}, colchete [] ou parêntese () precisa de uma abertura e de um fechamento. No exemplo acima, a chave { aberta na linha 1 é fechada na linha 3 com }.

Partindo para a segunda linha temos a expressâo println!("Olá, mundo!"). onde:

  • println!() é um macro, uma função reservada da linguagem que automatiza tarefas, que no caso representa analogamente "Imprima uma linha na tela com o conteúdo <conteúdoo dos parenteses>";

  • "Olá, mundo!" é uma string, um tipo de valor do Rust, geralmente, mas nâo exclusivamente, usados para expressar caracteres, palavras ou frases. No exemplo Olá, mundo! é um valor inserido no macro println!. Não se esqueca das "" que envolvem a string!;

  • ; indica que aquela instrução chegou ao fim, e que o programa pode executar a próxima;

A unica tarefa da terceira linha é "fechar" a chave{} aberta na linha 1.

Salve o arquivo, e pronto! Você ja tem seu primeiro código em Rust!

Compilando e rodando um código Rust!

O compilador é uma parte muito emportante do Rust. Ele é o responsável por analisar o código que você escreveu e "traduzir" para uma linguagem que o seu computador consegue executar.

O comandos relacionados ao compilador geralmente sâo chamados com rustc, entâo para compilar nosso primeiro código basta rodar em seu terminal:

rustc ola_mundo.rs

Este comando vai gerar um arquivo chamado ola_mundo, sem nenhuma extensão, e cheio de caracteres estranho. Não se preocupe se não entender nada, esta é a famosa linguagem de máquina!

E para finalmente rodarmos nosso primeiro código basta rodar no terminal o seguinte comando:

./ola_mundo

E deve aparecer a menssagem Olá, mundo! em seu terminal.

E é isto... Seja muito bem-vindo ao mundo de Rust! Que assim como você, desbravarei nos próximos artigos.

Reescreva o código, mude valores, coloque e tire characteres onde nâo se deve, e veja o resultado mostrado de acordo com as suas alterações. Seja curioso!

O conteúdo técnico acaba aqui Se possível, leia as considerações finais 😊.

Considerações finais

Esta série de artigos está sendo escrita no intúito de concretizar meus conhecimentos sobre a linguagem de programação Rust. O conteúdo disponiblizado aqui tem como referência a Documentação Oficial da linguagem, e está sucetivel a erros e desatualizações. Caso encontre algum problema, entre em contato comigo através dos links disponibilizados no final deste artigo, ou sinta-se a vontade para fazer sua contribuição no Repositório do Github.

Confesso que nâo estou me preocupando muito com o teor teórico dos arigos ou com problemas de escrita (Nunca fui muito bom na matéria de Lingua Portuguesa na escola), mas caso queira fazer um adendo, ou correção, não pense duas vezes!

Sobre mim

Meu nome é Jorge Dorio, atualmente (28 de julho de 2022) tenho 20 anos. Sou desenvolvedor web fulltack e estou cursando Analise e Desenvolvimento de Sistemas na UTFPR. Programo em Python, C, JavaScript e agora estou desbravando o Rust.

Descobri o mundo da computação consideravelmente cedo. Meu pai sempre teve computadores por conta do trabalho, e sempre os pegava emprestado para jogar algo ou simplesmente desenhar alguma coisa no Paint. Lembro que meu primeiro contato com programação foi quando mexi em alguns arquivos de Warcraft II que não devia, e acabei quebrando o jogo.

Comunicação

Se quiser adicionar algo ao artigo, conversar, me chamar para jogar, ou me propor um emprego, sinta-se a vontade para entrar em contato por algum dos meios abaixo.

Até a proxima 😊