John McCarthy (Inventor of Lisp) says "PROGRAMMING, you're doing it completely wrong!"
"The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities."
- Edsger Dijkstra

"The problem with object-oriented languages is the implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle."
- Joe Armstrong
"...any new class is itself an island; unusable by any existing code written by anyone, anywhere. So consider throwing the baby out with the bath water."
- Rich Hickey
"Lisp has jokingly been called 'the most intelligent way to misuse a computer'. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts."
- Edsger Dijkstra

Join the renaissance!

There are dozens of functional programming languages, and they can be as different from each other as Ruby and Cobol; however as a family they tend to:
Emphasise the application and composition of functions, over the imperative mutation of state. Consequently functional programs are shorter and easier to reason about.

Prefer pure values over mutable objects. Values never change, so programs using values are safer and easier to reason about.

Treat functions as first-class values, allowing them to be passed as arguments and returned from functions. Higher order functions such as these enable powerful new abstractions.
Focus on the primacy of data, rather than hiding it behind unwieldly classes.

Manage side effects more cleanly meaning less state and fewer bugs.  

Be thread safe by default, without having to resort to locks which fail to compose.

Be a proving ground for awesome features
. Garbage Collection, Closures, Continuations, Monads, Expression orientation, Lexical Scope, and Software Transactional Memories all made it into functional languages years before they were mainstream.  What are you still missing?

Functional programming is not only on the cutting edge of computer science research, but it's being adopted by a leaner generation of startups who are innovating faster than their competitors.

A new generation of functional languages like F#Scala and Clojure, are giving developers the ability to run functional languages on the runtime environment of their choice (.Net, JVM or Javascript), whilst traditional functional languages like Haskell, Scheme, Erlang and O-Caml continue to develop the state of the art in type systems, language features, compilers, and fault tolerant systems.