On Wed, Aug 09, 2006 at 11:57:03PM +0900, Francis Cianfrocca wrote: > > I've often been mystified when people talk about Ruby's metaprogramming, > closures, lambdas, etc. as constituting a "functional" programming > style. Your comment is striking because it made me realize that perhaps > many people who learn languages like Scheme are actually trying to apply > the imperative, Turing-style computational model to languages that don't > support them. And that reinforces all the more my intuition that pure FP > is not well-suited for mainstream professional programming. 1. A functional "style" is not the same as a functional "language". The adoption of certain coding techniques that arose in functional languages for use in a language that is more object oriented and imperative in syntax in no way changes the fact that those techniques come from a programming style that arose due in large part to a functional syntax. 2. I agree that *pure* functional programming is not well-suited to mainstream professional computing, but then, neither is *pure* imperative programming. That doesn't change the fact that a whole lot of functional programming syntactic characteristics can be crammed into a language before passing the point of diminishing returns. In fact, I think that something as simple as teaching students to use prefix arithmetic notation in grade school would turn the tables such that functional programming syntax would probably be by far the "most natural" to nascent programmers by quite a wide margin. -- CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] Ben Franklin: "As we enjoy great Advantages from the Inventions of others we should be glad of an Opportunity to serve others by any Invention of ours, and this we should do freely and generously."