C++
Tips
Minimize includes in headers
to write (reasons: compilation speed, robustness, debugging, wrapping)
Minimize use of macros
inline functions, overloaded functions or templated functions
Prefer iostreams to printf and scanf
Don't ignore compiler warnings
Put comments in the appropriate place
Never put 'using namespace' in a header
Don't reinvent the wheel
boost
-string manipulation - platform-independent file path handling - fixed-length integers (e.g 64 bit) See next section.
numerical especially important: lapack