Most Read Latest News Blog Resources

Take a Look In a Book


Industry thought leaders share their favorite development books, old and new



September 1, 2007 — 
Reading is fundamental, especially to software developers trying to keep up with the latest state-of-the-art technology concepts and tools.

What have developers and industry thinkers been cooking on their literary burners recently? Well, Peter Coffee, director of platform research at Salesforce.com and former technology editor of eWeek, said that he recently delved into “Dreaming in Code” by Scott Rosenberg (Crown) because of its importance as a cautionary tale for anyone in a position to define or contribute to a nontrivial software project.

“This book has been called the coder’s version of ‘The Soul of a New Machine,’ but there’s a fundamental difference,” Coffee said. “The hardware crew in Tracy Kidder’s book produced a product that created competitive advantage for their company, but Scott Rosenberg’s inside look at a software development effort does not come to a tidy end of a shipped result.”

David Intersimone, chief evangelist for Borland Software, said he recently read three very intriguing books that help him look forward and ponder what programming might have the capabilities to accomplish in the near future: “The Meaning of the 21st Century” by James Martin (Riverhead), “The Extreme Future: The Top Trends That Will Reshape the World for the Next 5, 10, and 20 Years” by James Canton (Dutton) and “The Singularity Is Near: When Humans Transcend Biology” by Ray Kurzweil (Viking).

Intersimone said that with software being an integral part of the modern global economy, the way in which software is created will be further influenced by what is happening in the outside world.

Colorado-based writer Jeff Duntemann talked about “The Wiki Way” by Bo Leuf and Ward Cunningham (Addison-Wesley): “I’ve always had mild doubts about the wiki idea, but this book convinced me that the technology is sound, and what implementations like Wikipedia primarily lack is simply adult supervision.”

Duntemann also said he recently enjoyed “The Tomes of Delphi: Algorithms and Data Structures” by Julian Bucknall (Wordware) because of its adept explanations of algorithms and data structures for Borland’s Delphi programming language, also known as Object Pascal.

The desktop PC is a topic that Bernard Golden, CEO of systems integrator tool provider Navica, has been reading about recently. Golden cited the book “Building the Perfect PC” by Robert Bruce Thompson and Barbara Fritchman-Thompson (O’Reilly), which talks about the advantages of building a PC for one’s exact specifications and needs.

Scott Barber, performance testing specialist and CTO of PerfTestPlus, said he found the book “Blink: The Power of Thinking Without Thinking” by Malcolm Gladwell (Little, Brown and Company) relevant despite the fact it wasn’t written specifically for software professionals.

“The book demonstrates why developers and testers need to both pay attention to their instincts, while at the same time being wary of them while evaluating the quality of software,” Barber said. “While this is not directly a software book, I have trouble imagining it not being enlightening to anyone who works with software.”

Andrew Hunt, co-author of “The Pragmatic Programmer,” found that his software development tastes feasted on something a little different with “The 4-Hour Workweek” by Timothy Ferriss (Crown).

Ferriss’ book is more of a lifestyle book that discusses ways in which people can eliminate 50 percent of their work using principles of European economists and get the most out of their workweek. “The stated goal is extreme, but it makes you stop and think about what you do to generate value, versus what you do that just takes up time,” Hunt said.

Miko Matsumura, vice president of SOA products for WebMethods and a respected technology adviser, said that he recently read “The Technology Garden: Cultivating Sustainable IT-Business Alignment” by Jon Collins, Neil Macehiter, Dale Vile and Neil Ward-Dutton (Wiley). He called the work “an excellent book on ‘Big SOA,’ the transformative power of the newest paradigm in enterprise software on how businesses are operated and the future of enterprise architecture.”

Tell Your Friends
Whether they’re fresh newcomers on the shelf or classics that continue to provide meaningful insight, these are the books that those in the software development world would readily recommend to a colleague.

Salesforce.com’s Coffee quickly named “The Systems Bible: The Beginner’s Guide to Systems Large and Small” by John Gall (General Systemantics/Liberty), the third edition of “Systemantics,” a series created by Gall in which he proposes several “laws” of systems failure, such as “new systems generate new problems” and “the total amount of energy in the universe is constant.” The book takes a fairly satirical look at systems behavior. In describing the book, Coffee said, “a somewhat bulky expansion on the elegantly concise satire ‘Systemantics,’ Gall’s compendium of anecdotes and analyses should be considered essential reading for anyone who designs, implements or operates systems involving machines and/or human beings.”

