A couple of thoughts on functional programming in general and on F# and Erlang in particular
Erlang - is it worth it?
I read
Armstrong's Erlang thesis
and other Erlang related material with great interest. After all Erlang
claims some very compelling architectural benefits in the areas of
scalability and availability. However one thing that prevents me from
digging too deep into it is the utter ugliness of the language vs. for
example,
ruby which is very compelling.
i also tend to
agree with Otaku that at least today you can achieve this tauted resilience with other languages as well.
On the other hand we start to see some really interesting things built on Erlang like
RabbitMQ which is an AMQP implementation (
AMQP - The Advanced Message Queue Protocol),
MNesia persistence engine .
Yaws web server etc. (you can see
here one guy that even likes Yaws + MNesia better than Ruby + Rails)
Well, I am still on the fence for this one, but I guess I will take a deeper look at Erlang eventually..
By the way, while other functional languages also have irritating syntax (e.g. Scheme ) - some look more intereseting (like
F# or
OCaml)
which brings me to the next tidbit...
Functional Languages moving mainstream.
Functional programming is an old paradigm (see for example this paper from 1984
"Why Functional Programming Matters" explaining the advantages of functional programming over structured programming..).
For
a decade or even more and even today the object oriented paradigm has
ruled the software development world. In a way, and as part of the end
of the "one size fits all" paradigm (I also mentioned this trend
here)
we also see more pluralism for languages so we get more dynamic
languages vs. static typed one and we find a place for functional
languages and not just object oriented ones. (I'll expand more on that
in another post).
Anyway, Yesterday
S. Somasegar (MS VP of DevDiv)
announced on his blog that F# will be "productized" :
"We
will be partnering with Don Syme and others in Microsoft Research to
fully integrate the F# language into Visual Studio and continue
innovating and evolving F#. In my mind, F# is another first-class
programming language on the CLR. "
Microsoft is of
course not the center of the universe, but when a company like Microsoft chooses to
bring something closer to main stream it is a significant move which,
in my opinion, shows that functional programming is getting more
traction.