26 Following


Becoming a Better Programmer

Becoming a Better Programmer - Pete Goodliffe A mixed bag.

The first part of this book focuses on coding advice, but It's not particularly concrete or actionable, what examples are present are very C specific, and I could only see it being useful for beginners. It has sentences along the lines of "make sure to handle errors" and "make sure you know how to use co concurrency constructs" and "always employ sound engineering techniques that minimize the likelihood of unpleasant surprises." These are all correct, but a bit obvious and not particularly useful. It also repeats itself a lot, introducing TDD, KISS, and DRY principles in the first part, and then repeating them over and over and over again, but not in a new way that would make the message more sticky.

The other parts of the book focus more on the sociology, psychology, and philosophy of programming and are stronger, especially Part III ("Getting Personal") and Part V ("The People Pursuit"). The chapters about programmer ethics, continuous learning, and working with other great programmers are the high points. The sense writing style is fairly informal, with lots of attempts at humor, some of which miss, but a few others, especially The "Generic Manifesto" and the Hitchhiker's Guide satire, are great.

Some good quotes from the book:

An interesting and beneficial side effect of working with good coders is that you're far more likely to end up working with good code.

I conclude from what we've seen here that there are (at least) two levels to the ethical programming career: the mandate to "do no harm" is the base level, to not tread on people, or be involved in work that exploit others. Beyond this is a more involved ethical mantra: to only work on projects that provide sound social benefits, to specifically _make the world better_ with your talents, and to share knowledge in order to advance the program and craft.

Working with your programming language is a relationship you have to work at each day.

Being accountable to other programmers for the quality of your code will dramatically improve the quality of your coding.