Where Developers Matter
Integrated Development Environments for Windows, Java, and Web Developers
| | Log On

Sip from the Firehose: October 31, 2002 - Short Computer Books I've Enjoyed

By: David Intersimone

Abstract: There are so many great computer books and so little time to read them all. What I really love are the short books, the focused books with low page counts.

Sip from the Firehose: October 31, 2002 - Short Computer Books I've Enjoyed

London, England
Thursday, October 31, 2002

There are so many great computer books and so little time to read them all. Many computer books have high page counts and take time to read.  I personally use the larger books as references for specific techniques, algorithms, data structures, and ideas.  What I really love are the short books, the books with low page counts.  I consider a great, short computer science book to be specifically focused and are less than 300 pages in length.  Why chose what seems to be an arbitrary top end page count to define a short book?  I've read many good books in my 30+ years in the computer industry.  It's the tightly focused, short books, that have (what I consider) lasting value, that I really enjoy and use.  Here are a few books that I think are worth listing.

Short, Wonderful Books

The Psychology of Computer Programming by Gerald Weinberg - I bought this book in 1971 while I was still a computer science student in college.  While I loved working with computers, writing code, learning programming languages, algorithms, data structures, compilers, and file systems, I also wanted to have a deeper understanding of what I getting involved in.  The preface said it all, "this book has only one major purpose -- to trigger the beginning of a new field of study: computer programming as a human activity."  This book was updated for the silver anniversary of its original publication.  It is a "must have and must read many times" book.  ISBN 0-442-29264-3. 288 pages.

The Mythical Man Month: Essays on Software Engineering by Fred Brooks - written by the "father of the IBM 360".  When I graduated from college in 1973 I went to work as a real-time minicomputer assembly language programmer at TRW in Los Angeles.  The words "Man Month" where used all over the place for project estimation and for the level of effort.  When Brooks' book came out in 1975, it was required reading for most software engineers.  While the lessons learned were associated with the successes and failures of the IBM Operating System 360 project, the book presented the essays on software engineering in a way that touched and influenced me and many of my friends at TRW and most developers I've come in contact with.  A 20th anniversary edition is now available. ISBN 0-201-00650-2.  195 pages.

A Discipline of Programming by Edsger W. Dijkstra - this is a classic book on the nature of programming, programming languages, algorithms, data structures and more. I bought this book in 1976 and have enjoyed going back to it time and time again. From the preface, "on the one hand I knew that programs could have a compelling and deep logical beauty, on the other hand I was forced to admit that most programs are presented in a way fit for mechanical execution but, even if any of the beauty at all, totally unfit for human appreciation."  This book encouraged me to look at the beauty of a good looking algorithm and to appreciate programming as a wonderful endeavor.  ISBN 0-13-215871-X.  217 pages.

Writing Efficient Programs by Jon Bently - a wonderful, short book on how to think about and write the smallest, fastest programs.  Using short programs, code fragments, and "war stories" from real work, this book helped me strive to get the most out of every statement, every loop, every function.  Jon was also the author of the "Programming Pearls" column that I read each month in the Communications of the ACM magazine.  I've had the privilege to hear Jon speak several times.  I've really enjoyed his writings and discussions about "Little Languages" and tight code.  ISBN 0-13-970244-X.  170 pages.

Peopleware by Tom DeMarco and Timothy Lister - two authors, a lifetime of experiences in building software, managing projects, and being consultants on other software projects. The book presents experiences in a personal perspective that puts people first and technology second. I love the title of the first chapter, "Somewhere today, a project is failing".  It is the focus on the team members, on real people who build software systems, and on the users that will use the programs that makes this book so special for me.  ISBN 0-032633-05-6.  188 pages.

Elements of Software Science by Maurice H. Halstead - another classic, focused on treating the processing of writing programs as a science to drive the prediction of requirements, error rates, effect of modularity, evaluation or programming languages, mental effort, and more.  This book came out in 1977, and is still one that I go back to when I am thinking about the craft that we are engaged in. There have been many software estimation systems, but this Halstead's work was the first one that I read that allowed me to think in terms of projects, programs, and programming languages using scientific methods.  ISBN 0-444-00205-7.  127 pages.

