-
ความสนุกของ 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
แม้ฉันจะไม่ชอบ C++ แต่มีประสบการณ์ที่น่าพอใจกับโปรเจกต์ส่วนตัว. Rust และ CD/CI ทำให้มีความน่าเชื่อถือระยะยาว. ระบบ build และการจัดการแพ็กเกจยังค่อนข้างยาก.
ความคิดเห็นที่สับสนเกี่ยวกับ C++ มีอยู่มาก. C++ มีทั้งความทันสมัยและปัญหาแบบเก่าปะปนกันอยู่.
ในโปรเจกต์ C++ การเชื่อมต่อ dependency จากบุคคลที่สามค่อนข้างยาก. ในภาษาใหม่ๆ ส่วนใหญ่สามารถแก้ได้ด้วยการติดตั้งอย่างง่าย.
เรียนรู้ฟีเจอร์ใหม่ๆ ของ C++ ได้ แต่ถูกคอมไพเลอร์ error มาเจอ ทำให้ยากขึ้น จนยังอยู่ที่ C++14.
ข้อร้องเรียนเกี่ยวกับ C++ มักเกิดจาก codebase แบบเก่า และเกิดประสบการณ์คล้ายกันใน Rust.
แม้บางคนจะมีความสุขกับ C++ แต่ส่วนตัวแล้ว C++ ยังซับซ้อนมาก.
C++11 ทำให้ประทับใจ และเอกสารของ cppreference.com ดีมาก.
ถ้าคุณมีทีมที่เข้าใจ C++ สมัยใหม่อย่างลึกซึ้ง, C++ ก็ยอดเยี่ยม. มี performance ดีและการดีบัก/ปรับแต่งประสิทธิภาพทำได้ง่าย.
ฉันได้เรียน C++ แต่ไม่ค่อยลงลึก. Rust มีฟังก์ชันการเขียนแบบ functional และประสิทธิภาพที่ดีมาก.
std::regexของ C++ มีประสิทธิภาพไม่ดีและรองรับ Unicode ไม่ดีพอ โดยรวมแล้วควรหลีกเลี่ยง.