Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
A New, Late, Review of The New Blue Camel

By tech in Technology
Wed Feb 14, 2001 at 06:49:57 AM EST
Tags: Books (all tags)
Books

A rather late review of The New Blue Camel, otherwise known as Programming Perl, 3rd Edition. You can thank Hurstdog for poking me into writing it.

-Tech


I got my New Blue Camel from Amazon and was firstly amazed at the bulk. The previous two versions of the book were only about half that size. I soon found out this was due to the tons of extra information added since the last edition. The Table of Contents spans 9 pages and alone is enough to flip through and find something interesting to read about. If you're needing a quick reference, you can flip to the index and look up and keyword such as a topic, a special variable, a standard module, etc.. I've always been amazed the camel's ability to play the roles of a quick reference, an all encompasing standard, and a step by step tutorial all at once and all well, and this edition is no different.

Kept over from the old editions are the overview and "Gory Details" of Perl, as the book puts it. A few of the new things include...

  • Chapters on Regular Expressions - Regular expressions are one of the hardest concepts in Unix, and also one of the most integral concepts in Perl. The NBC has a great explaination of thier construction and usage.
  • Chapter on The Perl Interpreter and Compiler - Another greatly misunderstood part of Perl is the way it interprets and compiles the code at runtime. This chapter sets the record straight and gives you a look at the Perl compiler you really couldn't otherwise have without being in the core development team.
  • Chapter on Unicode - Unicode is the system Perl adopted to replace ASCII internally in Perl. It generally works the same as ASCII, but there are some very important differences that this chapter addresses. It also gives great information of string handling internally in Perl and ways to make your Perl code more portable.
  • Revamped Perl Culture Bits - The Camel has always been the ultimate source of information about Perl culture, and the addition of the Perl Poetry section and more examples make this more true in the new book than ever before.
  • Threading - With Perl 5.6 came the foundation of threaded Perl, and the New Camel gives you both and in depth understanding of Perl threads and a step by step instruction to start using them now. Really, threads aren't that difficult to use in and of themselves, so the threading chapter focuses mainly on writing thread safe code and knowing how and when to implement threads.
  • Perl 5.6 - Perl 5.6 is a different world from previous versions and the New Camel is ready for it. It covers Threading, Overloading, and Unicode. If you're going to be using the advanced features of 5.6, you *need* the New Camel; the second edition just won't do anymore.
  • Other Enhancements - The basic text has been corrected and added to as necessary to make this Camel up to date for 5.6. Also most of the tables have been reworked in one way or another to make them more usable and more useful.

If you haven't owned a Camel before, it's Larry's (and Tom Christiansen's, and Jon Orwant's, and Randal Shwartz's) complete Guide to the Perl Programming Language, similar in function to "The C Programming Language" by the infamous K&R. No serious or curious Perl programmer should be without a copy, and it's the next logical step up from "Learning Perl" for beginners. It's written much in the style of Perl itself, you can use it effectively no matter what your level as a Perl coder.

I've always thought the camel gave a great bit of insight into the way a Perl programmer's mind works. Many people claim to speak perl, and that's certainly the way it works. Perl flows evenly and logically, but you can't really tune into that until you read the source of it, and that's Larry Wall, or, barring that, his written incarnation, Programming Perl 3rd Ed..

If you've never had the pleasure of reading an O'Reilly book, you'll find that they are some of the highest quality technical books available. They're always on topic, and usually written by the authority in the field, in this case, the creator and maintainer of Perl himself. Their layout and editorial style is very easy to read with little or no ambiguity. Code segements, tables, etc are seperated clearly with useful captions. Footnotes abound, and cross references point you to exactly where you were headed, even when you have only a vauge idea of where that was. Finally, the lay-flay binding makes the physical books themselves easy to handle on your desk or propped up against a printer or stack of other, now useless Perl books. :P

More than anything else, this book impressed me in the vast amount of information it contained and the ease of use it presented. A great accomplishment in Book UI design. The Perl Compiler chapter finally gives a concise explanation of how the Perl Compiler works; so many people don't understand it. The Unicode parts unveil yet another Perl black box to the mainstream Perlers, and revamped parts such as Threading, IPC, Overloading, Tied Variables, and more from perl 5.6 are included in whole.

To get a true grasp on what's in the book, take a look at the Table of Contents.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Tech works at...
o Apple. 0%
o General Motors. 0%
o Radio Shack. 100%
o Compaq Corp. 0%
o IBM. 0%

Votes: 3
Results | Other Polls

Related Links
o Table of Contents
o Also by tech


