Sunday 8 September 2013

Productive Programmer: a book about using tools


This covers a lot topics related to productivity in different levels:
*the computer interaction: using searching instead of navigation, launching pad, editor choosing
*programming tools:  code analyzer,
*programming methodology: Test driven design, Meta-programming, composed method, polyglot programming,
*programming philosophy: automation, Don't repeat yourself
*Programmer self-management: Focus, YAGIN, Don't sheave yak, accidental complexity and essential complexity.

The first two topics is purely about tools, the third is about how to using the programming language, and the last two is actually about programmer management. Anyway, if you treat the programming language and yourself as one kind of programming tools, the author's answer to productivity would match all the chapters of this book well.

Before I read this book, I have summarized some similar tips in the computer interaction aspect by myself. But now, honestly speaking, I'm not a productive programmer at all. Why? The answer lies in the last two parts, the programmer's self management.

Writing a script by using an unsuitable language will only waste me several hours, but doing something unnecessary things would cost me several days. We can run fast, but this should be based on the premise of the right direction.  When I add this book to my read list, I also add another, Rapid Development, which states a general strategy for rapid development:
*Avoid classic mistakes
*Apply development fundamentals
*Manage risks to avoid catastrophic setbacks
*Apply schedule-oriented practices

From this view, the Productive Programmer mainly solves the problem in the development fundamentals. As a research based programmer, management is much more important than the programming tricks.

No comments:

Post a Comment