FunctionalLanguage

Wikipedia has a good article on this subject.


Aha! - found the Essence (see the wikipedia article references)

The special characteristics and advantages of functional programming are
often summed up more or less as follows. Functional programs contain no
assignment statements, so variables, once given a value, never change. More
generally, functional programs contain no side-effects at all. A function call can
have no effect other than to compute its result. This eliminates a major source
of bugs, and also makes the order of execution irrelevant - since no side-effect
can change the value of an expression, it can be evaluated at any time. This
relieves the programmer of the burden of prescribing the flow of control. Since
expressions can be evaluated at any time, one can freely replace variables by
their values and vice versa - that is, programs are "referentially transparent".
This freedom helps make functional programs more tractable mathematically
than their conventional counterparts.


...and hence Mule,XQuery,XSLT,multi-core processors,PipesAndFilters, ReST,WOA.
Makes sense, a lot of sense.


  • Erlang is a language worth exploring in this space.
    • Noticed the great book on Programming Languages by Sebesta and went through the discussion on Functional vs. Imperative languages and realized that Concurrency is an important decision driver. The recent interest (as of 2008) in Functional Languages is perhaps driven by the fact that multi-multi-core CPUs might be sitting (literally) on our lap in the coming years. FunctionalLanguage(s) are ready to leverage this powerful capability because they can be graphed, along with the other properties mentioned on this page and hence concurrently executed.

Labels

aha aha Delete
functional functional Delete
programming programming Delete
language language Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.