By mantrid
via defmacro.org
Published: Feb 14 2008 / 08:48
Fine article explaining advantages and main concepts of Functional Programming. Explains higher-order-functions, currying, continuations and closures by making simple analogies to Java snippets. Very basic, but helps to get the idea fast.
SaveShareSend
Tags: java, other languages
Comments
nightwind replied ago:
"Functional languages are extremely expressive. In a functional language one does not need design patterns because the language is likely so high level, you end up programming in concepts that eliminate design patterns all together."
In related news, functional programming will result in the second coming of Christ. Apart from that, "design pattern" doesn't mean "a certain kind of java code". Not even "a certain kind of code in any programming language". It's not even necessarily about computers. It's about defining a common language for solving problems, by categorizing them. The goal is to prevent reinventing the wheel or hacking up substantard solutions to well defined problems. It's stupid to state this has no relevance in the world of functional programming.
Nice article, but prone to the golden hammer fallacy. Functional Programming is the best thing on earth and better than everything else. Always. Yeah, right. Can we please have someone with a large enterprise project written by a team of 10+ people in pure functional language, please? I'm tired of the "fibonacci" and "i+j" examples.
daniel replied ago:
I'm not one to tote the golden hammer myself, so I have to admit that I tend to think that a *pure* functional language is too constraining. However, there certainly are examples of real-world apps written in pure-functional languages. Erlang is used almost exclusively on the enterprise, particularly with telcos which require literally 100% up time and insane modularity. You don't get more "enterprisy" than that. :-)
Ricky Clarkson replied ago:
Can either of you experts tell me what the smallest thing is that pure functional programming is not good for?
Voters For This Link (18)
Voters Against This Link (0)