Direct from ÜberConf, Stuart Sierra talks about the Expression Problem and how Clojure provides tools for solving it.
Pizza and beer courtesy Meetup.
What is the Expression Problem? The question is far from academic: any programmer working in mainstream object-oriented languages is bound to encounter it. As a young language on the JVM, Clojure has the opportunity to step back from mainstream approaches to object-oriented design, and get back to core concepts like type and polymorphism. As a Lisp, Clojure can offer features to achieve the goals of OOP with far greater flexibility than a traditional Object Oriented language ever could.
Stuart Sierra is an actor/writer/coder who lives in New York City. He is a member of the Clojure/core team at Relevance, Inc. Stuart is the co-author of Practical Clojure (Apress, 2010). He received an M.S. in Computer Science from Columbia University and a B.F.A. in Theatre from New York University.