40 คะแนน โดย GN⁺ 2023-11-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คอร์สนี้เหมาะสำหรับผู้ที่คุ้นเคยกับ C และการเขียนโปรแกรมเชิงวัตถุอยู่แล้ว และมีเป้าหมายเพื่อยกระดับความชำนาญด้านการเขียนโปรแกรม C++
  • ครอบคลุมตั้งแต่พื้นฐานของการเขียนโปรแกรม C++ ไปจนถึงความหมายเชิงลึกและแนวคิดขั้นสูงของ C++
  • เรียนได้ฟรี มีการอัปเดตบ่อย รวมแนวคิดและความสามารถของมาตรฐานภาษาล่าสุด พร้อมใช้แนวทางการสอนที่เน้นการใช้งานจริง

เนื้อหาสำคัญในแต่ละบท

  • แนวคิดพื้นฐาน : อธิบายชนิดข้อมูลพื้นฐานของ C++, ตัวดำเนินการ, กฎการแปลงค่า, การจัดการหน่วยความจำ, ฟังก์ชัน และ preprocessor
  • การเขียนโปรแกรมเชิงวัตถุ : ทำความเข้าใจแนวคิดของคลาส, การสืบทอด, พหุสัณฐาน และ operator overloading
  • เทมเพลตและเมตาโปรแกรมมิง : เจาะลึกฟังก์ชันและคลาสเทมเพลต, ยูทิลิตีขณะคอมไพล์ และ SFINAE
  • หน่วยแปล : อธิบายเรื่อง linkage, One Definition Rule และวิธีจัดการหลาย translation unit
  • ข้อกำหนดการเขียนโค้ด : แนะนำการจัดระเบียบโปรเจกต์และข้อกำหนดการเขียนโค้ดที่สำคัญ
  • ระบบนิเวศ : ข้อมูลเกี่ยวกับ debugging, testing, Cmake, การทำเอกสาร และเครื่องมืออื่น ๆ
  • ยูทิลิตี : ภาพรวมของไลบรารี std ที่สำคัญ, คอนเทนเนอร์, iterator และอัลกอริทึม
  • หัวข้อขั้นสูง : ศึกษาเชิงลึกเรื่อง move semantics, type inference, smart pointer และ concurrency
  • การเพิ่มประสิทธิภาพ : กลยุทธ์เกี่ยวกับแนวคิดพื้นฐาน, การปรับโค้ดให้มีประสิทธิภาพ, การเพิ่มประสิทธิภาพที่ไม่เกี่ยวกับการเขียนโค้ด และ benchmarking

ความเห็นของ GN⁺

คอร์สนี้ครอบคลุมทุกแง่มุมของการเขียนโปรแกรม C++ รวมถึงมาตรฐานล่าสุดของภาษา จึงเป็นแหล่งข้อมูลสำคัญสำหรับวิศวกรซอฟต์แวร์ระดับเริ่มต้นที่ต้องการเติบโตสู่ระดับผู้เชี่ยวชาญ แนวทางการสอนแบบอิงประสบการณ์จากกรณีจริงช่วยให้ผู้เรียนได้รับความรู้ที่นำไปใช้ได้จริง ซึ่งเป็นประโยชน์อย่างมากต่อการพัฒนาทักษะการเขียนโปรแกรม

