The Productive Programmer Paperback – Jul 13 2008
|New from||Used from|
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
About the Author
Neal is an Application Architect at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. Before joining ThoughtWorks, Neal was the Chief Technology Officer at The DSW Group, Ltd., a nationally recognized training and development firm. Neal has a degree in Computer Science from Georgia State University specializing in languages and compilers and a minor in mathematics specializing in statistical analysis. He is also the designer and developer of applications, instructional materials, magazine articles, video presentations, and author of the books Developing with Delphi: Object-Oriented Techniques (Prentice-Hall, 1996), JBuilder 3 Unleashed (Sams, 1999) (as the lead author), Art of Java Web Development (Manning, 2003), and No Fluff, Just Stuff Anthology: The 2006 Edition (editor and contributor). His language proficiencies include Java, C#/.NET, Ruby, Object Pascal, C++, and C. His primary consulting focus is the design and construction of large-scale enterprise applications. Neal has taught on-site classes nationally and internationally to all phases of the military and to many Fortune 500 companies. He is also an internationally acclaimed speaker, having spoken at numerous developer conferences worldwide.If you have an insatiable curiosity about Neal, visit his web site at http://www.nealford.com. He welcomes feedback and can be reached at email@example.com.
Top Customer Reviews
The book feels like a collection of almost unrelated essays. This can make it seem a bit disjointed at times, but it also means you can read it in almost any order.
I also bought the Windows Power Tools book and would recommend the Productive Programmer over that book. They don't cover the same ground, but a compact book that mentions really useful tools that won't date as quickly is better than a huge book of tools with very little detail about each.
Neal Ford's writing style is concise yet fun and interesting. Examples are given using a variety of platforms and languages which is really unusual in a book - and he pulls it off without it becoming distracting.
The other reviews are correct in that the order in which you read this book appears to be of no significance, so perhaps I will return to it at a later time and see if I feel differently... but I can't find any reason to recommend someone read this rather than (Clean Code + The Clean Coder).
Most Helpful Customer Reviews on Amazon.com (beta)
The first section of the book, Mechanics, focuses on tools you can use to boost your productivity as you're working with your system. Ford launches off into an exploration of lots of little crazy tools that help you automate or ease repetitive tasks. You'll find lots of goodies from virtual desktops to shortcut tips/launchers, to using Ruby to script everything from splitting up SQL to automatically sorting your laundry and washing it for you.
All these little tools and tricks add up to drastic decreases in the amount of friction you're forced to suffer through while doing your daily job. Cutting this friction lets you focus on the job at hand, instead of trying to bend your environment to your will.
The second section of the book, Practice, discusses ways to speed your development. There's an awful lot of goodness in this portion of the book, ranging from re-emphasizing critical aspects of object oriented programming, to object and method composition. Ford walks through a lot of great stories meant to get you to re-evaluate why you do things a certain way. The infamous Angry Monkeys story gets pulled out as an example, and Ford also concisely covers development principles like the Law of Demeter, Occam's Razon, and his Polyglot Programming meme.
The book's concise, amazingly well written, and a definite must-have for your bookshelf.
I spend the last two days reading the book and found it quite helpful. There are a lot of concrete tips and examples for immediate use and daily improvement of your mechanic skills. Many of the experiences regarding the effective use of the tools at hand that he describes are well known to me. I can't really understand how developers are not keen to improve their productivity.
Neal's book is a good addition to the PragProgs masterpiece. It concentrates more on the mechanics and on some principles of productive software development. So the triad of values-principles-patterns got a son named mechanics.
What I missed in the book was:
* a comprehensive list of the notes at the end.
* Christopher Alexanders appearance as one of the philosophers.
* the notion of cheat sheets/refcards
* references to Martin Odersky's Scala the scalable language
* references to Kent Becks "Implementation Patterns" (especially in the SLAP section)
As being a developer myself I was a bit disappointed by the quality of the examples (the solutions not the starting points) and a bit by the correctness of the text (typos). I spotted several errors, some bad designs and some uninformed choices even on the first read of the book. I'll post them to the errata page.
Neals suggestion of an online repository of productive programmers tools, tips and mechanics is a great idea. I'd really like to join this effort.
While I don't like giving negative reviews, I figured it would be useful to other potential readers to give a no-fluff review of the book -- here we go:
This book is a decent book for new programmers. If you're fresh out of college, and have never before done any sort of real programming work, you'd likely find this book a quick and review-ish read. Most of the content of this book is extremely obvious stuff, I could summarize most of the book by stating the following points:
- Optimize your computer to get work done (use hotkeys, learn your editor well).
- Automate boring stuff that wastes times (running Excel reports, etc.).
- Focus on what you're working on and try to maintain flow.
The above three points are discussed and primarily talked about in the first 1/2 of the book. The rest of the book is dedicated to well known programming principles which I won't get into here -- suffice to say, if you're a programmer, you've likely already heard of and used them.
For any experienced developer, this book feels... Like a recipe. It comes off (to me) as being a well planned book with good intentions, but that (unfortunately) ends up covering a seemingly small array of things and only lightly touching on each subject. While other great books like The Pragmatic Programmer spend a lot of time covering productivity principles in great detail, this book seems to skimp on the content and focus on brevity in less less interesting topics.
While I really wanted to love this book (I'm a junkie when it comes to programming productivity stuff), I simply can't recommend this book to anyone but new developers looking for a quick read.
Finding out that he now has written a book - I instantly had to read it. And the book is certainly a valuable read that I'll keep around as reference at least for a while. There's lots of great tips about tools, automation, ... that will certainly find their way into my professional life. However, it did not blow me off my feet. I've read "Pragmatic Programmer - From Journeyman to Master" before (a perfect book in my opinion) and this book does not quite measure up to it. The style is not as perfect - the information not as well-presented. However what I miss most is that Neal sometimes present a topic but then does not follow up with "How to get started" - most notably with "Polyglot Programming" and "Test driven design". I know that both topics are maybe out of scope of the book but then at least a reference to another book, website, ... would have been great. So even if I'm all psyched to up try to apply this principles now at my current projects, I know from past experience that adding new languages in any mix more often result in time wasted time because of integration issues... and how to start TDD on a project that's been going on for 15 years without any unit tests is beyond my imagination.
Don't get me wrong - it's a great book and well worth the read; it just needs some polishing to get it to excellent...
The first section of the book, which I found to be of greatest value, is a collection of tips and suggestions intended to streamline your interaction with the computer. These would most applicable to those working outside the constraints of "locked down" corporate desktops, since many of the ideas presented involve the installation of open source software - that may not be an option in some environments. Specific tools, of course, aren't the point, it's the concept of saving keystrokes, automating where you can and scripting anything you'll repeat that matter, and the author succeeds in making these points.
One negative aspect to these tips is that because the book attempts to cover the primary workstation operating systems, discussions about Linux, Mac and Windows can be interspersed. I found that format distracting.
In the second segment, the book discusses a collection of programming practices and parables. These chapters seemed to center on Java foibles; the author makes cogent observations about coding principles, but the specifics didn't resonate with me because they don't apply to my usual programming environments (Perl/Python/Ruby). These are still worth reading, since Ford has obviously seen his share of real-world projects, and his "take" on a problem may lead you to some new pathways.
I received free access from O'Reilly to an electronic copy of this book for the purpose of writing this review.
Look for similar items by category
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Textbooks > Computer Science & Information Systems > Object-Oriented Software Design
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering