Libro

A Tour of C++ (ฉบับแรก): ภาพรวม C++11 ฉบับย่อจาก Bjarne Stroustrup

หนังสือขนาดราว 180 หน้าของผู้ออกแบบภาษา C++ ที่สรุปทั้งตัวภาษาและ standard library ของ C++11 สำหรับโปรแกรมเมอร์ที่มีประสบการณ์ บทความนี้แนะนำขอบเขตเนื้อหาจากสารบัญบนหน้าสำนักพิมพ์และเว็บไซต์ผู้เขียน

ภาพประกอบบทความ: ปกหนังสือ A Tour of C++ โดย Bjarne Stroustrup

ขอบเขตของบทความ: แนะนำขอบเขตเนื้อหาจากสารบัญและคำอธิบายบนหน้าหนังสือของ InformIT (Addison-Wesley) รวมกับหน้าหนังสือบนเว็บไซต์ของ Bjarne Stroustrup และข้อมูลแคตตาล็อกของ Open Library ยังไม่ได้อ่านเนื้อหาเต็มเล่มหรือบทตัวอย่าง

นักพัฒนาที่ต้องหันมาใช้ C++ ในงานที่ต้องการความเร็ว เช่น ระบบเทรดหรืองานคำนวณเชิงตัวเลข มักไม่มีเวลาอ่านตำราอ้างอิงเล่มหนาตั้งแต่ต้น สิ่งที่ต้องการคือภาพรวมว่าภาษาสมัยใหม่มีเครื่องมืออะไร และควรเขียนแบบไหน หนังสือเล่มนี้ตั้งใจเป็นภาพรวมแบบนั้น บทความนี้ช่วยดูว่าครอบคลุมอะไรและเหมาะกับใคร

หนังสือเล่มนี้ว่าด้วยอะไร

A Tour of C++ เขียนโดย Bjarne Stroustrup ผู้ออกแบบภาษา C++ ฉบับนี้เป็นฉบับพิมพ์ครั้งแรกของ Addison-Wesley Professional วางจำหน่าย 16 กันยายน 2013 ISBN ของ e-book คือ 978-0-13-354900-3 (หน้าหนังสือของ InformIT)

หน้าสำนักพิมพ์อธิบายว่าเป็นการพาชม C++ สมัยใหม่แบบย่อ ดึงมาจากบทภาพรวมของ The C++ Programming Language, Fourth Edition ครอบคลุมตัวภาษาหลักและส่วนสำคัญของ standard library รวมถึงคุณสมบัติของ C++11 อย่าง move semantics, lambda, uniform initialization, random number generator และ concurrency

หน้าหนังสือบนเว็บไซต์ของ Stroustrup เรียกหนังสือว่าเป็น tutorial ภาพรวมของ standard C++ แบบรวดเร็ว ยาวประมาณ 180 หน้า อธิบายทั้งภาษาและ library ในระดับค่อนข้างสูง และมีหน้า errata แยกตามรอบการพิมพ์

เนื้อหาครอบคลุมหัวข้ออะไร

สารบัญบนหน้า InformIT แบ่งเป็น 14 บท:

กลุ่ม

บท

ตัวภาษา

1 The Basics, 2 User-Defined Types, 3 Modularity, 4 Classes, 5 Templates

standard library

6 Library Overview, 7 Strings and Regular Expressions, 8 I/O Streams, 9 Containers, 10 Algorithms, 11 Utilities, 12 Numerics, 13 Concurrency

ภาคท้าย

14 History and Compatibility

การจัดกลุ่มในตารางเป็นของบทความนี้ ไม่ใช่การแบ่งภาคของหนังสือ ครึ่งหลังของเล่มเป็นเรื่อง library เกือบทั้งหมด ซึ่งสอดคล้องกับที่สำนักพิมพ์บอกว่าหนังสือครอบคลุมทั้งภาษาและ library สำหรับงานเชิงตัวเลข บทที่ 12 Numerics และบทที่ 13 Concurrency น่าจะเกี่ยวข้องโดยตรง แต่บทความนี้ยังไม่ได้เห็นหัวข้อย่อยของสองบทนี้

พื้นฐานที่ควรมีก่อนอ่าน

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

เหมาะกับใคร และใครควรเริ่มจากเล่มอื่นก่อน

  • เหมาะ กับโปรแกรมเมอร์ที่เขียนภาษาอื่นเป็นแล้ว เช่น Python หรือ Java และต้องการภาพรวมของ C++ ทั้งภาษาและ library ในเวลาสั้น

  • เหมาะ กับคนที่เคยเขียน C++ รุ่นเก่าและอยากเห็นคุณสมบัติของ C++11 ที่สำนักพิมพ์ระบุ

  • ควรเริ่มจากเล่มอื่นก่อน ถ้ายังไม่เคยเขียนโปรแกรมเลย เพราะผู้เขียนและสำนักพิมพ์ระบุว่าไม่ใช่หนังสือสำหรับมือใหม่

  • ควรรู้ว่าเป็นฉบับ C++11 InformIT มี A Tour of C++ ฉบับที่ 3 ปี 2022 ที่ครอบคลุม C++20 ถ้างานของคุณใช้มาตรฐานใหม่ ฉบับแรกจะไม่มีคุณสมบัติที่เพิ่มหลัง C++11

ข้อจำกัดของข้อมูลที่ใช้ในบทความนี้

  • อ่านเฉพาะสารบัญระดับบทและคำอธิบายจากหน้าสำนักพิมพ์และเว็บไซต์ผู้เขียน ยังไม่ได้อ่านบทใด ลิงก์คำนำบน InformIT ที่เว็บไซต์ผู้เขียนอ้างถึงเปิดไม่ได้แล้ว และหน้าบทตัวอย่างบน isocpp.org ปฏิเสธการเข้าถึงขณะตรวจสอบ

  • หน้า InformIT ระบุว่าฉบับแรกเลิกพิมพ์แล้ว และไม่ได้ระบุจำนวนหน้ารวม ดัชนีเริ่มที่หน้า 171 ส่วน Open Library บันทึกฉบับปกอ่อนปี 2013 ISBN 978-0-321-95831-4 ความยาว 192 หน้า

  • บทความนี้ไม่ได้ทดลองโค้ดในเล่ม

แหล่งอ้างอิง

  • A Tour of C++ · InformIT (Addison-Wesley Professional) · คำอธิบาย สารบัญ วันที่ และ ISBN ของฉบับแรก

  • A Tour of C++ · Bjarne Stroustrup · กลุ่มผู้อ่าน ความยาว และหน้า errata

  • A Tour of C++, 3rd Edition · InformIT · วันที่และมาตรฐานที่ฉบับที่ 3 ครอบคลุม

  • Open Library: 9780321958314 · Internet Archive · ข้อมูลฉบับปกอ่อน ปี และจำนวนหน้า

  • ปกหนังสือ A Tour of C++

    A Tour of C++

    Bjarne Stroustrup

    สารบัญ 14 บทครอบคลุมพื้นฐานภาษา class, template ไปจนถึง container, algorithm, numerics และ concurrency ของ C++11 ในเล่มที่สั้นพอจะอ่านทบทวนได้เร็ว

    ดูรายละเอียด

บทความนี้อ่านจบได้ในตัวเอง หนังสือด้านบนคือจุดต่อยอดสำหรับผู้ที่ต้องการศึกษาลึกขึ้น