I think that, second only in importance to the Perl Black Book (which was essential to me when I was just starting to get serious in Perl), this book Higher Order Perl will influence my future direction in programming Perl. It is prompting me to turn 90 degrees from my usual ways of doing things.
This functional programming business really has stuff going for it. It's neat and ultra squeaky clean. I expect to make even more use of FP come Perl6 as development there is being pushed ahead using Haskel, which is purely FP, if I read the docs correctly. At least that is gist I am getting so far.
I actually had some exposure before, all unbeknownst. I didn't have a clue at the time, three years ago, when I got into XSLT, that it was this functional programming thing I had let myself in for. All I remember thinking was, "What the hell? No variables? Just constants? Whose cruel jest was that?". But being just then downsized and with nothing much else to do, I set about learning XSLT so as to lessen my HTML-coding burden. All those how-to pages to update. What a chore.... XSLT was the answer to lightening that burden. And what do you know but that there really was a lot that I could do without a single changeable variable. I just kind of got used to it because with XSLT there was not any alternative except to do without changeable variables. All this while I had no clue that it was an acutal paradigm. It went over my head as just another programming buzzword until there arrived my copy of HOP.
HOP is now my favorite Perl book. I'm only into the third chapter and already it has paid for itself twice over. I had the book hardly a week before I was calling up recent Perl code, yanking out ugly if-elsif-else structures and replacing them with nice, compact dispatch tables.
How this started was that, figuring to expand my coding horizons, I'd looked briefly at Haskel...but only on account of the Perl6 connection. It looked vaguely familar, sorta-kinda, paradigm-wise...but it just didn't grab me. And there was no mention of a GUI that I could find. So I set that aside. Then followed a dreary flirtation with pragmatism which setteled me upon C++. I'd bought half a dozen thick books on it and even installed several compilers on the Win32 (Yes, indeed..."Ewwwww!" But they always seem to have those, don't they?) laptop from work. And while I was browsing for yet another C++ tome, I chanced across HOP, and got that one too, just on a whim. Since its arrival those C++ volumes have started collecting dust. I'll get back to them...eventually...maybe...well, just maybe.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||