Executando verificação de segurança...
0

Aprendendo Rust do zero - Removendo mitos e ajudando a começar

Bom nesse breve texto quero falar um pouco sobre como aprender rust, além de tirar alguns mitos.

Rust é uma linguagem muito legal, uso ela em alguns projetos além de usar ela no jogo que estou desenvolvendo, hoje falando com algumas pessoas percebo alguns obstáculos que se coloca para aprender rust e gostaria de ajudar a clarear um pouco.

Mitos:

Aprender C/C++: Além de que se você souber a linguagem seja algo que te ajude, não é algo mandatório para aprender Rust, tem muita gente na comunidade que tem esse background.

**Saber estrutura de dados e algortimos: **Também é um conhecimento importante pra se tornar um programador melhor, porém não é mandatório.

**Saber design partterns: **Esse eu vejo as pessoas muito obsecadas pelo livro da Gang of 4 mas, sinceramente é algo que você deve estudar depois de já ter certo conhecimento em qualquer linguagem, além de que algumas linguagens resolvem os patterns de outras formas.

Aprender ponteiros: Como disse tem pessoas de outros backgrounds, e conforme você aprende Rust você vai identificando como a mémoria é alocada e suas referências e isso pode até te levar aprender como funcionam os ponteiros em c/C++ por exemplo, mas não é mandatório.

Aprender Rust por que não quer aprender ponteiros: como disse tem pessoas na comunidade com background em C/C++ e que continuam trabalhando nessas linguagens, inclusive usam-se Rust hoje no desenvolvimento do kernel Linux, não vejo essas pessoas que trabalham lá usando Rust por que simplesmente não querem aprender ponteiros.

Então nada disso é importante?
Como falei coisas que citei anteriormente podem ser importantes para se tornar um programador melhor (como algorimo e estrutura de dados), porém se você está aprendendo a linguagem não é mandatório, com o tempo você vai incluindo isso no seu plano de estudos.

Bom tirando os mitos como você pode aprender rust? Vou dar algumas dicas para você começar a estudar.
Pra quem está iniciando: Pensando em mercado de trabalho é interessante conhecer outra linguagem, e disso isso não por que o Rust é dificil, mas por que pensando em trabalhar com a linguagem, normalmente vão pedir que você tenha conhecimento em outra linguagem.

Conhecimento gradual: Penso que assim como no vim o Rust (e na real qualquer outra linguagem) você precisa de consistência, não adianta estudar 40 horas uma semana e depois ficar 1 mês sem estudar. O importante mesmo que seja pouco tempo que seja constante, assim você vai conseguindo aprender de forma graudal.

Então como aprender ?

Restringindo o material: Como sempre falo, não adianta comprar 10 livros e 5 cursos se você está inciando na linguagem, isso vai mais atrapalhar que ajudar, a principio use apenas um material e com o tempo conforme já vai tendo conhecimento aumente o seu conteúdo.
Aqui algumas sugestões de materiais gratuitos pra começar:

Documentação do Rust
https://rust.sh
https://livro.rustbr.org/ - Pt_Bt

Praticar - não adianta só ler

Não leia um livro técnico como um romance e nem assista um curso como netflix, sempre tente refazer os exemplos e fazer exercícios do tópico que está aprendendo com isso você vai conseguir fixar os conceitos.

Onde posso praticar em qualquer lugar?

Rust playground pra mim é uma ótima ferramenta pra quem ta começando pois você pode usar seja no computador quanto no celular.

http://play.rust-lang.org/

Como me preparar para estudar?

Tempo e ambiente pra estudos: Defina um tempo na sua semana (ela pode variar durante a semana) e foque em estudar, tenha um ambiente onde você consiga definir como local de estudo, se tem barulho tente um fone para rudizir ruidos, se muito silêncio te atrapalha tente ruido branco, procure apenas deixar o ambiente proprio para focar.

Um computador: Além de acreditar que da pra fazer muitas coisas com o celular, mas em algum momento você vai precisar de um computador, e pode ser um computador antigo o importante na minha visão é ser pelo menos com um processador de 64bits e ter pelo menos uns 2Gb de memória.

Linux, Mas ou Windows?: Sinceramente pra mim é uma questão de gosto o Rust roda em todos esses sistemas, só diria que se seu computador for antigo e sem muitos recursos o linux funcionaria melhor com uma distribuição mais focada nesse nicho.

Instalar linguagem: Linux e Mac da pra insalar usando o script da página da linguagem e com o windows você vai precisar usar algo como chocolately ou wsl2.

Faça Exercícios: Isso é muito importante sempre pratique o que está aprendendo e se precisar de uma dica de site sempre recomendo o exercism

Expandindo material: Você já conseguiu um conhecimento básico da linguagem? Já consegue fazer pequenos projeto? Então pode tentar buscar novos livros e cursos para aprofundar em algum tópico.
O que eu recomendo
Livros:
Hands on Rust - Inglês
Programming Rust - Inglês
Rust: Concorrência e alta performance com segurança
Programação Funcional e Concorrente em Rust

Curso
Meu curso de rust
Ultimate Rust Crash Course - Inglês

Caso tenha gostado do artigo eu elaboro um pouco mais ele no meu vídeo não deixe de dar uma conferida.
https://youtu.be/STMPnPRrv8k