Manchester Lambda Lounge
"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
"There is a continuum of value in how pure a function is, and the value step from almost-pure to completely-pure is smaller than that from spaghetti-state to mostly pure."
- John Carmack
"...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.
Come to a meeting
The Lambda Lounge is proud to be one of @madlabuk's regular groups.
They provide us and others with a vibrant community space to make interesting stuff. They're a place for geeks, artists, designers, illustrators, hackers, functional programmers, tinkerers, innovators and idle dreamers.
They're also an autonomous R&D laboratory and a release valve for Manchester's creative communities. But most of all, they're really cool friends!
We meet regularly, for talks and practical sessions. Meetings are usually on the third Monday of the month at 7pm, though for practical reasons this is not always possible. So it is best to check here and keep an eye on our Google Group for announcements.
Learn More: Manchester Lambda Lounge