Books

- Bjarne Stroustrup, The C++ Programming Language, 3rd ed., Addison-Wesley, 1997
- Andy Hunt and Dave Thomas, The Pragmatic Programmer, Addison-Wesley, 1999
- Scott Meyers, Effective C++, 2nd ed., Addison-Wesley, 1997
- Martin Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
- Brian W. Kernighan and Rob Pike, The Practice of Programming, Addison-Wesley, 1999
- Steve McConnell, Code Complete, Microsoft Press, 1993

advanced:
- Robert Sedgewick, Algorithms in C++: Parts 1-4, 3rd ed., Addison-Wesley, 1998
- Scott Meyers, More Effective C++, Addison-Wesley, 1996
- Andrew Koenig and Barbara Moo, Ruminations on C++, Addison-Wesley, 19 96
- Nicolai M. Josuttis, The C++ Standard Library, Addison-Wesley, 1999
- Michi Henning and Steve Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, 1999
- Martin Fowler and Kendall Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2nd ed., Addison-Wesley, 1999
- Erich Gamma et al., Design Patterns, Addison-Wesley, 1994
- Steve McConnell, Rapid Development, Microsoft Press, 1996

Journals

A stimulating discussion of issues related to scientific programming can be found in
Paul Dubois's department in Computing in Science and Engineering (formerly Computers in Physics).

Papers, presentations, notes

Todd Veldhuizen, Techniques for Scientific C++ [postscript]
Geoffrey Furnish, Disambiguated Glommable Expression Templates, C++ Report, May 2000
KAI C++: Recommendations on valarray (Is valarray useful for high-performance computation?)
Marc Paterno, Experiences Reviewing Scientific C++ Code (adequate abstraction) [powerpoint] [cache]
Mark-Jason Dominus, about discursive habits in programming language advocacy

Online resources

Newsgroups:
C++: comp.lang.c++.moderated, comp.lang.c++, comp.std.c++
Algorithms: comp.theory, theory-edge@egroups.com
SMP: comp.programming.threads

Indexes:
Object-Oriented Numerics Page
WWW C++ Information

Libraries:
C++ Standard Library contributions: Boost (best practices)
Fast arrays and linear algebra: Blitz++, MTL

Miscellaneous:
Documentation and class structure exploration: doxygen
make utilities: jam, GNU make
software management/version control: CVS, Perforce
shell scripts: David Medinets, Unix Shell Programming Tools, McGraw-Hill, 1999

Python resources

Books:
- Mark Lutz, Python Pocket Reference, O'Reilly, 1998
- David M. Beazley, Python Essential Reference, New Riders, 1999

Online:
Python Home
Numerical Python (NumPy)
Python C/C++ wrapper (SWIG)
extending Python with C++ (CXX)
extending Python with C++ (py_cpp)
extending Python with C++ (SCXX)
Comprehensive Python Archive (Vaults of Parnassus)
comp.lang.python
News

Agile Software Development

Books:
- Kent Beck, XP Explained: Embrace Change, Addison-Wesley, 1999
- Ron Jeffries, Ann Anderson and Chet Hendrickson, XP Installed, Addison-Wesley, 2000
- Ken Auer and Roy Miller, XP Applied: Playing To Win, Addison-Wesley, 2001

Articles:
Robert C. Martin, Engineering Notebook: Developing at a Sustainable Pace, C/C++ Users Journal, October 2000
Richard Gabriel, the-right-thing vs. worse-is-better

Online:
Agile Alliance


Last modified: Jan 19 2002
webmaster@hepsource.org