Functional programming in Python
Manuel M. T. Chakravarty
chak@cse.unsw.edu.au
Mon, 07 May 2001 15:01:47 +1000
Two quite interesting articles about FP in Python are over
at IBM developerWorks:
http://www-106.ibm.com/developerworks/library/l-prog.html
http://www-106.ibm.com/developerworks/library/l-prog2.html
Two IMHO interesting things to note are the following:
* In Part 1, at the start, there is a bullet list of what
the author regards as FP "features". I found the
following interesting about this list:
- There is no mention of the emphasis placed on strong
typing in many modern functional languages.
- The author makes it sound as if FP can't handle
imperative features, whereas I would say that this is a
problem of the past and wasn't an issue in many FP
languages (Lisp, ML, ...) in the first place.
The opinion of the author is not really suprising, but I
think, it indicates a problem in how FP presents itself
to the rest of the world.
* In Part 2, the author writes at the end:
I have found it much easier to get a grasp of functional
programming in the language Haskell than in Lisp/Scheme
(even though the latter is probably more widely used, if
only in Emacs). Other Python programmers might
similarly have an easier time without quite so many
parentheses and prefix (Polish) operators.
I think, this is interesting, because both Lisp and Python
are dynammically typed. So, I would have expected the
strong type system to be more of a hurdle than Lisp's
syntax (or lack thereof).
Cheers,
Manuel