Book Recommendations

You are here: Andrew Ho > Work > Books

I have always been a reading buff, so I thought I would present some recommendations for technical books that have helped me to progress in my programming knowledge. There are some things that are just nicer to learn from sitting down in a warm corner and curling up with a nice paper book. You may notice that I have a special fondness for O'Reilly books, as they tend to get down to the meat of programming quickly and pragmatically. They also have cute animals on their covers.

Perl Books

My first real technical job was programming a CGI application in Perl. It was my first exposure to CGI, and my first exposure to Perl (at the time, Perl 4 was the new kid on the block). Here are some great Perl books that can hopefully make your learning experiences easier than mine were.

Perl Cookbook (Tom Christiansen and Nathan Torkington)

The Perl Cookbook is the book every Perl programmer should have. It is laid out in a "recipe" style so a programmer can quickly find out the idiomatic, expert way to finish various tasks in Perl. It's like a well-written, detailed, technical coding FAQ. If you program in Perl, you should definitely buy this book.

Effective Perl Programming (Joseph Hall and Randal Schwartz)

This is an excellent text, split into sixty readable lessons, that will give an intelligent programmer the nitty-gritty on the idiomatic, expert way do program in Perl. It can take you from a Perl newbie—familiar with Perl because of its syntactic similarity to C or Java—to a Perl geek who can rattle off Schwartzian transforms with ease. It's aimed at a relative newcomer, but still holds lessons for seasoned Perl hackers.

General Programming Books

I think it is super important to be knowledgeable about general programming skills, such as style and organization, in addition to being an expert in any particular language.

The Practice of Programming (Brian Kernighan and Rob Pike)

This book attempts to make comments on programming style and how to apply common sense to programming. There's a brief overview on common language idioms and algorithms, but the primary great thing about this book is that it teaches how to program in a useful and practical way. Many of the examples are a bit C centric, but Java and Perl examples are also present, and the principles are applicable to any programming language.

Andrew Ho (