Author: Kate Thompson
Publisher: Kate Thompson Books
Audience: All programmers
Reviewer: Ian Stirk
This book aims to show you how to become a better programmer. How does it fare?
To my mind, to become a seasoned programmer typically requires between 2 to 5 years of development experience. Along the way you will learn, often by trial and error, how to overcome various pitfalls.
Often times you learn to be a good programmer by avoiding all the various bad practices. In many ways this book condenses this learning experience by highlighting the major problems together with their solution.
The book consists of two sections. The first section is concerned with topics that can impede the creation of better code. The section is divided into 40 chapters, each between 1 to 3 pages in length, and contains amusing/worrying stories, helpful diagrams, useful references, warnings, and solutions.
The topics covered include:
- Heed the Compiler Warnings
- Reusable Code
- Cyclomatic Complexity
- Using Other People’s Code
- Be Your Own Worst Enemy
- Bad APIs Cause Bugs
- Lessons from Lisp
- Parallel Processing
- von Neumann
The second half of the book presents snippets of code that you can learn lessons from. Various real-world code is discussed with a short commentary, again each piece is between 1 to 3 pages in length. The code is written in various languages (e.g. COBOL, Java, Assembly), and covers a range of historical ‘problems’. Most of the code will be readable by experienced programmers.
The book is suitable for programmers of all levels. New programmers will be able to learn preferred approaches from the start. Experience programmers will welcome a refresher course, and might pick up some new observations. Intermediate-level programmers will fall between these two points.
This book aims to show you how to become a better programmer, and succeeds generously. The book has useful discussions, stories, quotes, diagrams, references, and code samples. The author’s style is intelligent, reflective, funny, serious, and philosophical – all of which aids the understanding of the points being made.
You can acquire the skills needed to become an experience programmer the hard way (years of development experience) or the easier way (reading this book), either way you will learn the lessons on the path to becoming an experienced programmer – I suggest you take the short route.
This book should be on the bookshelf on every serious developer having aspirations to become a better programmer. It deserves to be read by a wide audience. Highly recommended
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.