Friday 11 May 2007

Is future functional?

Paul's article made me write this entry, to challenge my long living inner feelings about the future for functional programming.

It is thanks to Luke Evans, that I got introduced to the world of Lambda. He is the author of CAL Haskell like language, which I had a chance to use to evaluate various ideas. My OOP background has not really prepared me well, for a universe, where function has a privilege of being a first class citizen. So after dealing with STL, being under the influence of Andrei Alexandrescu book about Modern C++ Design and his LOKI C++ library; the only thing that came to mind then, that helped me accommodate functional concepts, was partial template specialization...

Ever since, I touched Haskell like code, I must admit - I have been affected and influenced by its consistency, preciseness and re-usability of constructs. I though that
functional was a real progression of dealing with abstractions and generalization in programming

I am not surprised therefore to see functional concepts popping into existence in other languages like:

I even casted more friendly eye, upon JavaScript, which can be considered functional, as this article nicely shows. Forgive my ignorance, but I am not mentioning here languages like ERLANG , OCAML or Python etc...

So, is future going to look functional?

Some suggestions can be found in this very interesting video lecture by Philip Wadler about "Faith, Evolution, and Programming Languages". , which is made available on Google Tech talks.

Another interesting video discusses "Software Composability and the Future of Languages" and shows recorded conversation of such software gurus like Anders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman.

I wonder if the functional languages will bringing a panacea for hyper-threaded / multi-core CPU architectures as book "Programming Erlang" seems to hint.

Another interesting insights can be drawn from TIOBE's website showing programming community index (no surprises for May - it is Ruby on top).

No comments: