* OSCON 2011 - Clojure: Changing the way you think about Change
** Description
   Clojure's approach to state makes it particularly well-suited for
   concurrency, but understanding the way it separates out state from
   immutable values will give you a good grasp on how functional
   programming makes dealing with change much easier and how you can
   adapt that strategy to your codebase.
** Abstract
   Rather than attempt to give a general overview, this talk will
   start with a brief overview of what Clojure offers, followed by a
   dive into its philosophy of state and identity.

   Programming involves working with values. All languages treat
   numbers as values; 42 never changes even though you can add and
   subtract from it to get different numbers. Functional programming
   treats data structures as values as well; you don't change them,
   you perform operations on them that result in new
   variations. Clojure's model allows you to associate a single
   identity with a series of values modeled as change over time. Since
   they are immutable, concurrent processes can work with old versions
   freely, and there are no surprises when things shift under your
   feet. A good understanding of state and values helps you write more
   robust code no matter the language.

Generated by Phil Hagelberg using scpaste at Fri Mar 25 20:54:48 2011. PDT. (raw)