Bem-vindos ao Comprehensive Rust đŠ
Este é um curso gratuito de Rust desenvolvido pela equipe do Android no Google. O curso abrange o espectro completo da linguagem, desde sintaxe båsica até tópicos avançados como 'generics' e tratamento de erros.
A versĂŁo mais recente do curso pode ser encontrada em https://google.github.io/comprehensive-rust/. Se vocĂȘ estiver lendo em outro lugar, por favor verifique lĂĄ por atualizaçÔes.
O curso estĂĄ disponĂvel em outros idiomas. Selecione seu idioma preferido no canto superior direito da pĂĄgina ou verifique a pĂĄgina de TraduçÔes para uma lista de todas as traduçÔes disponĂveis.
O curso tambĂ©m estĂĄ disponĂvel como PDF.
O objetivo do curso Ă© ensinar Rust a vocĂȘ. NĂłs assumimos que vocĂȘ nĂŁo saiba nada sobre Rust e esperamos:
- Dar a vocĂȘ uma compreensĂŁo abrangente da linguagem e da sintaxe de Rust.
- Permitir que vocĂȘ modifique programas existentes e escreva novos programas em Rust.
- Demonstrar expressÔes idiomåticas comuns de Rust.
NĂłs chamamos os quatro primeiros dias do curso de Fundamentos do Rust.
Em seguida, vocĂȘ estĂĄ convidado(a) a mergulhar a fundo em um ou mais tĂłpicos especializados:
- Android: um curso de meio dia sobre a utilização de Rust no desenvolvimento para a plataforma Android (AOSP). Isto inclui interoperabilidade com C, C++ e Java.
- Chromium: um curso de meio dia sobre a utilização de Rust em navegadores baseados em Chromium. Isto inclui interoperabilidade com C++ e como incluir crates de terceiros no Chromium.
- Bare-metal: uma aula de um dia sobre a utilização de Rust para o desenvolvimento "bare metal" (sistema embarcado). Tanto micro-controladores quanto processadores de aplicação são cobertos.
- ConcorrĂȘncia: uma aula de um dia inteiro sobre concorrĂȘncia em Rust. NĂłs cobrimos tanto concorrĂȘncia clĂĄssica (escalonamento preemptivo utilizando threads e mutexes) quanto concorrĂȘncia async/await (multitarefa cooperativa utilizando futures).
Fora do escopo
Rust Ă© uma linguagem extensa e nĂŁo conseguiremos cobrir tudo em poucos dias. Alguns assuntos que nĂŁo sĂŁo objetivos deste curso sĂŁo:
- Aprender a criar macros: por favor confira CapĂtulo 19.5 em Rust Book e Rust by Example para esse fim.
Premissas
O curso pressupĂ”e que vocĂȘ jĂĄ saiba programar. Rust Ă© uma linguagem de tipagem estĂĄtica e ocasionalmente faremos comparaçÔes com C e C++ para melhor explicar ou contrastar a abordagem do Rust.
Se vocĂȘ sabe programar em uma linguagem de tipagem dinĂąmica, como Python ou JavaScript, entĂŁo vocĂȘ tambĂ©m serĂĄ capaz de acompanhar.
Este Ă© um exemplo de uma nota do instrutor. NĂłs as usaremos para adicionar informaçÔes complementares aos slides. Elas podem ser tanto pontos-chave que o instrutor deve cobrir quanto respostas a perguntas tĂpicas que surgem em sala de aula.