Programming in the Next Decade: I

A lot has been said recently about Moore's Law, processor speed and the drive to write more parallelisable code. Now everyone and his grandma is talking about functional languages like Lisp, Ruby and OCaml since they are inherently more parallelisable: avoiding state and side-effects by forcing more hierarchical program flow and the use of immutable local data.

The above listed languages are not purely functional, though; each of them permits imperative programming style and the creation of stateful variables and it is features like these that make languages like Ruby, OCaml and Lisp more accessible to imperative commercial developers. Will we be able to shed these procedural sweeteners come the glorious day? If not, our code will just as thread-hazardous as it always was and our locks forever dead.

I am pretty excited about C# 3.0, though, with it's groovy lambda expressions (anonymous functions) and closures.


Popular Posts