1 ความคิดเห็น

 
GN⁺ 2023-11-29
ความเห็นจาก Hacker News
  • ผู้สร้างคอร์สนี้เป็นหัวหน้าทีมที่ NVIDIA และเป็นวิศวกรซอฟต์แวร์หลักของ CUDA cuSPARSE

    • เมื่อพิจารณาจากความเกี่ยวข้องของผู้สร้างคอร์สกับ NVIDIA และ CUDA ประสบการณ์นี้อาจเป็นประโยชน์สำหรับผู้ที่เชี่ยวชาญ C++ อยู่แล้ว
  • ประสบความสำเร็จอย่างมากในการใช้ ChatGPTv4 เพื่อเขียนโค้ด C++ สมัยใหม่ที่เข้ากันได้กับ CUDA

    • ChatGPTv4 สามารถช่วยแปลงโค้ด Rust ให้เป็น C++ สมัยใหม่ที่เข้ากันได้กับคอมไพเลอร์ nvcc CUDA รุ่นล่าสุดได้
    • ระหว่างกระบวนการแปลง มันอธิบายความแตกต่างของภาษาและแนะนำให้ใช้ std::* เพื่อเขียนโค้ดที่ยืดหยุ่นมากขึ้น
  • กลับมาใช้ C++ หลังจากพักไปนาน และมองว่าเวอร์ชันใหม่อย่าง C++17 ดีพอแล้ว แต่การรองรับยูนิโคดยังน่าผิดหวัง

    • เวอร์ชัน C++ ใหม่ล่าสุดนั้นดีพอสำหรับการใช้งาน แต่ชี้ว่าการรองรับยูนิโคดยังไม่สะดวกและควรได้รับการปรับปรุง
  • ในฐานะนักพัฒนา embedded กำลังมองหาแหล่งเรียนรู้ที่ดีเพื่อเริ่มเรียน C++

    • ผู้ที่มีประสบการณ์ด้านการพัฒนา embedded กำลังมองหาสื่อการเรียน C++ เพื่อขยับไปทำงานในระดับที่สูงขึ้น
    • แม้จะมีคอร์สในหลายช่วงราคา แต่ก็ประสบปัญหาในการเลือกคอร์สที่เหมาะกับสถานการณ์ที่ซับซ้อนของตน
  • สงสัยว่ามีใครที่สามารถนำคอร์สนี้ไปเทียบกับ learncpp.com ได้บ้างหรือไม่

    • ขอความเห็นเกี่ยวกับประโยชน์ของคอร์สนี้เมื่อเทียบกับเว็บไซต์ learncpp.com
  • เหมาะสำหรับการกลับมาทบทวนทักษะ C ที่ลืมไปตั้งแต่สมัยมหาวิทยาลัย แต่ยังต้องการการฝึกเขียนโค้ดจริงมากกว่านี้

    • แสดงความคิดเห็นว่าชอบการเรียนรู้ผ่านการฝึกเขียนโค้ดจริงมากกว่าการเรียนเชิงทฤษฎี
  • คิดว่าการเรียนจากสไลด์อย่างเดียวเป็นเรื่องยาก

    • วิจารณ์ว่าการเรียนผ่านสไลด์ไม่มีประสิทธิภาพ และแสดงให้เห็นว่าตนชอบวิธีการเรียนแบบอื่นมากกว่า
  • smart pointer ไม่ควรถูกมองว่าเป็น "หัวข้อขั้นสูง" ใน C++

    • เน้นว่า smart pointer เป็นวิธีที่ดีที่สุดสำหรับการจัดการหน่วยความจำ ดังนั้นผู้เริ่มต้นก็ควรเรียนรู้สิ่งนี้
    • กล่าวว่าการเข้าใจ new และ delete ก็สำคัญ แต่ในทางปฏิบัติการใช้ unique_ptr หรือ shared_ptr จะเหมาะสมกว่า
  • สงสัยว่าใน C++ สมัยใหม่ยังจำเป็นต้องใช้ new/delete หรือไม่

    • ผู้เริ่มต้น C++ ตั้งคำถามถึงความจำเป็นของคีย์เวิร์ด new/delete ใน C++ สมัยใหม่
  • ขอให้ช่วยอธิบายว่าควรอ่านส่วนกฎการแปลงอย่างไร

    • เนื่องจากไม่คุ้นเคยกับสัญลักษณ์ในส่วนกฎการแปลง จึงขอความช่วยเหลือและมองหาคำอธิบายเพิ่มเติมในส่วนนั้น