Even as some argue exactly what it is, functional programming keeps attracting developers. And three of the most popular functional languages -- Clojure, F#, and Scala -- are on tap for improvements.
Functional programming has a core appeal for some developers, says Scala founder Martin Odersky: "The programmers in that segment like functional programming because it makes code clearer, better structured, and it prevents many classes of errors." But some argue that functional programming leads to less-efficient software.
Functional programming also requires thinking about programming in a new way, says David Stephens, Microsoft's program manager for .Net and a spokesman for F#. Abstractions can be an issue: "When you make code more abstract, when you're moving further away from manipulating bits and explicitly going through loops, it can take more time to understand these abstractions."