Duntemann offered up a trio of books as must-reads for anyone involved in Web site and Web application development: “Developing Rich Clients with Macromedia Flex” by Steven Webster and Alistair McLeod (Macromedia), “Designing Visual Interfaces” by Kevin Mullet and Darrell (Prentice Hall) and “Web Pages That Suck: Learn Good Design by Looking at Bad Design” by Vincent Flanders and Michael Willis (Sybex). Duntemann said that Webster and McLeod’s work is the “only significant nuts and bolts book I’ve seen on Flex,” while Mullet and Sano provide a great discussion on the simplicity in visual elements used in software, with emphasis on the difficulty on iconic communication.

Tony Wasserman, director of the software management program at Carnegie Mellon West, said he would recommend the Web site design book “The Design of Sites: Patterns for Creating Winning Web Sites” written by Douglas K. van Duyne, James A. Landay and Jason I. Hong (Prentice Hall). He also said that he is a big fan of O’Reilly’s “Missing Manual” series, which are casual and easy-to-read manuals for popular consumer software and hardware products. “While it is aimed at end users rather than developers, developers are end users too,” Wasserman said. “The authors and editors of these books deserve a lot of credit for their organization and readability.”

Hunt said that he would recommend “Programming Erlang: Software for a Concurrent World” by Joe Armstrong (Pragmatic Bookshelf), which is focused around teaching the Erlang programming language. The language is designed for building parallel, distributed systems. Hunt said that developers might want to get involved in learning Erlang because of the advantage it offers using the concurrency inherent in multicore processors.

Lori MacVittie, solution engineer for application services for F5 Networks, said that she would recommend “XSLT & XPath: A Guide to XML Transformations” by John Robert Gardner and Zarella L. Rendon (Prentice Hall). According to MacVittie, this is a useful book because of how important it is to understanding XML.

“This book was a great education in understanding both XSLT and XPath and their relationship to each other, and continues to serve as a reference to both languages,” she said. “It’s a must-have for Web 2.0 and SOA-focused developers today, and should probably go on the ‘should read’ list for network- and security-minded folks as well. ‘Smashing the stack’ may very soon be replaced with ‘smashing the DOM.’”

PerfTestPlus’ Barber’s pick is “An Introduction to General Systems Thinking” by Gerald M. Weinberg (Dorset House). The book, written more than 30 years ago, is an introduction to systems theory and computer science applications, and is frequently used in university courses and professional seminars. Barber said that the thought process Weinberg describes can seem bizarre at first, but when read with an open mind, it can be very satisfying.

Robin Goldsmith, president of training provider Go Pro Management, jokingly suggested developers should read his book “Discovering REAL Business Requirements for Software Project Success” (Artech House), but he did have some other recommendations. “In my process improvement courses, I refer students to Tim Koomen and Martin Pol’s ‘Test Process Improvement’ [Addison-Wesley], which I’ve just been rereading and finding [even] more edifying. I also have the greatest respect for Bob Grady’s two books ‘Successful Software Process Improvement’ and ‘Practical Software Metrics for Project Management and Process Improvement’ [Prentice Hall].”

Classic Hits
Just as there are classic novels that have stood the test of time, there are certain software books that have displayed a magnificent lasting ability. Andrew Binstock, the principal analyst at Pacific Data Works and columnist for SD Times, said one book he considers to be an all-time classic is “Refactoring: Improving the Design of Existing Code” by Martin Fowler, Kent Beck, John Brant, William Opdyke and Don Roberts (Addison-Wesley) for its advice on making object-oriented code simpler and easier to maintain. Some of his other favorites include “Compiler Design in C” by Allen I. Holub (Prentice Hall), “Working Effectively With Legacy Code” by Michael C. Feathers (Prentice Hall) and “Operating Systems Design and Implementation” by Andrew S. Tanenbaum (Prentice Hall).

Salesforce.com’s Coffee said that one timeless classic he holds dear is “The UNIX-Haters Handbook” by Simson Garfinkel, Daniel Weise and Steven Strassmann (Wiley). “There are any number of books about the poor usability of machines from the viewpoint of clueless masses, but ‘The UNIX-Hater’s Handbook’ is a vivid reminder that even hard-core techies are perfectly capable of confusing each other,” he said.

