Listmania: What’s Missing?
July 27th, 2009
I’ve created an Amazon.com Listmania list of the books I think are most directly related to the material in the Software Carpentry course. Several important topics aren’t represented, including:
- Version control
- Automated builds
- Processing XML
- Processing binary data
- Web client programming
- Web server programming
There are good books on all of these, but the ones I know all go into too much detail, assume too much background knowledge, or are out of date. Whta would you recommend? What have I missed completely that ought to be there?
I think the new standard for XML processing is ElementTree. Python Essential Reference (4th ed.) briefly discusses this library, although you’re probably better off just going to effbot.org and getting documentation at the source.
Greg — one book that I’m currently reading would be very useful IMO for an in-depth understanding of the HTTP protocol and of course of the REST architecture:
RESTful Web Services by Richardson and Ruby.
Mike Mason’s Pragmatic Version Control Using Subversion might fit the bill for #1.
Project Management issues: Mythical Man Month is such a classic showing how large software projects have issues which are still very relevant today even though the hardware has completely changed. For example don’t use version 1.0 of a package but version 2.0 will be designed to be everything left out of version 1.0 plus more causing 2.0 to be bloated and slow.
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1/179-6582743-4202328?ie=UTF8&s=books&qid=1248738391&sr=8-1
Perhaps a code style book: http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=pd_sim_b_1/179-6582743-4202328
@Brandon I’ve tried hard to stick to what comes with Python itself—that’s the only reason we still teach Tkinter (which I regard as badly broken). If ElementTree is in Python 2.6+ or Python 3.0, happy to use it.
@Grig I actually thought about putting the REST book on my list (I reviewed it for DDJ a while back), but I’m inclined these days to regard REST as a case of “do whatever you want to and call it art”.
@Robert Yes, Mason’s book is a good one for newbies—thanks.
@DoNotEtc Code Complete is already on the list; Mythical Man Month was groundbreaking at the time, but I think there’s newer and better data to back up more specific assertions these days.
ElementTree is in Python 2.5 as xml.etree .
I found “The Definitive Guide to Pylons” (http://pylonsbook.com) by James Gardner to be a well-designed and written guide to WSGI and a specific web server application framework, but it was also surprisingly useful as an introduction to a variety of subjects – databases, i18n and even CSS and JavaScript. Well worth it.
Hello,
I was having a heck of a time understanding Git until I saw this recent free book:
http://progit.org/book/
which is the best explanation of any version system I’ve seen. It convinced me of the elegance of Torvalds’ Git.
I should ask you at some point about your plans for the fall semester. I’m in the math department and am learning Python.
Marco