Presentation: Taming Effects with Functional Programming
In this presentation recorded during QCon London 2008, Simon Peyton-Jones advertises the need for programming purity achieved especially through use of functional languages and the increased attention given to functional programming.
Watch: Taming Effects with Functional Programming (1h)
Jones explains how imperative programming – done in languages like C, C++, Java, C# - is done by a flow of control with many side effects. Those side effects can have unpredictable consequences on a program, and they are pretty difficult to detect and the attempt to remove them may result in more side effects.
Jones advertises the need for functional programming, based on flow of data instead of control, and introduces Haskell as the purest language out there. Functional programming is described by one of the following phrases:
- Same inputs always means same outputs
- Purity
- Referential transparency
- No side effects
- Value oriented programming
Jones presents the symbiosis between imperative languages and functional ones, the former gradually evolving by including the functional programming paradigm, while the later, like Haskell, are using new concepts like the software transactional memory (STM).
The main idea of the presentation is that today there is a lot more focus on functional programming than 10 years ago, and will further increase in the future fueled by the need to control the side effects, especially vital in parallel computation.
Educational Content
Building Hypermedia APIs with HTML
Jon Moore Jun 19, 2013
Deleting Code at Nokia
Tom Coupland Jun 19, 2013
Intro to CLP with core.logic
Ryan Senior Jun 18, 2013
Spock: A Highly Logical Way To Test
Howard Lewis Ship Jun 18, 2013
Java Garbage Collection Distilled
Martin Thompson Jun 17, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think