Remember, useful programs will always be modified to accommodate new needs, new hardware, etc. Therefore a program — and any part of a program — should be as simple as possible to perform its task.
Cpp
my conspect of the Stroustrup C++ book. + additional C++ topics.