10 tài liệu C++ đáng đọc nhất
Tôi sống luôn quan niệm “Sách là thầy” nhưng có một số người sẽ có quan niệm khác. Nhưng chung quy lại thì sách mang đến kiến thức cho con người, cho dù bạn học gì hay làm gì, nếu không có tài liệu tham khảo, không đọc kinh nghiệm của những người đi trước. Thì thành công ...
Tôi sống luôn quan niệm “Sách là thầy” nhưng có một số người sẽ có quan niệm khác. Nhưng chung quy lại thì sách mang đến kiến thức cho con người, cho dù bạn học gì hay làm gì, nếu không có tài liệu tham khảo, không đọc kinh nghiệm của những người đi trước. Thì thành công của bạn sẽ gặp nhiều gian nan và dễ thất bại. Nên hôm nay mình sẽ giới thiệu với các bạn 10 tài liệu C++ đáng đọc nhất.
1) The C++ Programming Language, 4th Edition tác giả Stroustrup
C++ Programming Language là cuốn sách hướng dẫn đáng tin cậy và được sử dụng rộng rãi nhất trên thế giới. Nó đã được cập nhật toàn diện theo chuẩn C++ 11 và C++ 14. Tác giả Stroustrup đã giải thích về các đặc trưng C++ 11, thư viện chuẩn, và các kỹ thuật thiết kế chính. Nó cung cấp hướng dẫn cụ thể để tận dụng những cải tiến trong hiệu suất, độ tin cậy và rõ ràng. Cuốn sách này có thể yêu cầu bạn phải có kiến thức lập trình cơ bản trước khi đọc nó. Nếu bạn là người mới bắt đầu thì có thể tham khảo thêm cuốn sách “Programming: Principles and Practice Using C++” cũng của tác giả Stroustrup trước khi đọc cuốn sách này.
2) Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Exception-Safety Solutions tác giả Herb Sutter
Exceptional C++ giải thích khái niệm bằng cách sử dụng các câu đố và thách thức lập trình. Nó sử dụng các hướng tiếp cận khác nhau và cuối cùng đưa ra giải pháp cho từng vấn đề. Hầu hết các vấn đề và giải pháp được lựa chọn từ các chuyên gia hàng đầu trong các nhóm newsgroup về C++. Cuốn sách giải thích về template programming, exceptions, lập trình môi trường đa luồng (multithreaded), quản lý bộ nhớ và tối ưu hóa trong ngôn ngữ lập trình C++. Độc giả có thể nhảy vào bất kỳ chủ đề nào mà không cần đọc từ đầu đến cuối cuốn sách. Nó vẫn chưa cập nhật các tiêu chuẩn C++ 11 hoặc C++ 14.
3) Modern C++ Design: Generic Programming and Design Patterns Applied 1st Edition tác giả Andrei Alexandrescu
Modern C++ Design giải thích các design pattern, generic programming với các design practice tốt. Nó giúp xây dựng các thành phần phần mềm linh hoạt và tái sử dụng được. Tác giả Andrei mô tả các kỹ thuật và tính năng cụ thể trong C++ được sử dụng trong việc xây dựng các generic component và tiếp tục áp dụng các generic component đó vào các ứng dụng thực tế.
4) C++ Coding Standards: 101 Rules, Guidelines, and Best Practices 1st Edition tác giả Andrei Alexandrescu
C++ Coding Standards cung cấp những hướng dẫn có giá trị, những best practice để viết code C++ chất lượng cao. Mỗi mục được giải thích với tiêu đề, tóm tắt, thảo luận, ví dụ và tài liệu tham khảo. Độc giả có thể đọc bất kỳ chủ đề riêng biệt nào mà không cần đọc từ đầu đến cuối cuốn sách. Nó vẫn chưa cập nhật các tiêu chuẩn C++ 11 hoặc C++ 14. Cuốn sách này đã đoạt giải thưởng Jolt Productivity Award tại Hội nghị phát triển phần mềm (Software Development Conference) vào năm 2005.
5) Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 tác giả Scott Meyers
Cuốn sách Effective Modern C++ giải thích các best practice trong C++ 11 và C++ 14. Nó bao gồm các chủ đề như các loại tham chiếu khác nhau, giải thích một cách chính xác và hiệu quả của việc sử dụng biểu thức lambda. Thách thức ở đây là làm sao học cách sử dụng những tính năng này một cách hiệu quả nhất. Cuốn sách cung cấp các hướng dẫn để phát triển phần mềm theo cách chính xác, hiệu quả, có khả năng bảo trì, và portable. Nó mô tả cách làm thế nào để viết phần mềm thực sự tuyệt vời bằng cách sử dụng C++ 11 và C++ 14.
6) C++ Primer (5th Edition) tác giả Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
C++ Primer (tái bản lần thứ 5) đã cập nhật theo chuẩn C++ 11. Nó giới thiệu ngôn ngữ này từ những tính năng mới, các khái niệm C++ cốt lõi, và thư viện mẫu chuẩn. Cuốn sách giúp việc học ngôn ngữ này thông qua các ví dụ lập trình, giải thích lý về do đằng sau các quy tắc. Nếu lập trình viên muốn học từ mức cơ bản đến nâng cao của ngôn ngữ lập trình C++, thì họ có thể chọn một trong hai cuốn sách C++ Primer hoặc “The C++ Programming Language, 4th Edition tác giả Stroustrup”.
7) Accelerated C++: Practical Programming by Example tác giả Andrew Koenig
Accelerated C++ hướng dẫn cách viết phần mềm tốt và mạnh mẽ hơn bằng cách sử dụng ngôn ngữ C++. Nó giải thích các khái niệm khá sâu bao gồm cả việc quản lý bộ nhớ, ngoại lệ (exception), và template programming. Accelerated C++ giải thích các khái niệm một cách rõ ràng, từ cơ bản ngôn ngữ lập trình đến nâng cao như tính đa hình (polymorphism), các hàm ảo (virtual). Nó vẫn chưa cập nhật lên chuẩn C++ 11.
8) The C++ Standard Library: A Tutorial and Reference (2nd Edition) tác giả Nicolai M. Josuttis
Cuốn sách C++ Standard Library: A Tutorial and Reference, Second Edition, mô tả thư viện này giờ đây được kết hợp vào chuẩn ngôn ngữ mới ANSI/ISO C++ (C++ 11). Nó cung cấp tài liệu hướng dẫn toàn diện về mỗi thành phần thư viện, bao gồm một giới thiệu về mục đích và thiết kế của thư viện đó; được viết rõ ràng giải thích các khái niệm phức tạp; các chi tiết lập trình thực tế cần thiết để sử dụng có hiệu quả; những traps và pitfalls; chữ ký chính xác và định nghĩa của nhiều class và function quan trọng nhất; và rất nhiều code ví dụ.
9) Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) tác giả Scott Meyers
Cuốn sách Effective C++ giải thích các best practice cho việc phát triển các thành phần phần mềm sử dụng ngôn ngữ lập trình C++. Nó không giải thích các nguyên tắc cơ bản của ngôn ngữ lập trình này. Cuốn sách giải thích các khái niệm cốt lõi trong ngôn ngữ lập trình C++ sử dụng các mục khác nhau. Mỗi mục đưa ra một vấn đề, rồi giải thích và đưa ra mã nguồn các giải pháp. Các lập trình viên có thể đọc bất kỳ mục nào từ cuốn sách này và hiểu được các khái niệm đó. Nó vẫn chưa được cập nhật lên chuẩn C++ 11.
10) Programming: Principles and Practice Using C++ (2nd Edition) tác giả Bjarne Stroustrup
Bjarne Stroustrup chính là “cha đẻ” của ngôn ngữ lập trình C++. Cuốn sách này giải thích các thành phần ngôn ngữ lập trình cơ bản cho những ai chưa biết về ngôn ngữ lập trình này. Nó đã cập nhật lên chuẩn C++ 11 và C++ 14. Cuốn sách này chủ yếu để giải thích về lập trình hướng đối tượng, generic programming cho các sinh viên đại học.