eXtreme Programming eXplained : Embrace Change by Kent Beck -  Kent has been a speaker at our annual Borland Conference.  He used to live in the mountains near Borland's headquarters.  He is the one who first introduced me to the writings and work of architect Christopher Alexander and software patterns. In this book, the father of XP, describes what XP is, lists its guiding principles, and how the methodology works.  In true Kent style, the book is written in a simple, accessible style.  Kent writes, "These principles are not new, but when they're combined their synergy fosters a new and arguably better way to build and maintain software."  ISBN 0-201-61641-6.  190 pages.

Rules for Revolutionaries by Guy Kawasaki - Guy was a keynote speaker at the 2001 Borland Conference in Long Beach.   His keynote focused on his 10 rules for revolutionaries covered in his best selling book.  Every attendee at the conference received a copy of the book, adding to the army of revolutionaries driving our industry forward.  Guys rules are:  1) Jump to the next curve, 2) Don't worry, be crappy, 3) Churn, baby, churn, 4) Break down the barriers, 5) Make evangelists, not sales, 6) Let a thousand flowers bloom, 7) Eat like a bird, poop like an elephant, 8) Think digital, act analog, 9) Don't ask people to do something that you wouldn't do, 10) Don't let the bozos grind you down ISBN 0-88730-995-X.  224 pages.

Object Lessons by Tom Love - "learning by doing" is the motto at my alma mater, Cal Poly San Luis Obispo.  This book presents a whole lot of lessons learned from numerous object-oriented software efforts.  It is longer than most of the other books I've listed, but it is a quick read and also a great reference.  The book includes lessons learned about development, components, people, organizations, culture, and technology. ISBN 0-9627477-3-4.  266 pages.

Algorithm Animation by Marc Brown - this book contains Brown's thesis dissertation that focuses on "an algorithm environment for investigating the dynamic behavior or programs."  This book was recommended to me back in the days when we were first adding debuggers to our development environments.  Looking at algorithms in program code and watching watching memory and registers in a debugger gives you a simple way to see an algorithm in action.  Imagine being able to look at an algorithm in action visually.  Using ideas presented in this book, new views can be added to design, coding, and debugging systems to help developers take control of their algorithms and data structures.  ISBN 0-262-02278-8.  186 pages. 

Object-Oriented Technology: A Managers Guide by David A. Taylor - a good overview for students, managers, and programmers.  Of course, most software developers now know and use objects, still this book gives a simple to access introduction to objects and object oriented programming.  This was the paperback book that I recommended to just about everyone, managers and developers, when Borland first added objects to Turbo Pascal and when we came our with our first Turbo C++ version.  ISBN 0-201-56358-4.  147 pages.

Object-Oriented Software Metrics by Mark Lorenz and Jeff Kidd - this book identifies metrics that can be used to assess project progress and quality measures for object-oriented projects.  The book presents both background on software metrics as well as advice for managers and developers on how to set up your own metrics programs.  ISBN 0-13-179292-X.  146 pages.

Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers by Geoffrey Moore - Moore's landmark book presents the requirements for successfully marketing high technology products to users.  He presents the adoption curve for high tech products and identifies the "chasm" that defines a barrier between the successful early adoption of products (by technically intelligent customers), and the rest of the universe of potential buyers.  This book is a great reference for everyone (executives, managers, engineers, developers, assistants, etc) who is part of a company designing, building, marketing, and selling high tech products.  ISBN 0-88730-717-5. 240 pages.

Not An Exhaustive Book List

This book list is by no means complete.  There are many other books that can and should be listed above.  I have only included the books that I have bought, read, and liked.  Do you have your favorite, short computer books?  Send me an email message and tell me about books that have impressed and helped you, I may add them to the list.

Keep on hacking!

David Intersimone "David I"
Vice President, Developer Relations
Borland Software Corporation
davidi@borland.com


Published on: 11/4/2002 12:00:00 AM


Server Response from: BDN10A

 

Borland® Copyright© 1994 - 2008 Borland Software Corporation. All rights reserved. Contact Us  |   Site Map  |   Legal Notices  |   Privacy Policy  |   Report Software Piracy