Of what use is 'lambda'???

Andrew Kuchling akuchlin at mems-exchange.org
Wed Sep 27 20:11:18 CEST 2000


ge at nowhere.none (Grant Edwards) writes:
> The problem is that for real world applications, many things
> are by definition not functional.  You can shove them off into
> the corner and draw lines to separate the functional and
> non-functional parts of your system, but the real, physical
> world is basically non-functional.

This is an interesting question: why *hasn't* functional programming
caught on more?  Is it because:

1) Programmers are conservative, and functional programming is just
too different to be accepted. (Python isn't terribly novel as
imperative languages go, yet notice how much resistance there is to
the syntactic feature of whitespace.  Imagine if Python also
discouraged assignment, as functional languages do.)

2) Functional languages require too much mathematical sophistication 
to learn.

3) Functional languages aren't too difficult to learn, but the
textbooks all suck and frighten people away.

4) Functional languages aren't too difficult to learn and there are
some reasonably good books, but they all explain how to compute
Fibonacci sequences and Ackermann functions, not how to process
a database or some task more suited to our day jobs.

5) Our OSes are all highly non-functional, and functional languages
are hopelessly second-class citizens on such OSes.  (In other words,
an OS that was designed in functional style from the ground up would
make it easy to do real work in functional languages, but
Windows/Unix/MacOS aren't designed functionally.)

6) The real world is non-functional, and functional programming will
never be able to model it fairly naturally.

My votes are for 1, 2, a bit of 3.  6 is an interesting issue, but I
don't think I understand functional programming well enough to have an
opinion.

--amk





More information about the Python-list mailing list