×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Higher-Order Perl Available For Free Download

kdawson posted more than 5 years ago | from the virtual-special-shelf dept.

Perl 68

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."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

68 comments

The origin of PERL (0, Funny)

Anonymous Coward | more than 5 years ago | (#26053653)

There's been
.0 an explosion
/|\ at the ASCII
.| factory!!!!
/|\

amazing (4, Interesting)

gizmo_mathboy (43426) | more than 5 years ago | (#26053685)

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

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

Re:amazing (0)

Anonymous Coward | more than 5 years ago | (#26054067)

You insensitive bastard!

Re:amazing (2, Insightful)

Basilius (184226) | more than 5 years ago | (#26054861)

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.

Re:amazing (0, Troll)

acon1modm (1009947) | more than 5 years ago | (#26055045)

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

No, its not. Maybe if you want to contribute to the author it is. Otherwise, electronic text is 100x better than paper b/c of text searching. Books are obsolete, antiques even. Flipping to the back of the book for an index, then back to a references page number, then scanning the page? for the birds, I say

Don't worry... (0)

Anonymous Coward | more than 5 years ago | (#26053693)

No one will be getting the pdf of the book anytime soon anyways, the site will be /.'d in...

5...

4...

3... ...

oh wait, yep, there it goes...

How *do* they do that? (1, Insightful)

tomhudson (43916) | more than 5 years ago | (#26053701)

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.

Re:How *do* they do that? (0)

Anonymous Coward | more than 5 years ago | (#26053731)

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

Speak for yourself. I actually built out one of the shelves on the bookshelves that surround my bedroom into a little monitor desk. My computer, and everything I've downloaded onto it, sits on a bookshelf.

Re:How *do* they do that? (0)

Anonymous Coward | more than 5 years ago | (#26054103)

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

I was wondering why my last reese's tasted a little off.

Re:How *do* they do that? (2, Funny)

dfay (75405) | more than 5 years ago | (#26054113)

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.)

Re:How *do* they do that? (1)

cromar (1103585) | more than 5 years ago | (#26054351)

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

Ah! Their deception is obvious! (1)

pushing-robot (1037830) | more than 5 years ago | (#26054647)

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!

Re:Ah! Their deception is obvious! (1)

sumdumass (711423) | more than 5 years ago | (#26054853)

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.

Re:Ah! Their deception is obvious! (1)

stjobe (78285) | more than 5 years ago | (#26057093)

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!

Re:Ah! Their deception is obvious! (0)

Anonymous Coward | more than 5 years ago | (#26058671)

That was funnier 10 years ago.

Re:How *do* they do that? (1)

danieltdp (1287734) | more than 5 years ago | (#26058315)

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!

Re:How *do* they do that? (2, Funny)

tlhIngan (30335) | more than 5 years ago | (#26060905)

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.

Change you can believe in... (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#26053773)

Re:Change you can believe in... (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#26054149)

seriously! "Hope and change"? You can hope for change, but you ain't getting it!

Nobody has accused or suggested Our Lord-Elect and Savior did anything wrong, but his first reaction was to deny any connection whatsoever with blogojackoff. Two weeks ago, your senior advisor mentioned a phone call with him? He misspoke. You endorsed him in 2002 and 2006? Must have been an aide filling out the wrong form on some paperwork. Your chief of staff called you his top strategist in 2002? Nope, he's since changed his recollection, facts be damned.

There was a saying about Bill Clinton -- he'd climb backwards up a prickly tree to tell a lie when he could tell the truth lying down. Seems like that might apply to Saint Barry H. Obama as well.

Re:Change you can believe in... (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#26054341)

Blagojevich was mad at Obama for not giving him anything for the Senate seat, you moron. Maybe you should focus your efforts on getting Republican crooks like Sen. Ted Stevens (AK) out of jail. Or just hang out in the bathroom stall with Larry Craig, you cock-smoking teabagger.

Thanks! (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#26053883)

I just want to say one thing to the author of this:

Thanks!

Lorrie (1, Funny)

Anonymous Coward | more than 5 years ago | (#26053919)

He dedicated his book to a truck?

Astounding coincidences (1)

DanTheLewis (742271) | more than 5 years ago | (#26054029)

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.

I wish to lodge a complaint (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26054049)

I wish to lodge a complaint: It has been nearly 24 hours without a NYCL post.

I NEED those posts, so that I can feel good about illegally downloading my entertainment: The RIAA/MPAA, aka teh MAFIAA, are evil, and I know that I am fighting them by not paying them.

But, when a real lawyer like NYCL submits articles about them? Well, then I am CERTAIN that I am doing the right thing, especially when I read about that poor, dead Grandmother with cancer they sued. She never even owned a computer, I heard, and she was only 19 years old.

We're with you, NYCL! Those greedy bastards won't get a penny from us!

Please, Slashdot, make a NYCL category? He deserves it, for inspiring us to fight against The Man.

SICP (0)

Anonymous Coward | more than 5 years ago | (#26054273)

If it's sitting next to Structure and Interpretation of Computer Programs, then it's never going to be used or read (at least, not by me). Can anyone tell me why the book is so popular?

Re:SICP (2, Insightful)

Anonymous Coward | more than 5 years ago | (#26054571)

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".

Re:SICP (1)

Frothy Walrus (534163) | more than 5 years ago | (#26054611)

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.

Re:SICP (1)

Raenex (947668) | more than 5 years ago | (#26056615)

It's interesting you mention FP.

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

Re:SICP (1)

jonadab (583620) | more than 5 years ago | (#26060067)

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.

Re:SICP (0)

Anonymous Coward | more than 5 years ago | (#26063373)

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

Higher Order Perl (2, Funny)

russlar (1122455) | more than 5 years ago | (#26054321)

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

Re:Higher Order Perl (0)

Anonymous Coward | more than 5 years ago | (#26055951)

you mean /ussr/bong/perl
(since in Soviet Russia, sores open YOU!)

Pretty funny (0)

Anonymous Coward | more than 5 years ago | (#26087501)

Cough, cough. What were we talking about?!

Perl Jobs (2, Informative)

theredshoes (1308621) | more than 5 years ago | (#26054577)

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.

Re:Perl Jobs (3, Informative)

Wee (17189) | more than 5 years ago | (#26054805)

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

Re:Perl Jobs (0)

Anonymous Coward | more than 5 years ago | (#26055027)

I am coming out of school and I really need to think about my IT career and figure out what kind of arena I want to try and work in, there are several auction corps where I live that are hiring for Perl. I really don't want to work in software support anymore. Thanks for the encouraging words on Perl being around for awhile.

Re:Perl Jobs (0)

Anonymous Coward | more than 5 years ago | (#26055197)

+1 funny. You'll be in support/maintenance forever if you become a Perl programmer.

Re:Perl Jobs (0)

Anonymous Coward | more than 5 years ago | (#26061717)

it's good job security! like being the one old fogie that can maintain that old mainframe in the corner that runs the most critical billing or payroll systems.

Re:Perl Jobs (3, Insightful)

jonadab (583620) | more than 5 years ago | (#26060703)

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.

Re:Perl Jobs (0)

Anonymous Coward | more than 5 years ago | (#26065037)

"Perl [...] I don't know how a network administrator could survive without it"

Python.

Re:Perl Jobs (3, Insightful)

Haeleth (414428) | more than 5 years ago | (#26066665)

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.

Re:Perl Jobs (0)

Anonymous Coward | more than 5 years ago | (#26060825)

I am downloading the book and I will probably pour over it on my Christmas break.

I'm not trying to being pedantic, I just thought it might be useful to know that in the sense you are using it, the word is pore, not pour.

Re:Perl Jobs (0)

Anonymous Coward | more than 5 years ago | (#26066363)

Pour what over it? "Pore". Sorry, couldn't resist. At least you didn't say "take a peak".

too late (2, Funny)

museumpeace (735109) | more than 5 years ago | (#26054625)

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.

Re:too late (0)

Anonymous Coward | more than 5 years ago | (#26057307)

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.

You know, word on the street has it that How to Write C So Well, You Look Like You Are Using Python will be released soon by the same author.

FP without the syntax hurdle (1)

bcrowell (177657) | more than 5 years ago | (#26055247)

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.

Re:FP without the syntax hurdle (1)

jim3e8 (458859) | more than 5 years ago | (#26055411)

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 [mit.edu].

Re:FP without the syntax hurdle (1)

bcrowell (177657) | more than 5 years ago | (#26055663)

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.

Re:FP without the syntax hurdle (0)

Anonymous Coward | more than 5 years ago | (#26055585)

after 15 minutes of study, "Okay, I know what the first eleven characters on line 1 do."

It took you that long to decipher ((((((((((( ??

Re:FP without the syntax hurdle (1)

shivamib (1034310) | more than 5 years ago | (#26055725)

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 [...]

Do not try to bend the syntax; that's impossible.

Instead only try to realize the truth:

Fr0st P1ss!

Re:FP without the syntax hurdle (1)

jbolden (176878) | more than 5 years ago | (#26076909)

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 [amazon.com] cheap. Thompson will work you through the basic syntax enough to do one of the good books.

wiki? (2)

gbjbaanb (229885) | more than 5 years ago | (#26060457)

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?

First post!!! (0, Offtopic)

mjd (12596) | more than 5 years ago | (#26066253)

First post!!!!

Re:First post!!! (1)

Hercynium (237328) | more than 5 years ago | (#26077251)

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...

HELLO MODERATORS - is this legal? (0)

Anonymous Coward | more than 5 years ago | (#26069173)

The PDF has some tags inside:

"Ganesh Rao (Cepha Imaging INDIA).."
and
T:\Inprocess\Elsevier\Dominus\FM.dvi

These correspond 100% to the tags on another PDF copy of this book which I know is suspect (but at least included the front & back covers, etc).

It looks like Ganesh works for the outsourced typesetters for the book, and runs a leaky ship. Price of offshoring the work, so no-cry WROX, you chose to offshore.

Uh good reading I think but (0)

Anonymous Coward | more than 5 years ago | (#26087935)

I am a software developer almost done with my master's degree and books like this are something I'll further educate myself, when I'm finally done. At last I will have the time to read SICP! Sadly, that will likely have little to none impact career-wise, since all that the recruiters in others companies seem to be profiency in three and four letter acronyms: .NET, SOA, FIOC, J2EE and AJAX. I have a rather safe job, but I feel like I'm out of challinging job items already, after only 2 years of professional experience. What should I do?

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...