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