Display: Sort:
A New, Late, Review of The New Blue Camel | 13 comments (8 topical, 5 editorial, 0 hidden)
Why does everyone love the camel book? (3.75 / 8) (#2)
by Luke Francl on Wed Feb 14, 2001 at 12:09:18 AM EST

Disclaimer: I am not a Perl programmer, per se. I do, however, know how to program in Perl.

I have always wondered why everyone loves the camel book so much. As a novice Perl programmer, I found it nearly impossible to approach. Yes, I know that's what Learning Perl is for, but I usually found that that book didn't cover things in enough depth.

My criticism of (old editions of) the camel book:

  • I dislike the writing style. To me, it smacks of Tom Christianson trying to show off how well he can write. Some people like that kind of thing, but I found it annoying.
  • Not enough code examples. Especially in the function refernce section. God help you if you just need to know how a function works, and you need a simple example to help you out.
  • There are more...but I'm usually pulling my hair out over some obscure Perl syntax before I notice it :)
That being said, it is an invaluable reference -- as long as you've already got some heathy experience with Perl. Now, I can make use of the camel book. But when I first started out with Perl, I inherited a bunch of really icky old code, and the camel book was almost useless (and so was Learning Perl because of not covering stuff like packages).

Good Point. (4.16 / 6) (#4)
by tech on Wed Feb 14, 2001 at 12:15:31 AM EST

You've got a very valid point, and I think you're right. Programming Perl and, well, programming Perl, can be very intimidating at times. Also, I sometimes feel like you do about Tom and Larry making parts of the camel that would otherwise be straight forward instead be confusing and unclear, simply because of thier 'elevated' writing style. That said, mostly I do like the camel as I've yet to see another cover-all book address a topic so well. Also, I think the tounge-in-cheek style is designed more to break the boredom of reading a computer programming book and less so to inflate Tom's and Larry's respective egos.

-Tech


-- -- --
To email, remove the spam. I don't like Spam. I think I'll have the Spam Spam Spam Eggs Bacon Sausage and Spam, only without the Spam.
[ Parent ]

Good Point (2.50 / 2) (#11)
by mami on Wed Feb 14, 2001 at 09:49:15 AM EST

The only thing intimidating in learning to program Perl is listening to people talking about it, IMHO. :-)



[ Parent ]
some of this is taken care of (4.00 / 4) (#5)
by nickp on Wed Feb 14, 2001 at 12:20:08 AM EST

In the new version, there are a lot more code examples. Also, packages are covered very extensively. This includes coverage of standard modules. Large gaps between publication times of the editions account for huge differences between them: 1991, 1996, 2000.


"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein
[ Parent ]

I just wanted to say (3.00 / 4) (#6)
by spacejack on Wed Feb 14, 2001 at 12:20:31 AM EST

That is exactly my experience with that book. Don't use it to learn Perl. I dunno, I don't use Perl for anything too complicated, but that book caused me a lot of aggrivation.

[ Parent ]
I disagree (4.50 / 2) (#8)
by bjrubble on Wed Feb 14, 2001 at 02:45:19 AM EST

I learned Perl on the Camel book, and I consider it simply the best programming book I've ever used. I've bought pretty much exclusively O'Reilly books since then, and although they've all been quite good (except for one notable exception, one called "Managing Internet Information Services" from 1996 or so -- Yeeuggh!!) none has come close to the Camel book.

I think your problem was Perl, the language. Specifically, Somebody Else's Perl, which is what eventually drove me to Python.

[ Parent ]
Learning Perl (4.50 / 2) (#12)
by JonesBoy on Wed Feb 14, 2001 at 10:07:36 AM EST

I used the Learning Perl book to get a start on how the language works. It starts off a little slow, but the ideas are very useful. I then purchased the Programming Perl and Perl Cookbook. I use the Programming book for technical problems in programs, and the Cookbook for just "getting things done" type ideas and examples. Those are the only three Perl books I own, and I have written many scripts for many different types of problems.
Speeding never killed anyone. Stopping did.
[ Parent ]
Advanced Perl Programming (3.00 / 1) (#13)
by Luke Francl on Wed Feb 14, 2001 at 05:15:39 PM EST

Oh, I forgot about this until now, but I really like Advanced Perl Programming. It has tons of examples, clearly explained. I don't own it, but I found some Russian guy's warez copy during a Google search for a Perl problem I was having, and it came in very handy ;)

[ Parent ]
A New, Late, Review of The New Blue Camel | 13 comments (8 topical, 5 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!