Benvenuti a Comprehensive Rust 🦀
Questo è un corso Rust di tre giorni sviluppato dal team Android. Il corso copre l'intero spettro di conoscenze su Rust, dalla sintassi di base ad argomenti avanzati come i generici e gestione degli errori. Nell’ultimo giorno include anche contenuti specifici per Android.
The latest version of the course can be found at https://google.github.io/comprehensive-rust/. If you are reading somewhere else, please check there for updates.
L'obiettivo del corso è insegnarti Rust. Partiamo dal presupposto che tu non sappia nulla su Rust e spero di:
- Fornire una comprensione completa della sintassi e del linguaggio di Rust.
- Consentono di modificare i programmi esistenti e scrivere nuovi programmi in Rust.
- Mostra i comuni idiomi di Rust.
We call the first four course days Rust Fundamentals.
I primi tre giorni ti mostrano i fondamenti di Rust. A seguito di questo, sei invitato ad approfondire uno o più argomenti specialistici:
- Android: un corso di mezza giornata sull'utilizzo della piattaforma Rust per Android sviluppo (AOSP). Ciò include l'interoperabilità con C, C++ e Java.
- Chromium: a half-day course on using Rust within Chromium based browsers. This includes interoperability with C++ and how to include third-party crates in Chromium.
- Bare-metal: una lezione di un'intera giornata sull'utilizzo di Rust per bare-metal sviluppo (incorporato). Lo sono sia i microcontrollori che i processori applicativi coperto.
- Concurrency: una lezione di un'intera giornata sulla concorrenza in Rust. Noi coprire sia la concorrenza classica (pianificazione preventiva utilizzando thread e mutextes) e async/await concurrency (multitasking cooperativo tramite futuri).
Non goal
Rust è un linguaggio vasto e non saremo in grado di coprirlo tutto in pochi giorni. Alcuni non-obiettivi di questo corso sono:
- Imparare come sviluppare le macro, per favore vedi 'Rust Book' (Capitolo 19.5) e Rust by Example.
Ipotesi
Il corso presuppone che tu sappia già programmare. Rust è un linguaggio “tipato staticamente” (statically-typed) e talvolta faremo confronti con C e C++ per meglio spiegare o contrastare l'approccio di Rust.
Se sai come programmare in un linguaggio tipizzato dinamicamente come Python o JavaScript, allora sarai anche in grado di seguire bene.
Questo è un esempio di nota del relatore. Useremo questi per aggiungere ulteriori informazioni alle diapositive. Questi potrebbero essere punti chiave che l'istruttore dovrebbe copertina così come le risposte alle domande tipiche che sorgono in classe.