Skip to content

Latest commit

 

History

History
80 lines (74 loc) · 12.5 KB

book_list.md

File metadata and controls

80 lines (74 loc) · 12.5 KB

While reading the C++ books, articles, etc. from time to time I notice that the authors give contradicting pieces of advice. Typically a book published later is based on greater knowledge and deserves more attention while resolving the contradiction. This is a list of C++ (and other system programming) books sorted by publication date.

Chronological List of C++ (and other system programming) Books.

(the articles and other resources are in a separate file)

1978.02.22 [KandR] Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language.
1990.??.?? [AC++RM] Margaret A. Ellis, Bjarne Stroustrup. The Annotated C++ Reference Manual (more info: [MEC++]).
1992.??.?? [AC++PS&I] James Coplien. Advanced C++: Programming Styles and Idioms. Addison-Wesley, 1992, ISBN 0-201-54855-0 (more info: [MEC++])
1992.??.?? [C++PS] Tom Cargill. C++ Programming Style (1st Edition).
1992.12.?? [C++SnT] Robert B. Murray. C++ strategies and tactics. The date is based on section 10.1, p.249. (I have in paper, gave to Shweta)
1994.??.?? [D&EoC++] Bjarne Stroustrup. The Design and Evolution of C++. Addison-Wesley, 1994, ISBN 0-201-54330-3 (more info: [MEC++]).
1994.??.?? [S&EC++] John J. Barton, Lee R. Nackman. Scientific and Engineering C++. Addison-Wesley, 1994, ISBN 0-201-53393-6 (more info: [MEC++]).
1994.??.?? [IC++OM] Stanley B. Lippman. Inside the C++ Object Model. Reading, MA: Addison-Wesley ([MC++D] Bibliography).
1995.??.?? [DP] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995, ISBN 0-201-63361-2 (more info: [MEC++]).
1995.??.?? [D&CRC++] Martin D. Carroll, Margaret A. Ellis. Designing and Coding Reusable C++. Addison-Wesley, 1995, ISBN 0-201-51284-X (more info: [MEC++]).
1996.??.?? [RoC++] Andrew Koenig, Barbara Moo. Ruminations on C++. Reading, MA: Addison-Wesley ([MC++D] Bibliography).
1996.??.?? [LSC++SD] John Lakos. Large-Scale C++ Software Design ([EMC++] Front List).
1996.??.?? [MEC++] Scott Meyers. More Effective C++: 35 New Ways to Improve Your Programs and Designs (1st Edition).
1997.06.30 [C++PL3] Bjarne Stroustrup. The C++ Programming Language (Third Edition). Addison-Wesley, 1997, ISBN 0-201-88954-4 (more info: [MEC++]).
1997.??.?? [CI&I] David R. Hanson. C Interfaces and Implementations: Techniques for Creating Reusable Software (1st Edition) ([EMC++] Front List).
1998.??.?? [EC++2] Scott Meyers. Effective C++, Second Edition: 50 Specific Ways to Improve Your Programs and Designs. Addison-Wesley, 1998, ISBN 0-201-92488-9 (more info: [MEC++]).
1998.??.?? [C++P3] S. Lippmn and J. Lajoie. C++ Primer, 3rd Edition (Addison-Wesley, 1998).
1998.??.?? [PH] John Vlissides. Pattern Hatching. Reading, MA: Addison-Wesley ([MC++D] Bibliography).
1998.09.01 [C++98] ISO/IEC 14882:1998(E), Programming languages — C++ (ISO and ANSI C++ standard). ([MExcC++] Bibliography)
1999.02.12 [ACPwC++] Michi Henning, Steve Vinoski. Advanced CORBA® Programming with C++ ([EMC++] Front List).
1999.??.?? [GP&STL] Matthew H. Austern. Generic Programming and the STL: Using and Extending the C++ Standard Template Library (1st Edition) ([EMC++] Front List).
1999.??.?? [EC++CD] Scott Meyers. Effective C++ CD: 85 Specific Ways to Improve Your Programs and Designs (Addison-Wesley, 1999).
1999.11.18 [ExcC++] Herb Sutter. Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions.
1999.12.01 [C99] ISO/IEC 9899:1999(E), Programming languages — C (ISO C standard).
2000.??.?? [AC++] Andrew Koenig, Barbara E. Moo. Accelerated C++: Practical Programming by Example (1st Edition) ([MC++D] Front List).
2000.02.11 [C++PLSE] Bjarne Stroustrup. The C++ Programming Language: Special Edition (Addison-Wesley, 2000).
2000.??.?? [GP:MT&A] Krzysztof Czarnecki, Ulrich Eisenecker. Generative Programming: Methods, Tools, and Applications. Reading, MA: Addison-Wesley ([MC++D] Bibliography). TODO: Is it C++ (or other system programming)?
2000.??.?? [ACE] Douglas C. Schmidt. The ADAPTIVE Communication Environment (ACE). Available at http://www.cs.wustl.edu/~schmidt/ACE.html ([MC++D] Bibliography).
2001.02.01 [MC++D] Andrei Alexandrescu. Modern C++ Design: Generic Programming and Design Patterns Applied (1st Edition). Appendix: Loki libray (search for "Loki"), local copy: loki-0.1.7.zip (2018.08.10).
2001.??.?? [STLT&RG2] David R. Musser, Gillmer J. Derge, Atul Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (2nd Edition) ([EMC++] Front List).
2001.??.?? [ESTL] Scott Meyers. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (1st Edition).
2001.12.?? [BGL] Jeremy G. Siek, Lie-Quan Lee, Andrew Lumsdaine. The Boost Graph Library: User Guide and Reference Manual ([MC++D] Front List).
2001.12.17 [MExcC++] Herb Sutter. More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (1st Edition).
2002.09.12 [EssC++] Stanley B. Lippman. Essential C++ ([MC++D] Front List).
2003.05.01 [AC++PT] Philip Romanik, Amy Muntz. Applied C++: Practical Techniques for Building Better Software ([MC++D] Front List).
2003.??.?? [C++G] Stephen C. Dewhurst C++ Gotchas: Avoiding Common Problems in Coding and Design (1st Edition) ([EMC++] Front List).
2004.06.?? [ExcC++S] Herb Sutter. Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions (1st Edition).
2004.10.?? [C++CS] Herb Sutter, Andrei Alexandrescu. C++ Coding Standards: 101 Rules, Guidelines, and Best Practices.
2004.10.?? [MISRAC2004] MISRA-C:2004. Guidelines for the use of the C language in critical systems.
2004.12.10 [C++TM] David Abrahams, Aleksey Gurtovoy. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (1st Edition) ([MC++D] Front List).
2005.??.?? [EC++3] Scott Meyers. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition).
2008.06.?? [MISRACpp2008] MISRA C++:2008. Guidelines for the use of the C++ language in critical systems.
2009.??.?? [PUMLS] Miro Samek. Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems (Second Edition).
2010.??.?? [D] Andrei Alexandrescu. The D Programming Language.
2011.04.12 [C11_N1570] ISO/IEC 9899:201x, Programming languages — C (ISO C standard, Committee Draft).
2012.01.?? [C++PP] Stephen Prata. C++ Primer Plus (Sixth Edition).
2012.05.23 [ANSI_C11] INCITS/ISO/IEC 9899-2011[2012]. Information technology — Programming languages — C (ANSI copy of [C11]).
2012.??.?? [C++CinA] Anthony Williams. C++ Concurrency in Action (1st Edition).
2013.05.19 [CppPL4] Bjarne Stroustrup. The C++ Programming Language (4th Edition).
2013.08.26 [BC++ADC] Antony Polukhin. Boost C++ Application Development Cookbook: Over 80 practical, task-based recipes to create applications using Boost libraries.
2014.11.07 [EMC++] Scott Meyers. Effective Modern C++.
2017.08.30 [BC++ADC2] Antony Polukhin. Boost C++ Application Development Cookbook - Second Edition: Recipes to simplify your application development.
2017.09.28 [MC++17STL] Arthur O'Dwyer. Mastering the C++17 STL: Make full use of the standard library components in C++17 (CppCon 2018).
2018.05.22 [MCppCh] Marius Bancila. The Modern C++ Challenge. (Scott Meyers recommends)
2018.??.?? [C++TCG] David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor. C++ Templates: The Complete Guide (2nd Edition).

See Also


Extracted from:
[MExcC++] Bibliography, p.271 - 272.
[EMC++]: Book References Not Found.
[MEC++]: Recommended Reading (p.285), Front List (Addison-Wesley Professional Computing Series), p.5.
[MC++D]: Bibliography, p.311, Front List, p.4.


TODO:
[GP:MT&A]: Is it C++ (or other system programming)?


[HAS_BEEN_READ], [NOT_YET_READ], [IS_BEING_READ_OR_IS_PARTIALLY_READ]