Duntemann said that the data encryption book “Applied Cryptography” by Bruce Schneier (Wiley) is a book that he considers to be a timeless classic. He also mentioned Randall Hyde’s “The Art of Assembly Language” (No Starch).

Algorithms was the topic that MacVittie chose when asked for a timeless classic. She cited “Introduction to Algorithms” by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (MIT Press). “This gigantic and very thorough book of algorithms is indispensable in learning and understanding everything from the most basic to the most complex algorithms,” she said. “I love the discussions on performance relating to the algorithms because I hate slow code. The fact that the algorithms are language-agnostic makes them applicable for developers regardless of their preferred language.”

Barber, meanwhile, talked about a newer book he thinks will have a lasting effect on developers: “Lessons Learned in Software Testing” by Cem Kaner, James Bach and Bret Pettichord (Wiley). He praised the book’s strong style, and said the book presents only realistic solutions and real-world answers to problems. “You simply cannot read this book and walk away believing that it’s fair to assume that you know the solution to a problem or a challenge without first learning the details surrounding the problem or challenge,” Barber said.

Go Pro’s Goldsmith said that one book he considers to be a classic is “Rapid Development” by Steve McConnell (Microsoft Press), which offers rapid software development strategies in addition to mistakes to avoid for rapid development projects. WebMethods’ Matsumura added that one of his all-time classic books is “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (Addison-Wesley). The book offers solutions to design problems through describing patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects.

The Hot Newbies
Coffee said that a new book he read recently—” Code and Other Laws of Cyberspace” by Lawrence Lessig (Basic Books)—offers a valid argument for guiding the still-developing regulatory process of the Internet, calling for a way to regulate the Internet that pleases both government and business. Coffee also cited William Gibson’s “Pattern Recognition” (Putnam). Gibson’s futuristic tales and sci-fi style offer an exciting perspective on modern consumerism, he said.

“The ‘unevenly distributed future’ of Gibson’s ‘Neuromancer’ is still quite far away, but the world of ‘Pattern Recognition,’ with its massive disruptions of conventional models of markets and media, is where some of us are living now, and where all of us will be living quite soon,” Coffee said.

Duntemann noted one particular book fresh off the shelf because of the help it offered while he was experimenting with the PHP programming language recently. “PHP Phrasebook” by Christian Wenz (Sams) serves as a guide to PHP phrases frequently used by PHP developers. “I have a bias against software books that are too new; it usually indicates undue creation. But this one, which presents short code snippets that illustrate PHP language features, helped me greatly,” he said. “I don’t know if the technique could be applied to more complex languages like C# or Delphi, but it certainly works for the scripters.”

Hunt said he thinks Nassim Nicholas Taleb’s “The Black Swan: The Impact of the Highly Improbable” (Random House) is a new book worth reading for its examination of improbable and unpredictable events that have massive impact. The idea of bracing for unforeseen events is something that could help software developers. “This book proves the old adage that despite the best laid plans, shifts happen,” Hunt said.

Pacific Data Works’ Binstock had a number of can’t-miss new books to talk about. Among those are the automated testing guide “xUnit Test Patterns: Refactoring Test Code” by Gerard Meszaros (Addison-Wesley); the integration help tool “Continuous Integration: Improving Software Quality and Reducing Risk” by Paul M. Duvall, Steve Matyas and Andrew Glover (Addison-Wesley); and the Groovy tutorial “Groovy in Action” by Dierk K?nig, Andrew Glover, Paul King, Guillaume Laforge and Jon Skeet (Manning).

MacVittie said she enjoyed “I Am a Strange Loop” by Douglas Hofstadter (Basic Books), which examines the concept of a strange loop that the author developed. A strange loop arises when one finds oneself back where one started, involving either self-reference or paradox.

When asked about a satisfying new book that he has read recently, Barber immediately mentioned “Beautiful Evidence” by Edward R. Tufte (Graphics). Barber called the book a “masterpiece in graphical presentation of complex data,” saying that the book will change how data presenters and designers sense, interpret and display data.

He said he first came across Tufte at a one-day seminar that the author held nearly a decade ago, and was in awe of what he didn’t know about sharing information. “It turned out to be the single day with the most profound impact on my career to date,” Barber said.?“This book is simply the latest evolution in what should be required learning for anyone who deals with data.”




Share this link: http://www.sdtimes.com/link/31133
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG