1 คะแนน โดย GN⁺ 2024-12-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ความสนุกของ C++

    • นักพัฒนาโปรแกรมหลายคนคิดว่าตนได้ลืมไปแล้วว่าทำไมจึงเริ่มต้นเขียนโปรแกรม
    • เมื่อทำโปรเจกต์ด้วย C++ ผู้เขียนรู้สึกสนุก และสามารถทำให้ไอเดียที่หลากหลายกลายเป็นจริงได้
    • C++ ไม่ขัดขวางไม่ให้โปรแกรมเมอร์ทำในสิ่งที่ต้องการ
  • ปัญหาของเทมเพลตเมตาโปรแกรมมิ่งใน C++

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

    • C++11 นำการปรับปรุงมากมายมาให้กับภาษา
    • เพิ่มฟีเจอร์ต่าง ๆ ได้แก่ auto, nullptr, range-for, นิพจน์ lambda, <chrono>, <regex>, unique_ptr, shared_ptr, <thread>
    • การเปลี่ยนแปลงเหล่านี้ทำให้ C++ กลายเป็นภาษาที่ทันสมัยและใช้งานได้ง่ายขึ้น
  • ความสามารถสมัยใหม่ของ C++

    • รองรับฟังก์ชันหลากหลาย เช่น การนำทางระบบไฟล์, การจัดการแพ็กเกจ, ไลบรารีเมทริกซ์, กราฟิก, GUI และ TUI
    • เนื่องจาก C++ เข้าถึงไลบรารีและ API ต่าง ๆ ได้โดยตรง จึงสามารถสร้างได้เกือบทุกสิ่ง
  • เสรีภาพเชิงสร้างสรรค์ของ C++

    • C++ เป็นภาษาแห่งความสามารถในการสร้างสรรค์และไม่ถูกกักขังด้วยข้อจำกัดแบบอำนาจนิยมของภาษาอื่น
    • cppreference.com เป็นเว็บไซต์เอกสารประกอบของ C++ ที่ยอดเยี่ยม โดยอธิบายคีย์เวิร์ดและไลบรารีทั้งหมดได้อย่างดี
  • ข้อเสียของ C++

    • ข้อความผิดพลาดจากคอมไพเลอร์เป็นหนึ่งในสิ่งที่แย่ที่สุดในอุตสาหกรรม และเครื่องมือ build ใช้ได้ยาก
    • ความซับซ้อนของภาษาและมรดกทางประวัติศาสตร์ทำให้เส้นโค้งการเรียนรู้ชันขึ้น
    • รูปแบบ RAII (Resource Acquisition Is Initialization; การรับทรัพยากรคือการเริ่มต้น) อาจไม่สะดวกในสภาพแวดล้อมการใช้งานจริง
  • สรุป

    • C++ ยังคงเป็นภาษาที่สนุกและทรงพลัง และเราควรหลุดพ้นจากอคติเก่าห่างไป
    • C++ มอบเสรีภาพในการสร้างสรรค์ให้กับโปรแกรมเมอร์ พร้อมเปิดโอกาสให้สานฝันโปรเจกต์ที่หลากหลายให้เป็นจริงได้

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

 
GN⁺ 2024-12-25
ความคิดเห็นจาก Hacker News
  • แม้ฉันจะไม่ชอบ C++ แต่มีประสบการณ์ที่น่าพอใจกับโปรเจกต์ส่วนตัว. Rust และ CD/CI ทำให้มีความน่าเชื่อถือระยะยาว. ระบบ build และการจัดการแพ็กเกจยังค่อนข้างยาก.

    • การควบคุมที่ละเอียดของ C++ ให้ความสนุก.
    • ระบบ build และการจัดการแพ็กเกจยังค่อนข้างยาก.
    • C++ มีความซับซ้อนทั้งในด้านไวยากรณ์และ runtime.
  • ความคิดเห็นที่สับสนเกี่ยวกับ C++ มีอยู่มาก. C++ มีทั้งความทันสมัยและปัญหาแบบเก่าปะปนกันอยู่.

    • ประสิทธิภาพและความยากทางเทคนิคของ C++ ให้ความสนุก.
    • C++ ไม่เหมาะสำหรับการพัฒนาซอฟต์แวร์ "แบบจริงจัง".
  • ในโปรเจกต์ C++ การเชื่อมต่อ dependency จากบุคคลที่สามค่อนข้างยาก. ในภาษาใหม่ๆ ส่วนใหญ่สามารถแก้ได้ด้วยการติดตั้งอย่างง่าย.

    • การทำความเข้าใจรายละเอียดเล็กน้อยของ C++ ใช้เวลา.
  • เรียนรู้ฟีเจอร์ใหม่ๆ ของ C++ ได้ แต่ถูกคอมไพเลอร์ error มาเจอ ทำให้ยากขึ้น จนยังอยู่ที่ C++14.

    • ความซับซ้อนของ C++ เป็นภาระ.
  • ข้อร้องเรียนเกี่ยวกับ C++ มักเกิดจาก codebase แบบเก่า และเกิดประสบการณ์คล้ายกันใน Rust.

    • ปัญหาคือการพัฒนา software ที่ไม่ดี.
  • แม้บางคนจะมีความสุขกับ C++ แต่ส่วนตัวแล้ว C++ ยังซับซ้อนมาก.

    • ใช้ C เมื่อจำเป็นต้องควบคุมระดับต่ำ.
  • C++11 ทำให้ประทับใจ และเอกสารของ cppreference.com ดีมาก.

    • การนำไลบรารีอื่นมารวมในโปรเจกต์ทำได้ยาก.
  • ถ้าคุณมีทีมที่เข้าใจ C++ สมัยใหม่อย่างลึกซึ้ง, C++ ก็ยอดเยี่ยม. มี performance ดีและการดีบัก/ปรับแต่งประสิทธิภาพทำได้ง่าย.

    • แต่ถ้าเป็น codebase เก่า ประสบการณ์อาจต่างออกไป.
  • ฉันได้เรียน C++ แต่ไม่ค่อยลงลึก. Rust มีฟังก์ชันการเขียนแบบ functional และประสิทธิภาพที่ดีมาก.

    • ไม่ค่อยมีเหตุผลมากนักที่จะใช้ C++.
  • std::regex ของ C++ มีประสิทธิภาพไม่ดีและรองรับ Unicode ไม่ดีพอ โดยรวมแล้วควรหลีกเลี่ยง.