Modern C++ Programlama Kursu
(github.com/federico-busato)- Bu kurs, zaten C ve nesne yönelimli programlamaya aşina olan kişileri hedefler ve C++ programlama yetkinliğini artırmayı amaçlar
- C++ programlamanın temellerinden ileri düzey C++ semantiği ve kavramlarına kadar geniş bir yelpazeyi kapsar
- Ücretsizdir, sık sık güncellenir, en güncel dil standardının kavram ve özelliklerini içerir ve pratik bir eğitim yaklaşımı benimser
Her bölümün ana içeriği
- Temel kavramlar : C++'ın temel türleri, operatörleri, dönüşüm kuralları, bellek yönetimi, fonksiyonlar ve önişlemci hakkında açıklamalar.
- Nesne yönelimli programlama : Sınıf kavramı, kalıtım, çok biçimlilik ve operatör aşırı yükleme hakkında anlayış.
- Şablonlar ve meta programlama : Fonksiyon ve sınıf şablonları, derleme zamanı yardımcı araçları ve SFINAE üzerine derinlemesine inceleme.
- Çeviri birimleri : Linkage, One Definition Rule ve birden fazla çeviri biriminin nasıl ele alınacağına dair açıklamalar.
- Kod kuralları : Proje organizasyonu ve temel kod kurallarına dair rehberlik.
- Ekosistem : Hata ayıklama, test, Cmake, dokümantasyon ve diğer araçlar hakkında bilgiler.
- Yardımcı araçlar : Başlıca
stdkütüphanesi, kapsayıcılar, yineleyiciler ve algoritmalar hakkında genel bakış. - İleri konular : Taşıma semantiği, tür çıkarımı, akıllı işaretçiler ve eşzamanlılık üzerine derinlemesine öğrenim.
- Optimizasyon : Temel kavramlar, kod optimizasyonu, kod dışı optimizasyon ve benchmark stratejileri.
GN⁺ görüşü
Bu kurs, C++'ın en güncel standartları dahil olmak üzere C++ programlamanın tüm yönlerini kapsadığı için, başlangıç seviyesindeki yazılım mühendislerinin uzman seviyesine gelişmesi açısından vazgeçilmez bir kaynaktır. Gerçek örneklere dayanan deneyim odaklı yaklaşımı, öğrenenlere pratik bilgi sunar ve bu da programlama yetkinliklerini geliştirmede oldukça faydalıdır.
1 yorum
Hacker News görüşleri
Bu kursun yaratıcısı, NVIDIA'da bir ekip lideri ve CUDA cuSPARSE'in baş yazılım mühendisidir.
ChatGPTv4 kullanarak CUDA ile uyumlu modern C++ kodu yazmada büyük başarı elde ettim.
std::*kullanımını önerir.Uzun bir aradan sonra C++'a geri döndüm; C++17 gibi son sürümler yeterince iyi, ancak Unicode desteği hayal kırıklığı yaratıyor.
Gömülü sistem geliştiricisi olarak C++ öğrenmeye başlamak için iyi kaynaklar arıyorum.
Bu kursu learncpp.com ile karşılaştırabilecek biri var mı diye merak ediyorum.
Üniversite yıllarından unutulmuş C becerilerini yeniden kazanmak için uygun, ama daha fazla gerçek kodlama pratiği gerekli.
Sadece slaytlarla öğrenmenin zor olduğunu düşünüyorum.
Akıllı işaretçiler C++'ta "ileri seviye konu" olarak görülmemeli.
newvedeletekavramlarını anlamanın da önemli olduğu, ancak pratikteunique_ptrveyashared_ptrkullanmanın daha tercih edilir olduğu belirtiliyor.Modern C++'ta
new/deletekullanmak gerekip gerekmediğini merak ediyorum.new/deleteanahtar sözcüklerinin gerekli olup olmadığını sorguluyor.Dönüşüm kuralları bölümünün nasıl okunacağını açıklamasını istiyor.