Slashdot Mirror


Higher-Order Perl Available For Free Download

Christopher Cashell writes "As noted on Perlbuzz, Mark Jason Dominus's amazing book, Higher-Order Perl, is now available for free download. This is a great book that goes way beyond your normal programming reference. This will change the way you look at programs, and make you a better programmer in any language. It sits on that special shelf reserved for books like Structure and Interpretation of Computer Programs, The C Programming Language, and The Practice of Programming."

37 of 68 comments (clear)

  1. amazing by gizmo_mathboy · · Score: 4, Interesting

    It is truly awesome that mjd is making this available for free.

    It's still worth buying the dead tree version, though.

    1. Re:amazing by Basilius · · Score: 2, Insightful

      Particularly since the links on the site go to Powell's.

      Powell's is freaking cool. And independent, if you care about such things. (And, for that matter, even if you don't.

    2. Re:amazing by acon1modm · · Score: 1

      what a strange mod to get 'troll' on that...

  2. How *do* they do that? by tomhudson · · Score: 1, Insightful

    Higher-Order Perl, is now available for free download. This is a great book that goes way beyond your normal programming reference. This will change the way you look at programs, and make you a better programmer in any language. It sits on that special shelf reserved for books like Structure and Interpretation of Computer Programs, The C Programming Language, and The Practice of Programming."

    Funny, I would have thought it sat on a hard drive or a usb key or something ...

    "You have downloads on my bookshelf!"
    "You have bookshelves on my downloads!"

    Nope, sorry -unlike peanut butter and chocolate, downloads don't mix with bookshelves.

    1. Re:How *do* they do that? by dfay · · Score: 2, Funny

      Nope, sorry -unlike peanut butter and chocolate, downloads don't mix with bookshelves.

      Interestingly, they can both be measured in the same units. (meaning Libraries of Congress, of course.)

    2. Re:How *do* they do that? by cromar · · Score: 1
      Sir or madam, I would like to introduce you to the concept of metaphor :)

      metaphor (noun) - a figure of speech in which a word or phrase is applied to an object or action to which it is not literally applicable / a thing regarded as representative or symbolic of something else, esp. something abstract. The Oxford American Dictionary

    3. Re:How *do* they do that? by danieltdp · · Score: 1

      There is a print version too! And even if it didn't, you can burn a cd with the book and place it a the shelf!

      --
      -- dnl
    4. Re:How *do* they do that? by tlhIngan · · Score: 2, Funny

      Funny, I would have thought it sat on a hard drive or a usb key or something ...

      "You have downloads on my bookshelf!"
      "You have bookshelves on my downloads!"

      Nope, sorry -unlike peanut butter and chocolate, downloads don't mix with bookshelves.

      Thankfully, there are many devices in this nice modern day and age that can convert downloads into books, and likewise, there are devices that can take books and turn them into downloads. I think someone created a whole movement around the former device when he couldn't get it to work "properly", and a large company got sued when they did the latter, even though they made it very difficult to get whole books that way.

  3. Re:The origin of PERL by speculatrix · · Score: 4, Funny

    a good programmer can write a script which does the same thing whether run in perl or executed as sendmail.cf

  4. Re:the practice of by xPhoenix · · Score: 1

    You didn't RTFB, did you?

  5. Re:The origin of PERL by condition-label-red · · Score: 2, Insightful

    ...and both are equally readable!

    --
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  6. Re:omg by A+Pressbutton · · Score: 1

    No, shurely vi?

  7. Lorrie by Anonymous Coward · · Score: 1, Funny

    He dedicated his book to a truck?

  8. Astounding coincidences by DanTheLewis · · Score: 1

    I just got this book from the library for the first time two weeks ago. I'm pleased that I will only have to have checked it out once.

    Kudos and thanks, mjd.

    --

    Q: What did the comedian say to the crowd?
    A: If I knew, this joke would be funny.
  9. COBOL Zombies by cjfs · · Score: 2, Funny

    He's just welcoming our new Zombie Overlords

    .

  10. Higher Order Perl by russlar · · Score: 2, Funny

    All programs written in higher-order perl start with the following line:
    #!/usr/bong/perl

    --
    Anybody want my mod points?
  11. Re:SICP by Anonymous Coward · · Score: 2, Insightful

    If you can tell me why Perl is so popular, I think I can answer your question. It seems pretty clear that there is a large intersection between "people who love Perl" and "people who never had exposure to functional programming".

  12. Perl Jobs by theredshoes · · Score: 2, Informative

    Thank you for the link, I am downloading the book and I will probably pour over it on my Christmas break. I don't think Perl is dead, there are jobs in my city with some high profile companies that need Perl developers. Just my two cents. I am not sure about other cities though.

    1. Re:Perl Jobs by Wee · · Score: 3, Informative

      Perl has, in some small way, kept me continuously employed for the last 14 years. It's really pretty surprising the utility and longevity it has.

      -B

      --

      Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

    2. Re:Perl Jobs by jonadab · · Score: 3, Insightful

      Perl is also very useful in a lot of jobs that don't list "Perl" specifically in the job description. I don't know how a network administrator could survive without it, for instance. You'd constantly find yourself spending hours to do a ten-minute job.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    3. Re:Perl Jobs by Haeleth · · Score: 3, Insightful

      Python isn't a very good language for quick-and-dirty scripting, and it's often not installed at all by default. It's a pretty good general-purpose programming language, but that's a different matter entirely. Perl, in comparison, is ubiquitous on pretty much all Unix-like platforms, and is well adapted for things like one-off one-liners.

      More relevantly to this thread, Perl is a better language for FP than Python is. Perl has full support for anonymous closures (Python's lambdas are very weak by comparison), and Perl has proper predictable lexical scoping (Python's scoping rules are rather strange). This all reflects the different design goals of the languages. Python is built on the principle that there should be only one way to achieve any goal -- and in practice that's usually objects. Perl is built on the principle that the programmer should have loads of options to choose from -- and hence it supports several programming paradigms equally well.

  13. Re:SICP by Frothy+Walrus · · Score: 1

    It's interesting you mention FP. One of the most interesting parts of Higher Order Perl, in my opinion, is the parser generator Dominus builds up. In response to an email about it, Dominus told me he'd adapted it from Structured ML for the Working Programmer.

  14. too late by museumpeace · · Score: 2, Funny

    I bought the book quite a while back. And I wouldn't expect them to publish it with the title it should have: how to write perl so well you look like you are using python.

    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
    1. Re:too late by danieltdp · · Score: 1

      That's easy: your rewrite python interpreter and continue from there.

      --
      -- dnl
  15. Ah! Their deception is obvious! by pushing-robot · · Score: 1

    They give the book away for free, but neglect to mention the metaphorical bookshelf you need to sit it on?

    A clever ruse, and the fools almost got away with it. But they failed to realize that Slashdot has a Sicilian in it's ranks!

    --
    How can I believe you when you tell me what I don't want to hear?
  16. Re:Ah! Their deception is obvious! by sumdumass · · Score: 1

    Actually, they sell the book in the dead tree form that would sit on the book shelf.

    This story is about them giving that book away free of charge in electronic form.

  17. FP without the syntax hurdle by bcrowell · · Score: 1

    I run a web site that catalogs free books and accepts user-submitted reviews (see my sig). Reviews of this book would be welcome.

    I read a couple of chapters online, and it seemed pretty cool. I'm interested in learning FP techniques, and it was really nice to be able to learn about techniques like memoization in the context of a language whose syntax I already know. I can glance through the code examples and say, "Aha, I get it!" instead of laboriously poring over code listings in lisp or haskell and saying, after 15 minutes of study, "Okay, I know what the first eleven characters on line 1 do."

    I also liked the opportunity to see some of the nontrivial things that happen when you apply FP techniques to a language that isn't a pure FP language. E.g., I already knew that FP techniques focused on functions without side-effects, but I hadn't realized that the same applied to functions that return references. He also has some interesting examples of how OO and FP go together, common pitfalls of combining them, etc.

    1. Re:FP without the syntax hurdle by jim3e8 · · Score: 1

      First of all, Perl is the ultimate syntax hurdle, and I say this as a fan of Perl.

      Second, if you're interested in functional programming, don't shy away from the languages you mention. Neither Common Lisp nor Scheme is particularly difficult (especially Scheme, whose syntax is almost nonexistent) and neither is purely functional.

      Finally, read SICP.

    2. Re:FP without the syntax hurdle by bcrowell · · Score: 1

      First of all, Perl is the ultimate syntax hurdle, and I say this as a fan of Perl.

      If you speak Greek, English is the ultimate syntax hurdle. And vice versa if you speak English.

    3. Re:FP without the syntax hurdle by jbolden · · Score: 1

      Higher Order Perl is a great way to wet the appetite for FP and learn a few of the major ideas. But it seems like your appetite is already wet you have been just trying books / lessons that are too hard. An easy Haskell book is Thompson's and you can get the first edition cheap. Thompson will work you through the basic syntax enough to do one of the good books.

  18. Re:omg by A+nonymous+Coward · · Score: 1

    Don't call me Shirley!

  19. Re:SICP by Raenex · · Score: 1

    It's interesting you mention FP.

    Yes, what a strange coincidence that functional programming has something to do with "higher order".

  20. Books still on my shelf... by gluefish · · Score: 1

    Yeah but "Nailing Jelly To A Tree" is still on my highest bookshelf.

    --
    I'd rather have a free bottle in front of me than a prefrontal lobotomy.
  21. Re:Ah! Their deception is obvious! by stjobe · · Score: 1

    they failed to realize that Slashdot has a Sicilian in it's ranks!

    And you never go in against a Sicilian when death is on the line! That's almost as big a blunder as getting involved in a land war in Asia!

    --
    "Total destruction the only solution" - Bob Marley
  22. Re:SICP by jonadab · · Score: 1

    Actually, I tried to learn functional programming techniques with Emacs lisp and again with Scheme, and I never really understood what was going on. Then someone on Perlmonks explained how lexical closures work, and it just made *sense*.

    I also never understood continuations in Scheme, and then someone on a Perl mailing list explained them (in the context of Perl6, which, granted, is still not ready five years later) and, again, it actually made sense.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  23. wiki? by gbjbaanb · · Score: 2

    From TFA:

    You may remember I wanted to turn the book into a wiki. That would have been awesome. But the book's fourth anniversary is coming up this spring and I have to admit to myself that I'm not gonna get the wiki together. So I'm posting the thing already.

    So, perhaps if he put a bare wiki up, everyone could c&p a page at a time?

  24. Re:First post!!! by Hercynium · · Score: 1

    Well, it took longer than I expected, but looks like there was at least *one* knee-jerk moderator out there! :D

    Anybody else who comes along, mod parent up! I shouldn't have to explain why, if you - you know - like *read* the summary...

    --
    I'm done with sigs. Sigs are lame.