Comprehensive Rust'a Hoş Geldiniz 🦀
Bu, Google'daki Android ekibi tarafından geliştirilen ücretsiz bir Rust kursudur. Kurs, temel sözdiziminden jenerikler ve hata işleme gibi ileri düzey konulara kadar Rust'ın tüm yelpazesini kapsar.
Kursun en son sürümüne https://google.github.io/comprehensive-rust/ adresinden ulaşılabilir. Başka bir yerde okuyorsanız, lütfen güncellemeleri kontrol edin.
Kurs diğer dillerde de mevcuttur. Sayfanın sağ üst köşesinden tercih ettiğiniz dili seçin veya tüm mevcut çevirilerin listesi için Çeviriler sayfasını kontrol edin.
Kurs ayrıca PDF olarak da mevcuttur.
Kursun amacı size Rust'ı öğretmektir. Rust hakkında hiçbir şey bilmediğinizi varsayıyoruz ve şunu umuyoruz:
- Rust sözdizimi ve dili hakkında kapsamlı bir anlayış sunmayı.
- Rust'ta mevcut programları değiştirmenize ve yeni programlar yazmanıza olanak sağlamayı.
- Yaygın Rust kod kaplarını göstermeyi.
İlk dört kurs gününe Rust Esasları (Rust Fundamentals) adını veriyoruz.
Buna dayanarak, bir veya daha fazla uzmanlık konusuna dalmaya davetlisiniz:
- Android: Android platformu geliştirme (AOSP) için Rust'ın kullanımına ilişkin yarım günlük bir kurs. Buna C, C++ ve Java ile birlikte çalışabilirlik de dahildir.
- Chromium: Rust'ın Chromium tabanlı tarayıcılarda kullanılmasına ilişkin yarım günlük bir kurs. Bu, C++ ile birlikte çalışabilirliği ve üçüncü taraf kasaların Chromium'a nasıl dahil edileceğini içerir.
- Yalın-metal: Yalın sistem (gömülü) geliştirme için Rust'ın kullanımına ilişkin tam günlük bir ders. Hem mikrodenetleyiciler hem de uygulama işlemcileri kapsanmaktadır.
- Eşzamanlılık: Rust'ta eşzamanlılık üzerine tam günlük bir ders. Hem klasik eşzamanlılığı (iş parçacıkları ve muteksleri kullanarak kesintili/geçişli zamanlama) hem de async/await eşzamanlılığını (future özelliklerini kullanarak işbirlikçi çoklu görev) ele alıyoruz.
Hedef Dışı
Rust geniş bir dil ve birkaç gün içinde tamamını ele almamız mümkün olmayacak. Aşağıdakiler bu kursun amaçları dışında kalır:
- Makroların nasıl geliştirileceğini öğrenmek: lütfen bunun yerine Rust Book'ta Bölüm 19.5 ve Örneklerle Rust bakınız.
Varsayımlar
Kurs, nasıl programlanacağını zaten bildiğinizi varsayar. Rust, statik olarak türlenen bir dildir ve Rust yaklaşımını daha iyi açıklamak veya karşılaştırmak için bazen C ve C++ ile karşılaştırmalar yapacağız.
Python veya JavaScript gibi dinamik olarak yazılmış bir dilde nasıl programlanacağını biliyorsanız, o zaman da gayet iyi takip edebileceksiniz.
Bu bir konuşmacı notu örneğidir. Bunları slaytlara ek bilgi eklemek için kullanacağız. Bunlar, eğitmenin ele alması gereken önemli noktaların yanı sıra sınıfta ortaya çıkan tipik soruların yanıtları da olabilir.