40 puan yazan GN⁺ 2023-11-29 | 1 yorum | WhatsApp'ta paylaş
  • 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 std kü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

 
GN⁺ 2023-11-29
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.

    • Kursu oluşturan kişinin NVIDIA ve CUDA ile bağlantısı göz önüne alındığında, bu deneyim C++'a hakim kişiler için faydalı olabilir.
  • ChatGPTv4 kullanarak CUDA ile uyumlu modern C++ kodu yazmada büyük başarı elde ettim.

    • ChatGPTv4, Rust kodunu en güncel nvcc CUDA derleyicisiyle uyumlu modern C++'a dönüştürmeye yardımcı olabilir.
    • Dönüşüm sürecinde dil farklarını açıklar ve daha esnek kod yazımı için 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.

    • En yeni C++ sürümleri kullanım için yeterli, ancak Unicode desteği kullanışsız olduğu için iyileştirilmesi gerektiği belirtiliyor.
  • Gömülü sistem geliştiricisi olarak C++ öğrenmeye başlamak için iyi kaynaklar arıyorum.

    • Gömülü geliştirme deneyimi olan biri, daha yüksek seviyeli işlere geçmek için C++ öğrenme kaynakları arıyor.
    • Farklı fiyat aralıklarında kurslar var, ancak karmaşık duruma uygun kursu seçmekte zorlanıyor.
  • Bu kursu learncpp.com ile karşılaştırabilecek biri var mı diye merak ediyorum.

    • learncpp.com sitesiyle karşılaştırıldığında bu kursun ne kadar faydalı olduğuna dair görüş isteniyor.
  • Üniversite yıllarından unutulmuş C becerilerini yeniden kazanmak için uygun, ama daha fazla gerçek kodlama pratiği gerekli.

    • Teorik öğrenmeden ziyade gerçek kodlama pratiğiyle öğrenmeyi tercih eden bir görüş ifade ediliyor.
  • Sadece slaytlarla öğrenmenin zor olduğunu düşünüyorum.

    • Slaytlarla öğrenmenin verimsiz olduğu eleştiriliyor ve başka öğrenme yöntemlerinin tercih edildiği belirtiliyor.
  • Akıllı işaretçiler C++'ta "ileri seviye konu" olarak görülmemeli.

    • Akıllı işaretçilerin bellek yönetiminde en iyi yöntem olduğu, bu yüzden yeni başlayanların da bunları öğrenmesi gerektiği vurgulanıyor.
    • new ve delete kavramlarını anlamanın da önemli olduğu, ancak pratikte unique_ptr veya shared_ptr kullanmanın daha tercih edilir olduğu belirtiliyor.
  • Modern C++'ta new/delete kullanmak gerekip gerekmediğini merak ediyorum.

    • C++'a yeni başlayan biri, modern C++'ta new/delete anahtar 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.

    • Dönüşüm kuralları bölümündeki gösterime alışık olmadığı için yardım istiyor ve o kısım hakkında ek açıklama arıyor.