Newsgroups: comp.lang.functional,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!news.sesqui.net!news-out.internetmci.com!newsfeed.internetmci.com!news.mathworks.com!news.kei.com!news.ece.uc.edu!babbage.ece.uc.edu!news.cs.indiana.edu!jeschke@cs.indiana.edu
From: "Eric Jeschke" <jeschke@cs.indiana.edu>
Subject: Re: Speed of FP languages, laziness, "delays"
Message-ID: <1995Oct24.114456.27640@news.cs.indiana.edu>
Organization: Computer Science, Indiana University
References: <45roal$45a@roar.cs.utexas.edu> <466ug9$2fvu@news-s01.ny.us.ibm.net> <46ckqs$8ej@jive.cs.utexas.edu>
Date: Tue, 24 Oct 1995 11:44:51 -0500 (EST)
Lines: 48
Xref: glinda.oz.cs.cmu.edu comp.lang.functional:6572 comp.lang.scheme:14106

wilson@cs.utexas.edu (Paul Wilson) writes:

[lengthy but good article from comp.lang.functional deleted]

:   5. It's a little of each of these.  

:      Pessimistic version:  using and compiling functional programming
:      languages (for efficiency) is just too hard, and functional code
:      will always be behind the curve performance-wise, because the
:      software engineering (of the code and especially of the compilers
:      is enormously difficult.

:      Optimistic version:  good progress is being made on all of these
:      fronts and good performance will come in due course.

:Anybody have well-worked out views about this, or failing that, some
:reasonable intuitions based on some knowledge and experience?  Where
:will the big wins be from here?  How long will it take?

I believe #5 is a valid characterization.  My personal take is that
FP will always lag IP in the general case, but that is no cause for
passimism.  Interest in Very High Level Languages (e.g. Perl, tcl, Lisp,
Scheme, Smalltalk, Java, etc. etc.) is probably at an all-time high and
many people are using them despite performance that lags conventional
imperative languages such as C.   Functional languages offer features
(such as automated process management, laziness, program transformation,
etc.) that I think will eventually appeal to the general programming
community *for certain classes of problems* the way automated storage
management and other high-level features do for "mainstream" VHLLs now.
Performance of FP languages continues to improve, and faster hardware
continually brings acceptable performance to entire classes of VHLL
applications.

A side note about the laziness issue: I tend to think that it is
underappreciated, especially with regard to the expressiveness that it
lends to programs, by the general programming populace.  I don't think
you can fully appreciate its nuances until you have programmed one or
more large applications in a lazy language.  The pedagogical examples
presented in most programming courses (e.g. streams) give only the
faintest glimmer of the possibilities, and even then the explicit
manipulation required negates much of these programming benefits.
Current popular VHLLs owe much of their popularity due to the fact that
there is not as great a conceptual leap between programming imperative
styles in different languages.

-- 
Eric Jeschke                      |          Indiana University
jeschke@cs.indiana.edu            |     Computer Science Department
