- Paperback: 544 pages
- Publisher: O'Reilly Media; 1 edition (July 22, 2005)
- Language: English
- ISBN-10: 0596001738
- ISBN-13: 978-0596001735
- Product Dimensions: 7 x 1 x 9.2 inches
- Shipping Weight: 2.2 pounds (View shipping rates and policies)
- Average Customer Review: 56 customer reviews
- Amazon Best Sellers Rank: #776,138 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Perl Best Practices: Standards and Styles for Developing Maintainable Code Paperback – July 19, 2005
|New from||Used from|
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
"If you are looking for a book to teach you how to program Perl, this is definitely not what you need. Also, if you are cranking out quick Perl scripts to solve one-time tasks, it might not be worth the effort to read this book. However, if you are fairly comfortable with the language and are looking for ways to improve your code, this book would be a wonderful addition to your bookshelf." - James Mohr, Linux Magazine, November 2005
About the Author
Damian Conway holds a PhD in Computer Science and is an honorary Associate Professor with the School of Computer Science and Software Engineering at Monash University, Melbourne, Australia.Currently he runs an international IT training company--Thoughtstream--which provides programmer development from beginner to masterclass level throughout Europe, North America, and Australasia.Damian was the winner of the 1998, 1999, and 2000 Larry Wall Awards for Practical Utility. The best technical paper at the annual Perl Conference was subsequently named in his honour. He is a member of the technical committee for The Perl Conference, a keynote speaker at many Open Source conferences, a former columnist for The Perl Journal, and author of the book Object Oriented Perl. In 2001 Damian received the first "Perl Foundation Development Grant" and spent 20 months working on projects for the betterment of Perl.A popular speaker and trainer, he is also the author of numerous well-known Perl modules, including Parse::RecDescent (a sophisticated parsing tool), Class::Contract (design-by-contract programming in Perl), Lingua::EN::Inflect (rule-based English transformations for text generation), Class::Multimethods (multiple dispatch polymorphism), Text::Autoformat (intelligent automatic reformatting of plaintext), Switch (Perl's missing case statement), NEXT (resumptive method dispatch), Filter::Simple (Perl-based source code manipulation), Quantum::Superpositions (auto-parallelization of serial code using a quantum mechanical metaphor), and Lingua::Romana::Perligata (programming in Latin).Most of his time is now spent working with Larry Wall on the design of the new Perl 6 programming language.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I wish EVERY programming language had these two systems. Most people learning programming languages have little awareness that not only can you say the same thing many different ways, but also each different way has advantages and disadvantages.
This is the ultimate DWIMNWIS (Do What I Mean, Not What I Say). You'd be surprised what people say unintentionally ...
Perl is an extraordinarily flexible language, which by design puts as few constraints on the programmer as possible. This freedom lets it do amazing things, and is part of what makes Perl so powerful, but it is a double-edged sword. The fact that the language itself does not force you to conform to an arbitrary style of "good" programming means that the onus is on the programmer to be self-disciplined. Perl Best Practices (PBP) provides guidelines for that self-discipline, and the tool it inspired - perlcritic - provides an enforcement mechanism.
Being A Good Developer I have purchased a number of perl books, and several of those have been useful. The problem is that there's a tremendous amount to remember, especially if you're not coding 100% in perl, especially since encyclopediac reference books just don't have time for the 'why' aspect.
This book excels in a few important ways:
1) There's always a 'why' given, and the right way and the wrong way are contrasted. This makes it, for me, far easier to remember things. It helps that the author uses English very well, and I virtually never find myself wondering what he meant. (In too many programming books, there's just not enough editing of the explanations, and very poor English.)
2) While I don't always agree with the author's best practices, most of the time I do, and he always makes his case well.
3) He shows both 'before and after' code, and gets the amount of code needed to make the point exactly right. I almost never find myself flipping past over-long examples, nor do I find myself not getting things because he's too concise.
This book was both highly useful and a pleasure to read. (Perl is indeed the dark side, but now I revel in the dark side.)
This is a purely practical book on how to write code that anyone can read and follow with minmal effort. It covers various aspects of coding styles and gives clear concice reasons for WHY they should be used. You can for example, using this book, give a clear reference why spaces should be used over tabs, or why underscores in variable names are simply easier for humans to parse than CamelCase.
I don't agree with everything in the book, far from it. For example I'm not using inside-out objects. But I have adopted a number of the practices. The real value of the book for me was learning more about Perl as I evaluated each recommendation. At my level of Perl at the time I found this book more understandable than Effective Perl Programming: Ways to Write Better, More Idiomatic Perl (2nd Edition) (Effective Software Development Series) which is more of an advanced Perl book.