Just another Perl shrine | |
PerlMonks |
On "Programming Perl" 3rd Editionby Scott7477 (Chaplain) |
on Apr 20, 2006 at 04:41 UTC ( [id://544515]=perlmeditation: print w/replies, xml ) | Need Help?? |
"Preface" I have started reading this book for the second time. The first time through, I sort of cherry picked my way through it. I was completely new to Perl at the time, and used that first read to help myself get a handle on the basics of Perl and how it differed from languages I had been using (Basic, Pascal, a little bit of C and C++, Visual Basic, Python). Most of the discussion of the more fundamental attributes of Perl and design decisions that Larry Wall et al have made in creating the language were over my head or required more study than I wanted to do at the time. My intent is as I study each chapter to make notes for myself and perhaps post my thoughts on each chapter as a review or meditation. I know there are a couple of reviews already posted here; those seemed pretty high-level or general to me. Since this, the "Camel" book, could arguably be considered to be the "bible" of Perl programming, it would certainly warrant close analysis. Now, I'm not saying that I'm the guy to make any definitive pronouncements, but I figure I'll post what I think and see what everybody has to say. It's guaranteed to be a learning experience for me.
Off I go: the first thing that strikes me about this book (I'll call it Camel Mark III for the rest of this, just for fun) is that the writing is up to O'Reilly's usual high standards for readability. I own a number of O'Reilly books and they are all very well edited. No difference here. I'm pretty sure every monk has encountered some programming book that was all but unreadable; I suppose some publishers just let an individual who is known for their programming skills fire away and don't bother to clean up the English a little. A good analogy is the math professor you have who is an eminence in his field but can't teach the Calculus 101 he's been assigned for the semester to save his life. I imagine it is difficult to produce as good a book as Camel III when the editor has to assemble the styles of three different people and come up with a consistent voice throughout the book.
Update: Thanks to rhesa for pointing out that I fat-fingered the quote of Larry W. as the last word in that sentence should have been "impossible", not "possible." Fixed: my excuse is it was approaching midnight as I was typing.One of the most remarkable features of the book is the ease with which the authors shift between simply describing syntax or a function or a module and discussing the fundamental issues of language design. If this were done poorly, such shifts would be headache inducing; in this book the shifts came across to me as "this syntax makes sense, and I sort of see where they came up with it. I'll have to come back and figure that out later." So the preface starts off with a bang; the following quote is one that I whole-heartedly agree with: "we know from experience that computer languages differ not so much in what they make possible, but in what they make easy...the so-called fourth-generation languages make it easy to do some things, but nearly impossible to do other things. At the other extreme, so-called industrial-strength languages make it equally difficult to do almost everything." To me, that statement right there tells me these guys know what they are talking about. The rest of this first section of the preface elaborates on how Perl avoids the problems raised in that statement. The authors sum it up this way: "Perl is designed to make the easy jobs easy, without making the hard jobs impossible." Larry Wall should design himself a coat of arms with that quote as the slogan, put it on a flag, and raise it at whatever place he considers the headquarters of Perl. Does Perl live up to that slogan? I can't completely say for sure, since I'm still relatively new to the language, but from what I've seen so far it seems to be well on the way. But that's a different subject entirely, so back to the book itself. Of course the authors tell you what is new in Camel Mark III; I can't say whether the additions were ideal since I've never touched previous editions. They tell you how to get your hands on a standard distribution of the language. They give an overview of what the standard documentation is and a couple of methods for sifting through the documentation to find a specific detail you might be looking for. Next, the authors provide an annotated list of other books (and "The Perl Journal", which has apparently given up the ghost) that they think would be useful you if you get into using this language regularly. Based on my meanderings through various online forums, the Perl community at large would agree with the titles included. Also provided are are URL's for online resources, although reference to Perlmonks.org is strangely absent:). To sum up: in their Preface to Camel Mark III Wall et al state their ambitions for Perl, tell you what kind of large scale projects have used the language to get you motivated and back up their ambitions, and tell you how to get your hands on a Perl interpreter along with the documentation and books to get you going. Yet another update: I forgot to mention that one of the books listed as a reference is "Lord of the Rings." If you've read the trilogy and liked it there's surely some level at which it is obvious to you why the authors included it. My thought on why they included it is this: the book is a masterwork of English literature that draws on multiple sources for inspiration, can be interpreted at a number of different levels, communicates with several different writing styles within the same work and yet manages to appeal to readers from junior high school students to adults at the same time.Also, Tolkien was a linguistic expert. The mapping to Perl seems clear in that Perl borrows syntax from a variety of languages, can be used at multiple levels from simple scripts to potentially writing a new programming language, and should be useful to programmers from a variety of backgrounds. Plus, it seems clear that Larry Wall is a linguistic expert.
Considered by jdporter: move to Book Reviews
Back to
Meditations
|
|