ADVERTISER
LINKS
 
activePDF
 
Alexsys
 
Altova
 
Amyuni Technologies
 
Automated QA
 
Axosoft
 
Business Objects
 
Codejock Software
 
ComponentOne
 
Coverity
 
Data Dynamics
 
dtSearch
 
Dundas
 
Dynamsoft
 
Hewlett-Packard
 
IBM
 
Imagix
 
Infragistics
 
InstallAware Software
 
InterSystems
 
iWay
 
Kovair
 
LEAD Technologies
 
McObject
 
Microsoft
 
MKS
 
No Magic
 
nsoftware
 
Parasoft
 
Pegasus Imaging Corp
 
Perforce
 
Prezza Technologies
 
Programmer's Paradise
 
Programming Research
 
Rally Software Dev
 
Red-Gate Software
 
ScaleOut
 
Seapine
 
Serena
 
Software FX
 
Sparx Systems
 
Swell Software
 
Syncfusion
 
TechExcel
 
Telerik
 
UrbanCode
 
WANdisco
 
Xceed Software
 

 

 
 

 
 

 
 
 

 

 

 
AS OF 5/17/2008 8:36AM EST
Off-the-Shelf Education
By Larry O'Brien

May 1, 2007 — I normally leave my summer reading column until June, but between global warming and some exceptional offerings from the publishing companies, the time seems ripe to suggest some books to accompany you to the beach. In the interest of full disclosure, I should state that I’m friends with several of the authors whose works I’m recommending.

I’ve already written in this column about my favorite book of last year, “Refactoring Databases” by Scott Ambler and Pramod Sadlage. Along with Ambler’s “Agile Database Techniques,” this book brings database development into the change-embracing, unit-tested 21st century.

Manipulating relational databases stands in complex relationship to manipulating text-based source code and “regular” software development. On the one hand, relational theory is a vastly more stable foundation than mainstream programming paradigms; even the most recalcitrant corporations understand the value of their data stores; and database servers are tremendously sophisticated tools. On the other hand, programming databases, whether manipulating data or table structures, is rarely treated with the same kind of respect that we give to compiled code; there’s often an assumption that the database will somehow be trivially derived to suit the needs of the “real code,” or perhaps, that a tyrannical DBA is forcing compromises on an otherwise pristine design.

In truth, databases in the real world scream for refactoring and unit-testing, and either slavish devotion to or callous disregard for existing database structure is among the most common mistakes I see. (Just this morning, I spent an hour and three-quarters in a design meeting that centered around this very problem.) These two books plainly and simply saved my butt in a big project last year, and I think it’s a rare bookshelf where they won’t find a permanent spot.

Whatever book you may have used previously for “the one book about OOA&D to have if you’re having only one,” you may well want to retire it in favor of “Head-First Object-Oriented Analysis & Design” by Brett McLaughlin, Gary Pollice and David West. I’ve not been the biggest fan of the “Head-First” series. The graphically busy design of these texts and their multimodal approaches to learning are definitely in keeping with modern pedagogy, but I’m not at all convinced that this is necessarily the best way to learn, for instance, a programming language.

OOA&D, though, with its high concept count, communication demands and specialized jargon, is excellently suited for the approach. Even more important, the book does a good job of covering the broad array of subjects in play in modern OOA&D, including such things as the current emphasis on iterative development and testing and their influence on analysis and design.

The book is light on UML—perhaps too light. You don’t have to work for IBM Rational to like Activity Diagrams, for instance. But pair “Head-First OOA&D” with Martin Fowler’s still-unsurpassed “UML Distilled,” and you’ve got 90 percent of what you need to do OOA&D. The other 90 percent of what you need is experience. (And if you haven’t yet experienced a software development project that’s consumed 180 percent of effort…)

Charles Petzold’s work is always noteworthy. Last year brought “Applications = Code + Markup,” which is the best tutorial on Windows Presentation Foundation I’ve seen. This summer we can look forward to a book by Petzold on 3D programming for WPF, but I want to recommend his book “Code: The Hidden Language of Computer Hardware and Software,” which came out in 2000. “Code” is a technical history of computers, touching on mechanical predecessors (abaci, Napier’s bones, Babbage’s works) but focusing primarily on what we’ve done so far by combining Boolean logic, information theory and electronics.

Code is, by popular standards, technical (it doesn’t have pictures of trains carrying 1s and 0s), but if you want some fiber in your diet, pair it with “Inside the Machine” by Jon Stokes. Subtitled “An illustrated introduction to microprocessors and computer architecture,” this is a handsome text that gets to the nitty-gritty of branch prediction, cache architecture and vector execution. As is inevitable with a book this close to the metal, it’s already a tad outdated, ending with some too-brief words on the Intel Core 2 Duo.

If your eyes are too tired to read, I highly recommend the audiobook version of John Hodgman’s “The Areas of My Expertise,” which he labels “an almanac of complete world knowledge.” Not a lot of developer-specific stuff, but Hodgman is the guy who plays the PC in those Macintosh ads, and he’s accompanied on guitar by Jonathan Coulton, composer of the anthem “Code Monkey,” and the obsessive list-making nature of the endeavor makes it clear: He’s a member of our tribe.

Larry O’Brien is a technology consultant, analyst and writer. Read his blog at www.knowing.net.





(NEW!)  


 
 
 
 
 

SUBSCRIBE TODAY

E-Newsletters:
News on Mon/Thurs.
Test & QA Report
EclipseSource
   

   SUBMIT
 
 
 

     CUSTOMER SERVICE
 
   Download Current
   Issue Now!

   Need Back Issues?
    DOWNLOAD HERE

   Moving? Take
   SD Times With You!
 
 
 
EVENTS CALENDAR
 
IDUG (International DB2 Users Group)
5/18/2008 to 5/22/2008
Dallas
IDUG

BREW 2008
5/28/2008 to 5/30/2008
San Diego
Qualcomm

RailsConf
5/29/2008 to 6/1/2008
Portland
O'Reilly Media

IBM Rational Software Development Conf.
6/1/2008 to 6/5/2008
Orlando
IBM Rational

TechEd 2008 Developers
6/3/2008 to 6/6/2008
Orlando
Microsoft

REGISTER
 



 
SD TIMES 100

It's time once again to
recognize the organizations
or individuals that have
demonstrated leadership in
their markets.


 
GET NOTIFIED

On the latest white papers,
software downloads. Web
seminars and conferences.
 
 


                    


Copyright © 1999-2008 BZ Media LLC, all rights reserved.
Phone: +1 (631) 421-4158 • E-mail: info@bzmedia.com