40 điểm bởi GN⁺ 2023-11-29 | 1 bình luận | Chia sẻ qua WhatsApp
  • Khóa học này dành cho những người đã quen thuộc với C và lập trình hướng đối tượng, nhằm nâng cao trình độ thành thạo trong lập trình C++
  • Bao quát từ những kiến thức cơ bản của lập trình C++ đến ngữ nghĩa và khái niệm C++ nâng cao
  • Miễn phí, được cập nhật thường xuyên, bao gồm các khái niệm và tính năng của tiêu chuẩn ngôn ngữ mới nhất, đồng thời áp dụng phương pháp đào tạo thực tiễn

Nội dung chính của từng chương

  • Khái niệm cơ bản : Giải thích về các kiểu dữ liệu cơ bản của C++, toán tử, quy tắc chuyển đổi, quản lý bộ nhớ, hàm và tiền xử lý.
  • Lập trình hướng đối tượng : Tìm hiểu khái niệm lớp, kế thừa, đa hình và nạp chồng toán tử.
  • Template và metaprogramming : Khám phá chuyên sâu về template hàm và lớp, utility thời gian biên dịch và SFINAE.
  • Đơn vị biên dịch : Giải thích về linkage, One Definition Rule và cách xử lý nhiều đơn vị biên dịch.
  • Quy ước mã nguồn : Hướng dẫn về tổ chức dự án và các quy ước mã nguồn chính.
  • Hệ sinh thái : Thông tin về gỡ lỗi, kiểm thử, Cmake, tài liệu hóa và các công cụ khác.
  • Tiện ích : Tổng quan về các thư viện std chính, container, iterator và thuật toán.
  • Chủ đề nâng cao : Học chuyên sâu về move semantics, suy luận kiểu, smart pointer và đồng thời hóa.
  • Tối ưu hóa : Chiến lược về các khái niệm cơ bản, tối ưu hóa mã, tối ưu hóa ngoài mã và benchmarking.

Ý kiến của GN⁺

Khóa học này bao quát mọi khía cạnh của lập trình C++, bao gồm cả các tiêu chuẩn mới nhất của C++, nên là tài liệu thiết yếu để các kỹ sư phần mềm mới vào nghề phát triển lên trình độ chuyên gia. Cách tiếp cận thiên về trải nghiệm dựa trên các trường hợp thực tế mang lại cho người học kiến thức thực tiễn, rất hữu ích để nâng cao năng lực lập trình.

1 bình luận

 
GN⁺ 2023-11-29
Ý kiến trên Hacker News
  • Người tạo ra khóa học này là trưởng nhóm tại NVIDIA và là kỹ sư phần mềm chủ chốt của CUDA cuSPARSE

    • Xét đến mối liên hệ của người tạo khóa học với NVIDIA và CUDA, kinh nghiệm này có thể hữu ích với những người đã thành thạo C++.
  • Đã rất thành công khi dùng ChatGPTv4 để viết mã C++ hiện đại tương thích với CUDA

    • ChatGPTv4 có thể giúp chuyển đổi mã Rust sang C++ hiện đại tương thích với trình biên dịch nvcc CUDA mới nhất.
    • Trong quá trình chuyển đổi, nó giải thích sự khác biệt giữa các ngôn ngữ và khuyến nghị dùng std::* để viết mã linh hoạt hơn.
  • Đã quay lại với C++ sau một thời gian dài nghỉ và thấy các phiên bản gần đây như C++17 đủ tốt, nhưng hỗ trợ Unicode còn đáng tiếc

    • Các phiên bản C++ mới nhất đủ tốt để sử dụng, nhưng hỗ trợ Unicode còn bất tiện và cần được cải thiện.
  • Là một lập trình viên nhúng đang tìm tài liệu tốt để bắt đầu học C++

    • Một người có kinh nghiệm phát triển nhúng đang tìm tài liệu học C++ để chuyển sang các công việc ở mức độ cao hơn.
    • Có nhiều khóa học ở các mức giá khác nhau, nhưng họ đang gặp khó khăn trong việc chọn khóa học phù hợp với hoàn cảnh phức tạp của mình.
  • Tò mò không biết có ai có thể so sánh khóa học này với learncpp.com không

    • Hỏi ý kiến về hiệu quả của khóa học này khi so với website learncpp.com.
  • Phù hợp để ôn lại kỹ năng C đã bị mai một từ thời đại học, nhưng cần thực hành lập trình nhiều hơn

    • Bày tỏ quan điểm ưu tiên học thông qua thực hành lập trình thực tế hơn là chỉ học lý thuyết.
  • Cho rằng chỉ học bằng slide thì rất khó

    • Chỉ trích việc học qua slide là kém hiệu quả và cho thấy sự ưa thích các phương pháp học khác.
  • Smart pointer không nên bị xem là một "chủ đề nâng cao" trong C++

    • Nhấn mạnh rằng smart pointer là cách tốt nhất để quản lý bộ nhớ, nên ngay cả người mới bắt đầu cũng cần học.
    • Cũng đề cập rằng hiểu newdelete là quan trọng, nhưng trong thực tế, dùng unique_ptr hoặc shared_ptr sẽ đáng mong muốn hơn.
  • Băn khoăn liệu trong C++ hiện đại có cần dùng new/delete hay không

    • Một người mới học C++ đặt câu hỏi về sự cần thiết của các từ khóa new/delete trong C++ hiện đại.
  • Yêu cầu giải thích cách đọc phần quy tắc chuyển đổi

    • Vì không quen với ký pháp trong phần quy tắc chuyển đổi nên họ nhờ giúp đỡ và tìm thêm giải thích cho phần đó.