Sponsors

  • Microsoft
  • Nebula
  • Google
  • SugarCRM
  • Facebook
  • HP
  • Intel
  • Rackspace Hosting
  • WSO2
  • Alfresco
  • BlackBerry
  • CUBRID
  • Dell
  • eBay
  • Heroku
  • InfiniteGraph
  • JBoss
  • LeaseWeb
  • Liferay
  • Media Temple, Inc.
  • OpenShift
  • Oracle
  • Percona
  • Puppet Labs
  • Qualcomm Innovation Center, Inc.
  • Rentrak
  • Silicon Mechanics
  • SoftLayer Technologies, Inc.
  • SourceGear
  • Urban Airship
  • Vertica
  • VMware
  • (mt) Media Temple, Inc.

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the convention, contact Sharon Cordesse at scordesse@oreilly.com

Download the OSCON Sponsor/Exhibitor Prospectus

Contact Us

View a complete list of OSCON contacts

Become a Better Developer with Functional Programming

Dean Wampler (Typesafe)
Programming
Location: Portland 256
Average rating: ***..
(3.31, 13 ratings)

Functional programming (FP) is undergoing an industry breakout now. First seen as a better approach for concurrency, we’re finding that FP has pervasive benefits, often improving on object-oriented programming (OOP) in many contexts. This session explores how FP aligns with, but also refines developer principles and practices. I’ll focus on the following points:

1. FP is rooted in mathematical rigor, where functions have no side effects and data is immutable. This changes how we approach design, such as how we modularize our code, and it makes testing both easier and more precise, as I’ll demonstrate.

2. Some FP languages have rich type systems, where “correctness” is enforced through the type system, more than through tests. I’ll discuss this powerful concept, but also discuss the challenges of mastering and using such type systems.

3. Code reuse in FP is reuse of functions and data structures. I’ll show how inherent properties of FP-style functions and data structures actually make them easier to reuse than objects. I’ll show why reuse in object-oriented programming hasn’t lived up its promises.

4. FP refactoring is often more like “rewriting”; where we have small, functional modules, we tend to replace them, rather than “tweak” them. (This is the “flip side” of reuse, if you will.)

5. On the surface, FP and OOP seem contradictory, but I’ll demonstrate how they can be complementary.

6. However, FP can be hard to master. I’ll motivate the learning effort required using concrete examples of the benefits to be gained. I’ll help the beginner get started, so she can enjoy the benefits quickly.

7. I’ll choose appropriate examples in a few languages that are easy to understand (after explaining what’s new) to illustrate the key points.

Photo of Dean Wampler

Dean Wampler

Typesafe

Dean Wampler is a consultant for Typesafe. He specializes in scalable, distributed, data-centric application development, “Big Data” or otherwise, applying Functional Programming principles with the Typesafe Reactive Platform, Hadoop, and other tools. Dean is a contributor to several open-source projects and he is the founder of the Chicago-Area Scala Enthusiasts. He is the co-author of Programming Scala, the author of Functional Programming for Java Developers, and the co-author of Programming Hive, all from O’Reilly. He pontificates on twitter, @deanwampler.

Comments on this page are now closed.

Comments

Picture of Alison Chaiken
Alison Chaiken
07/27/2011 5:48am PDT

The session was detailed enough to be informative but at a technical level and presentation pace that allowed me to follow along closely. The code examples in the presentation effectively illustrate how any programmer using a modern OO language can employ functional principles even if he/she does not work in one of the functional languages. Wampler spoke clearly, put up very useful slides and answered questions well.

Christopher Villalobos
07/26/2011 11:21am PDT

Seems like the actors are also responsible for all non-functional programming.

Picture of Alison Chaiken
Alison Chaiken
07/26/2011 10:33am PDT

Ooops, now I see the line numbers in the slides, but they were too small (if present) to notice on the projector screen.

Picture of Alison Chaiken
Alison Chaiken
07/26/2011 10:23am PDT

Great so far, although numbers on slides would make jumping in and out much easier when there are 152!