Perl strives to be both a natural language like English and a structured language like C, but Johnson evidently does not see the value in writing a prescriptive book as the other "Elements of" authors have. Rather, he has written a review of basic Perl for the converted and initiated. But just as an inexperienced carver cannot learn good carving practice with neither a Swiss Army knife nor a chain saw, a neophyte coder cannot learn good programming with a tool that has been called the "Swiss army chain saw" of programming languages. Can anyone learn good programming style from Perl at all? Better we should learn style elsewhere and bring what we already know to the notoriously laissez-faire language.
Perl was developed by linguistic enthusiasts to model a natural language, viz., an idiom consisting of a redundant vocabulary, syntax, and grammar with flexible rules, learnable by example or trial and error. Awk programmers can convert awk scripts to Perl with a utility, then learn Perl by fathoming the output. But where is the centrality of cold, inflexible logic in the design of supportable code? The essential tension in Perl for programming beginners lies between the natural language aspects of Perl (redundancy and flexibility) and the crucial need for discipline in writing programs.
Johnson draws his hoe into this fertile terrain but ends up plowing old ground. He adopts a didactic voice and follows a predictable pedagogical path from programming illiteracy through technical proficiency. He introduces task groups--processing text, lists, input/output, modules, debugging--and stops at introductions to modules and object-oriented code.
The book is studded with examples, exercises, tips, and tricks gleaned from years of "speaking Perl," but it avoids being prescriptive, and his casual advice is sometimes disconcerting. He discusses white space in formatting code, but he breezes past error handling. He teaches recursion without warning that it is a support nightmare. Often he hides behind Perl's creed that "there is more than one way to do it" to avoid advocating what the newbies need: one better-than-average way to do it. Johnson cannot be both advocate of Perl and teacher of beginning programming, though he has tried: had his experiment been bolder, it would deserve wider attention within the Perl and computer science communities. --Peter Leopold
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
66 of 67 people found the following review helpful:
5.0 out of 5 stars
The Best Introductory Book on the Market,
By B. Digger (USA) - See all my reviews
This review is from: Elements of Programming with Perl (Paperback)
'Elements of Programming with Perl' by Andrew Johnson is simply the best introductory Perl book on the market. It is patient in pace and rich in content. Concepts are introduced and explained in error free code. Diagrams are effectively utilized to reinforce understanding.Having read Larry Wall's 'Programming Perl' and Tom Christiansen's 'Learning Perl' I was already acquainted with the basic constructs of the language. However as Perl is my first programming language I lacked the skills necessary to write effective reusable programs. 'Elements of Programming with Perl' early on presented the process of program design, and reinforced good design practice through well-organized code examples presented throughout all of the topical chapters. Each chapter builds on & reinforces topics presented in previous chapters. I often found myself reading about a function I had been introduced to elsewhere, and upon following the book's example code finally discovering it's practical potency. As an example, prior to reading this book I had been capable of sorting lists of hostnames by domain only by inefficiently using a regular expression to copy the domain & pre-pend it to the beginning of the hostname. Then using the default 'sort' function followed by a loop to discard the pre-pended domain. Now I can tailor the sort function to serve my needs efficiently replacing that tangle of code with just three lines. The book is well written with few wasted words and unlike most other authors this one understands & makes an effort to teach users of Active State Perl on Windows platforms as well as those using MacPerl. There are no sections or examples exclusive to Unix. It is refreshing to work through and use examples that are not devoted to system administrative tasks. The chapter on module use demonstrates fetching web pages through code that retrieves stock quote and trade volume information and then graphically charts the data. How much more practical & timely can an example be? The author makes himself available online, responds to questions, patiently reviews code and politely makes suggestions. My tool bag now full, my understanding thorough I highly recommend this book.
22 of 23 people found the following review helpful:
5.0 out of 5 stars
As a book it's good. As a tutorial, it's the best!,
By Gary M. Gordon (Cherry Hill, New Jersey, USA) - See all my reviews
This review is from: Elements of Programming with Perl (Paperback)
Let me explain ...I have no programming background other than the fact that I've picked up and tried reading several books on the subject of programming in Perl. (I do know HTML and I am a website developer. I just thought I would tell you this so you would realize where I might be coming from.) I have purchased most of the books on the market that relate to getting started as a new programmer using Perl. Everything from 'Learn Perl in 24 Hours' .. to the Camel books (which are great for refenece purposes), etc. And if you've tried them, and felt frustrated, let me explain what made this book different for me. First of all, this book is not written 'perfectly' clear. But then ... I haven't found one that is. But, what makes this book special is the offer and accessibility of the AUTHOR to each of the readers who purchase the book. The author, Andrew Johnson, is everything you could want in a teacher and coach. With that being said, ... learning to program is not easy. (So, expect to work hard, read a lot, and practice writing code.) And, if you had your preference, you'd probably rather be in a classroom where you could ask questions of your teacher everytime you didn't understand something that was going on. THAT IS WHAT MAKES THIS BOOK (or should I say TUTORIAL SYSTEM for learning Perl) THE BEST! Andrew Johnson acts like your teacher and personal coach. He does an excellent job of laying out the information in the book ... as if you were in a classroom. Then, as you read through each chapter ... you will (and let me repeat ... YOU WILL) have questions. I must say, I go to his online forum often, where I can ask anything I want (relating to the book) that I have a question on. And the answers I get back from him are not quick 'tidbits'. His answers are extremely helpful and written in plain english. JUST LIKE A GOOD TEACHER SHOULD BE! I can't recommend the book ... AND HIS ASSISTANCE enough! It is absolutely the 'BEST' manner in which to learn PROGRAMMING WITH PERL - from the ground level up! For about $35 ... you get the book and a TEACHER/COACH to ask questions of. What more could you want? I am already on chapter 5 and getting more out of this book than all the others I read combined. Good luck, Gary M. Gordon Certified Web Developer webmaster@garymgordon.com
16 of 17 people found the following review helpful:
4.0 out of 5 stars
Excellent reading,
By PHO (USA) - See all my reviews
This review is from: Elements of Programming with Perl (Paperback)
I am pleased to recommend this book. As another reviewer wrote, I have also read Learning Perl and looked through Programming Perl, but while I was able to learn a fair amount from them, I kept feeling a bit lost when it came to things like how exactly do I use regexes and the types of data structures etc. I took a programming course in Pascal and Fortran too long ago (21 years), I think. At any rate, this book helped me feel a lot more confident with Perl - how to use CPAN, the abundant Perl documentation etc. I don't think that it would be the best book for a first-time programmer without an instructor, but if you have the stamina and perserverance to learn on your own, then this book is a must. Further, the book reads well. In addition, all errata in the first edition can be found at the publishers website, and are generally minor corrections.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|