Are you a pragmatic programmer?

books.gifIn the 90s, when I was in the process of learning Unix as well as learning to be a better programmer, you couldn’t go wrong with any title published by O’Reilly.  There were a smaller organization than they are now and almost everything I read by them was a great source of knowledge.  If a book by them was on a topic I was interested in, I would just buy it without reading any reviews or thumbing through it.  As they’ve gotten bigger I’ve found that not every title is up to the quality I associated with the name O’Reilly.  Not to say they still don’t have some excellent books I still turn too.  (I’d still turn to the perl books if I haven’t given up perl for health and sanity reasons.)

Lately, I’ve been reading books from another publishing house that reminds me of O’Reilly of old: The Pragmatic Programmers.  In fact, they are now the new wearers of the "instant buy" crown.

I read their first book, The Pragmatic Programmer: From Journeyman to Master, in late 2000 and it was an eye opener for me, especially for such a small book.  It validated many practices and "rules" I already followed without being explicitly introduced to them, and gave me a few more I should have been following.  It instantly become one of my favorite books on programming and one that I often loan out or recommend.

My next experience with one of their books was last year when we started our conversion from CVS to Subversion.  I picked up Pragmatic Version Control: Using Subversion as a quick primer on the administration side of subversion as well as to help look at ways we can do source control better.  It helped us through the initial transition and gave us a few ideas of things we should be doing in the future.  For example, based on a suggestion in PVC, for libRETS’s dependencies, we now have checked in versions of the source as well as precompiled binaries to aid in building on Windows.

What really gave the pragmatic folks the crown was Programming Ruby: The Pragmatic Programmer’s Guide.  While I admit that I was eager to learn ruby, I don’t think I would have absorbed it fast without this book.  This is one of maybe three programming books I’ve read all the way through.  The examples were straight forward and the writing kept it interesting.  I’ve loaned this book out twice so far to others who have similarly good things to say.  Dave Dribin remarked once that he kept trying to learn Python and that Python didn’t gel with him partially due to a lack of a good book.  He’s a big Ruby proponent now as well.

I’ve got Agile Web Development with Rails: A Pragmatic Guide sitting on my shelf waiting to be read.  Unfortunately, I haven’t had time to dig into it yet.  Dave’s given it a thumbs up, so I’m sure it will be good.  I guess I need to invent a good web project to give myself some need.

3 Responses to “Are you a pragmatic programmer?”


  1. 1 Tracey

    Keith, I am not sure if this is the best or proper place to ask, but I have been searching for information on how to interface or connect to the RETS database with the Ruby on Rails framework (currently my preffered web dev platform).  I have read about the ezRETS ODBC binding for Ruby but I would like to use the functionality of ActiveRecord.  Any suggestions greatly appreciated and thanks in advance.

  2. 2 Keith Garner

    This is a fine place to ask, as I’m sure to see it.  There is the ezRETS ODBC driver, and it does work with the ODBC Bindings for Ruby.  However, I haven’t had a chance to learn Rails yet, so I have no idea if it plays well with ActiveRecord or not.

    You also have another option, but its not ActiveRecord friendly:  libRETS’s ruby bindings.  (FYI, ezRETS is build on libRETS.)  Dave Dribin has prototyped (and displayed at the last RETS commitee meeting) what he called "RETS on Rails."  Basically, it was using Rails to put a more RETSish API on top of RETS.  It uses rails and librets to make a web app.  Dave got the basics working in about three hours.  You can’t use ActiveRecord because its not abstracted off as a database, but you get direct access to the libRETS API which is much more flexible.  Unfortunately, we haven’t posted that code anywhere.  I’ll see if I can get Dave to post it somewhere as an example.

  3. 3 Riel Roussopoulos

    Hey Keith,

    If you’re still looking for something in ruby to play around with, we’d love some help on our project XLsuite. It’s a full stack CRM built in ruby on rails with additional features such as integrated forums, site management and other goodies.

    It’s open source code is at http://www.xlsuite.org

    I found your site as we’ve been asked by a realtor to integrate his site into our system and we’re just looking into RETS and what ruby resources there are.

    Any suggestions would be appreciated.

    Riel Roussopoulos

Leave a Reply