Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

•Re^5: A mini-language for sequences (part 1)

by merlyn (Sage)
on Nov 08, 2004 at 13:17 UTC ( [id://406037]=note: print w/replies, xml ) Need Help??


in reply to Re^4: A mini-language for sequences (part 1)
in thread A mini-language for sequences (part 1)

I hope you can appreciate my skepticism when I respond to:
FP languages let you manipulate pieces of programming logic as easily as most languages let you manipulate data. As a result, it is easy to create FP programs that morph their shape to match the structure of the problems they solve. Thus the straightforward FP solution is often general enough to scale from the simplest to the most complex problems within a wide spectrum of related problems.
with the simple phrase "you have drank from the FP Koolaide".

Fortran solved everything. Then Pascal solved everything. Then Smalltalk solved everything. Then Prolog solved everything. Now you're saying FP solves everything.

Sure.

Having been around the block a few times, lemme say that I can certainly see FP being useful as yet another approach to a problem. But your unrelentless praise for the latest new thing should be taken in context of the history of discovering just another interesting programming technique.

FP will be good for some problems, horrible for others. Just like every other style discovered before it. Understand that, and you'll understand why everyone's not jumping on your bandwagon.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

Replies are listed 'Best First'.
Re^6: A mini-language for sequences (part 1)
by tmoertel (Chaplain) on Nov 08, 2004 at 17:53 UTC
    (Updated Mon Nov 8 14:36 EST 2004: Clarified wording.)

    Randal,

    Thanks for jumping into the conversation. Your viewpoint is always welcome.

    I am concerned, however, that you have quoted my most flowery praise for FP and used it to dismiss much of my views as mere Koolaide visions without giving the whole of my views due consideration.

    To be clear, I never claimed that FP was the solution for "everything" or that it was the one, true way. If you genuinely believe that this was my claim, I am sorry for not having presented my beliefs more clearly.

    Let me take the opportunity to do that now:

    1. FP is not a panacea.
    2. FP is another tool for the toolbox (but a very powerful one).
    3. FP, like all tools, reduces the cost of some things; increases the cost of others.
    4. Modern FP languages (like Haskell) are not your grandfather's FP language. If you haven't looked at FP in the last 5 years, look again.
    5. Modern FP languages have reduced the cost of function manipulation to the point where small-scale reuse becomes practical.
    6. Small-scale reuse provides significant cost reductions.
    7. Much like Perl, modern FP languages require a serious investment of time before they become understood (and appreciated).
    8. Most people who dismiss FP haven't spent much time writing code in modern FP languages.

    Regarding the following:

    Having been around the block a few times, lemme say that I can certainly see FP being useful as yet another approach to a problem. But your unrelentless praise for the latest new thing should be taken in context of the history of discovering just another interesting programming technique.
    Having also been around the block a few times, let me say that my appreciation of FP comes not from having been smitten by the latest new thing but rather from the investment of much time and effort. Since the late 1980s I have been coding in and evaluating FP languages alongside the more common languages such as C, C++, and Perl that I use to earn a living in industry. However, it is only recently that I have watched FP flower and come into its own.

    While most of industry has turned its back on FP, having long ago made up its mind, the academic world has been working. Steady, slow, and ceaseless, they have been working. And they have made much progress. Please don't dismiss that progress without due consideration. If you haven't spent serious time coding in a modern FP language lately, please consider the possibility that you're drawing conclusions from outdated first-hand knowledge.

    FP will be good for some problems, horrible for others. Just like every other style discovered before it. Understand that, and you'll understand why everyone's not jumping on your bandwagon.

    To help me put this comment in perspective, how much coding have you done in modern FP languages lately?

    The reason I ask is because if a man came up to me and summed up Perl by saying that Perl was good for some problems, horrible for others, just like every other language discovered before it, and that's why not everybody is jumping on the Perl bandwagon, I would want to know how much he had used Perl. It's not that I disagree with his statement, which is clearly true for just about everything, but that I don't find the statement as useful as knowing why some people are on the bandwagon. I would want to know whether the man could tell me. I would want to know whether the man understood Perl's strengths and weaknesses and could provide useful information that would help me make sensible choices about when to use Perl.

    Cheers,
    Tom

      You may want to rephrase your point #7, as it can be taken two very different ways:

      7. Much like Perl, modern FP languages require a serious investment of time before they become understood (and appreciated).
      or
      7. Modern FP languages, such as Perl, require a serious investment of time before they become understood (and appreciated).
      I would assume you mean the former, but it's best to be clear.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://406037]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-03-29 11:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found