Bem-vindo ao Comprehensive Rust 🩀

Workflow do GitHub ContribuiçÔes no GitHub Estrelas no GitHub

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 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:

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.