A Good Read

'A Good Read?: Useful references for further reading'

The sections below contain references for further reading on some of the topics covered in the Pragmatic Programming course.

=Fortran=


 * T.M.R Ellis, I. R. Philips and T. M. Lahey. Fortran 90 Programming. Addison-Wesley. ISBN-10 0-201-54446-6: I've found this book to be both readable and comprehensive.

=C/C++=


 * B. W. Kernighan and D. M. Ritchie. The C Programming Language (2nd Edition). Prentice Hall, 1988.  ISBN-13: 978-0131103627: The C bible.  I've never used anything else.
 * S. B. Lippman. C++ Primer (3rd Edition).  Addison Wesley,  1998.  ISBN-13: 978-0201824704: Well reviewed, but I've not read it.
 * S. Meyers. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition). Addison-Wesley.  2005.  ISBN-13: 978-0321334879: Well reviewed, but I've not read it.
 * E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design patterns : elements of reusable object-oriented software.  Addison Wesley.  ISBN-13: 978-0201633610: A classic.
 * O'Reilly : Rarely produce a dud. The C++ and STL pocket references are handy and not expensive.

=Python=


 * David M. Beazley Python Essential Reference (4th Edition). Addison-Wesley Professional, 2009. ISBN-13:  978-0672329784: I learned python from this book (actually the 2nd edition, but hey).

=Scientific & Numerical Programming=


 * S. Oliveira and D. Stewart. Writing Scientific Software: A Guide for Good Style.  Cambridge University Press.  2006.  ISBN-13 978-0-521-67595-6.:  This book also gives advice on how you can make your programs run quickly.

=Numerical Methods=


 * http://www.math.umn.edu/~olver/pdn.html: Peter J. Olver's excellent notes on solving partial differential equations.

=Version Control=


 * http://svnbook.red-bean.com: Free to download and clearly describes all you need to know.

=Build Systems=


 * http://www.gnu.org/software/make/manual: There are books available, but I've found the free GNU manual to be just fine.