Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

(Perl) Programming Books like the Camel Book

by amarquis (Curate)
on Jul 30, 2007 at 14:22 UTC ( [id://629569]=perlquestion: print w/replies, xml ) Need Help??

amarquis has asked for the wisdom of the Perl Monks concerning the following question:

Recently, I noticed that of my programming books only Programming Perl is actually on my computer desk. The majority of my work is done in other languages, but all of those books sit behind me on my writing desk.

Why is it the most useful of my texts? My other books say "Here is a language feature; Here is what it does," or "Here is a problem; Here is how you solve it." The Camel Book says "Here is a language feature; This is why it was made the way it is," or "Here is a problem; Here are several ways to solve it, and ways to think about starting to solve it."

My other books sit behind me because in the "real world" a series of "problem and solution" entries don't often help . The Camel Book has information that I can read and easily generalize to my situation. When I read or re-read it, I feel like I'm always gaining knowledge, some of it not even limited to Perl.

My question is, do you have any other suggestions for me? As far as Perl goes, it and the Cookbook are the only books I currently own. I do a fair amount of work in C, C++, Java, and PHP as well, and consider all the books I have for those languages to be mediocre reference books at best.

What books do you keep within arm's reach?

Replies are listed 'Best First'.
Re: (Perl) Programming Books like the Camel Book
by polypompholyx (Chaplain) on Jul 30, 2007 at 15:31 UTC
    Perl Best Practices by TheDamian has that nice mix of usefulness and readability that Programming Perl has. Both are within arm's reach. The most thumbed book on my desk is Albert's Molecular Biology of the Cell for similar reasons (although obviously for a slightly different problem set).

      I was skeptical at first, because I usually don't like "This is how you should do it" books. I just read the sample chapter at O'Reilly, though, and it looks to be full of good guidelines. I think I'll be picking it up.

      Thanks!

        One of the things I really like about PBP is TheDamian will usually present you with some code and then in an "oh by the way" fashion point out the bug that you probably missed while looking over that code*. It's easy to say if you do X these are the pitfalls but to show a brief, good example of broken code made for a very compelling reason to follow his recommendations. And I actually learned a lot about Perl from that book. It's definitely one of the best Perl books out there.

        (*) He then shows code that follows his recommendation.

        because I usually don't like "This is how you should do it" books.

        this is such a common misconception about PBP. only people who haven't read it say it's a book that tells you how to code. it doesn't. read the foreword. it's important.

        the book's more like "well, very probably this is the way you should do it, because ... if you do it in another way, you are free to do, the important thing is that you thought about it."

      I would second the recommendation for 'Perl Best Practices' as a definite "must read". I too was initially put off by the name, but it's full of great ideas. I learnt more about OO from the recommendations in this book than I did from the Camel and the Cookbook put together.
      I have a copy of PBP. Excellent book. But I wonder, why doesn't he update his rather old OOP book? That one is also nice, but 8 years old and includes nasty things like pseudo-hashes and such...
Re: (Perl) Programming Books like the Camel Book
by monkey_boy (Priest) on Jul 30, 2007 at 15:31 UTC
    If you test your code (or want to start doing so) this book is fantastic, written in a great style that helps you get things done:
    Perl Testing, A Developers notebook


    This is not a Signature...
Re: (Perl) Programming Books like the Camel Book
by Old_Gray_Bear (Bishop) on Jul 30, 2007 at 16:09 UTC
    I keep Perl In A Nutshell on my desk, left-side front. In addition to the Camel, Testing, and Damian on OO I also keep Perl Cookbook in the book shelf over the monitor.

    Actually I have two copies of all five books -- the current copy at work and the older copy a home. You never know when you will need to look something up.... (Note: I am at home today, recovering from a vacation. The ISBN numbers are for the versions I have at hand here, I know that both the Nutshell an Cookbook have newer editions.)

    ----
    I Go Back to Sleep, Now.

    OGB

Re: (Perl) Programming Books like the Camel Book
by dogz007 (Scribe) on Jul 30, 2007 at 16:09 UTC
    The book that follows me wherever I code in Perl is O'Reilly's Perl in a Nutshell, an excellent reference text that's smallish and tells me everything I need to know. The book that I checked out from the library once and I plan to buy so that I can put it under my pillow when I sleep is Higher-Order Perl: Transforming Programs with Programs by Mark Jason Dominus. I can honestly say that it took my Perl code to the next level.
Re: (Perl) Programming Books like the Camel Book
by CountZero (Bishop) on Jul 30, 2007 at 16:10 UTC
    I seem to have entirely given up on paper books now (that is as far as programming books go) and trust either perldoc or the HTML-equivalent in the Activestate package.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

Re: (Perl) Programming Books like the Camel Book
by starX (Chaplain) on Jul 30, 2007 at 17:49 UTC
    Besides Programming Perl, I tend to keep a copy of the K&R (The C Programming Language), because I use C infrequently enough to remember the right syntax for everything, yet frequently enough to need to know. Mostly I try to reserve space for things to help me on whatever project I might be working on at the moment. All of it generally involves either Perl or C, though. Also, a copy of the Aenead, because when things get bad it tends to give me comfort that the first appearance of the hero of the epic has him wishing he was dead.

      Okay, I'll admit I have a couple of comfort books too: whatever Go problem books I'm working through at the time. Taking a moment to do something else when frustrated definitely helps me through trouble spots.

      K&R, though, brings up unpleasant memories of a crabby computer science professor, and is left on the back shelf.

Re: (Perl) Programming Books like the Camel Book
by Joost (Canon) on Jul 30, 2007 at 18:30 UTC
Re: (Perl) Programming Books like the Camel Book
by Argel (Prior) on Jul 30, 2007 at 19:18 UTC
    Some books I have found useful:

    Perl:

    • Perl Best Practices.
    • Effective Perl Programming (a.k.a. the Shiny Ball book).
    • Network Programming with Perl.
    • Mastering Perl/Tk.

    System Administration:

    • Essential System Adminsitration.
    • TCP/IP Network Administration.

    If I did a lot more programming I would pick up "Higher Order Perl" as well. And "Code Complete" and "Rapid Develpment" are good general purpose books.

Re: (Perl) Programming Books like the Camel Book
by menolly (Hermit) on Jul 30, 2007 at 21:50 UTC

    The Perl books I use most are the Camel and the Cookook. Unlike some other monks, I find Perl in a Nutshell all but useless, and wish I had the money back. perldoc is more complete and more up to date.

    When I was doing C++, my favorites were The C++ Primer Plus by Prata and the Schaum's Outline for C++, which had the best section I ever found on strstreams. I haven't done C++ since 2000, though, so I don't know what's good these days.

Re: (Perl) Programming Books like the Camel Book
by FunkyMonk (Chancellor) on Jul 30, 2007 at 23:42 UTC

    I was the opposite to you. (Programming|Learning) Perl did nothing for me. I own both, but have read neither fully. The first book on Perl that I did fully read, several times, is The Perl Cookbook. Absolutely fantastic for people (such as myself) who came to Perl from a Awk/C/Shell background.

    Not books, but there's a huge amount of help available locally in perldoc, either as html, your shell or perldoc.perl.org.

    There's a wealth of information here on Perlmonks. Just look at the Tutorials, or try going back a year or two in Recently Active Threads.

    It's sad, but once-upon-a-time, I would have recommended comp.lang.perl.misc as a fantastic way of learning Perl, but it's not the place it used to be :(

Re: (Perl) Programming Books like the Camel Book
by GrandFather (Saint) on Jul 30, 2007 at 23:45 UTC

    The "Perl Pocket Reference" is the only paper Perl documentation I use. However I always have a browser tab pointing at the "ActivePerl User Guide". Not only does it have all the perldocs, but the documentation for all the modules I have installed too.

    Dunedin, New Zealand is not the best place to be to buy technical books so I don't have a copy of PBP, although the compulsion to buy it is increasing!


    DWIM is Perl's answer to Gödel
Re: (Perl) Programming Books like the Camel Book
by Hercynium (Hermit) on Jul 31, 2007 at 03:41 UTC
    Somehow, the Perl Black Book became my most used and indispensable dead-tree reference. I barely remember, but I think it's what I used to learn Perl. I've since outgrown needing it, but it's worn, coffee-stained pages are still within reach at all times.

    Next on my list is Perl in a Nutshell. Everything in it is available online, but it's still an indispensable reference for the entire Perl core when you're sick of flipping tabs in your browser and searching Google and staring at the screen. Plus, you can highlight it! I bought it as part of the Perl CD Bookshelf - worth every penny if your employer has a nice laser printer :)

    Last but not least is Perl Medic. I love this book. Can I say that again? I LOVE this book. It's all about best practices for recussitating ailing perl code written by even the most callous, careless sysadmins and code-manglers. I don't know how best to describe it, but I've read it cover-to-cover more than once and each time I dog-ear more pages and learn new things!

    For C/C++, I heartily recommend C: The Complete Reference It is what is says: a complete, no-nonsense reference to C with all the information you'll ever need, and none you don't, organized with impeccable logic and pragmatism. Herbert Schildt's C++ tome is quite worthwhile as well.
      Somehow, the Perl Black Book became my most used and indispensable dead-tree reference. I barely remember, but I think it's what I used to learn Perl. I've since outgrown needing it, but it's worn, coffee-stained pages are still within reach at all times.

      Whew! I was starting to worry that I might be the only one... I don't use my copy much any more either, but I still find it to be a decent reference when I've either been up too long or away from Perl for too long and can't remember the details of how to do something.

      My most-referenced book lately has been a decade-old copy of HTML: The Definitive Guide. I have a long history of sticking to <ul>s and <table>s for all my web formatting needs, but I've recently started doing more stuff where that's not sufficient.

      Underneath that in the pile are Perl in a Nutshell, Perl Cookbook, Programming Perl, and the aforementioned Perl Black Book.

      For C/C++, I heartily recommend C: The Complete Reference It is what is says: a complete, no-nonsense reference to C with all the information you'll ever need, and none you don't, organized with impeccable logic and pragmatism. Herbert Schildt's C++ tome is quite worthwhile as well.

      Please, please don't recommend Herb's bad books on C. They're written simply, yes. They're also written simply wrong. I refer you to ##c/Freenode's wiki stating why.

      Mind my asking which of Herbert Schildt's C++ books? My C++ library is terrible, including only two reference-type books that I picked up at a library book sale. They are not very good at all.

      Now that I think about it, if I could find a high-quality C++ reference and a best practices guide I'd be pretty happy.

        Sure! The C++ book I refer to is C++: The Complete Reference

        I would not consider either book a 'best practices' book as the code samples are distilled down to the bare essentials necessary to show what a function does... they're references, pure and un-cluttered.
Re: (Perl) Programming Books like the Camel Book
by codeacrobat (Chaplain) on Jul 30, 2007 at 21:40 UTC
    I'd recommend Tim Mahers Minimal Perl, #1 ranking on Amazon. He does a nice job bringing sanity and style to perls one-liners.

    print+qq(\L@{ref\&@}@{'@'x7^'!#2/"!4'})
Re: (Perl) Programming Books like the Camel Book
by pajout (Curate) on Jul 30, 2007 at 21:48 UTC
    Though I did it many times here, I have to recommend Advanced Perl Programming by Sriram Srinivasan. From my point of view, he describes things how they are, explaining rules, not only creating ambiguous examples.

    Everybody is different. For instance, I don't like Programming Perl, but it means nothing for anybody else.

      I think Programming Perl and Advanced Perl Programming serve different purposes.

      Programming Perl explains the language and ideas behind it, while Advanced Perl Programming gives you some ideas on how the language can be used.

      I'd recommend both.

      Tabari
Re: (Perl) Programming Books like the Camel Book
by Spidy (Chaplain) on Jul 31, 2007 at 08:14 UTC
    I always keep the Cookbook nearby - usually if it doesn't have a solution to my problem, it's at least got something close to what I'm looking for, which gives me enough of an idea to figure out how to solve the problem on my own.
Re: (Perl) Programming Books like the Camel Book
by Anonymous Monk on Jul 30, 2007 at 23:08 UTC

    Nothing. Other than occasionally look up the online menu. Some of those people maybe qualified to tell you Perl tricks, but none of them is qualified to talk about computing.

Re: (Perl) Programming Books like the Camel Book
by Aim9b (Monk) on Jul 31, 2007 at 19:37 UTC
    Amarquis, I have more programming experience than Perl, but I am 700+ pages into the 1071 page 3rd edition & here are some thoughts... The book assumes a c/c++/unix background, which I have only student experience. It has an extreeme amount of "forward" referrences. (ie. See blah blah blah in Chapter 31, when I'm reading chapter 6, & 12, & 14, etc.). Beyond this, it's been very helpful, & I've only become MORE determined to gain a perl proficiency. Based on this thread, I plan on tackling the Cookbook & Best Practices next. Thanks, -Bill.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://629569]
Approved by Corion
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2024-03-19 13:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found