
Advanced C₊₊ programming styles and idioms
by James O. Coplien · first published 1992
7mentions
4recommended by
5HN commenters
2011–2026first – last mentioned
80% recommend20% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.

Maybe another way of saying "Staying Idiomatic" is "What made you great before won't this time." I had to do a C++ project a while back and got my hands on "Advanced C++ Programming Styles and Idioms" by James Coplien through a friend's recommendation. Best thing I ever did to really understand the soul of the language. I am sure there is such "soul identifying" book for each language. What would…
on “Adopting a new programming language” ↗…useful; Pre Modern C++: 1) Multi-Paradigm Design for C++ by James Coplien. 2) Scientific and Engineering C++: An Introduction With Advanced Techniques and Examples by John Barton & Lee Nackman. 3) Advanced C++ Programming Styles and Idioms by James Coplien. 4) Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu. Modern C++: 1) Functional Programming in C++: How to improve your C++ programs using…
on “C++ by Example” ↗Advanced C++ Programming Styles and Idioms by James O. Coplien https://www.amazon.com/Advanced-C-Programming-Styles-Idioms/...
on “Essential C” ↗_Advanced C++ Programming Styles and Idioms_ by James O. Coplien It showed me how to really use C++ effectively back in the 1990's. It was at the time in a class by itself. (Pun intended).
on “Ask HN: Do you recall any book or course that made a topic finally click?” ↗…reassignable like a member variable? It is possible in certain object models. Lookup "Metaclasses" in your favourite language for possible support. If you want to see example code in C++, checkout the classic Advanced C++ Programming Styles and Idioms by James Coplien. The book contains lots of examples of mind-bending OO trickery using C++.
on “Object-oriented Programming with ANSI-C (1993) [pdf]” ↗…projects involving binary protection, obfuscation etc. Program Obfuscation via ABI Debiasing (pdf) - https://www.google.com/goto?url=CAESYgHuR6pNsi8_4x_I2WBy7lmf... PS: James Coplien in his excellent Advanced C++ Programming Styles and Idioms shows many techniques one of which is actually replacing vtable entries at runtime to mimic features from more dynamical runtime languages (eg. Smalltalk).
on “Thoroughly Understanding C++ ABI” ↗…(http://www.sgi.com/tech/stl/functors.html) and numerous other reference sites. According to Bruce Eckel's Thinking in C++ Vol 2 (in the section describing the Command Pattern), the term dates to 1992: > In Advanced C++: Programming Styles And Idioms (Addison Wesley, 1992), Jim Coplien coins the term functor which is an object whose sole purpose is to encapsulate a function (since “functor” has a meaning in mathematics, we shall use the more explicit…
on “"functors" in c++, ML, haskell, prolog” ↗