Wim Bast introduces Declare, a new declarative, functional OO language, demoing some of its main features.
Colin Jones discusses applying the SOLID OOP principles to Clojure programming in order to create systems that are easy to change.
Philip Wadler discusses second-order quantification, from its inception in the symbolic logic of Frege through to the generic features introduced in Java 5, touching on aspects of faith and evolution.
Michael Feathers, Brian Foote, Richard P. Gabriel, Joshua Kerievsky, Eliot Miranda and Dave Ungar put Objects on trial and found them guilty for not living up to their promise.
David Nolen critiques the tools, languages and methodologies used today from the perspective of solving the “mapping dilemma”, introducing match, a pattern matching library for Clojure.
Andrey Breslav introduces the upcoming Kotlin language created by JetBrains, a general purpose JVM-based language, statically typed, object-oriented, and meant to be more concise than Java.
Richard Pawson discusses a case study of a large pure OO project for the Irish government, presenting the challenges met, the reason for choosing pure OO, and lessons learned implementing it.
Kevlin Henney takes a philosophical approach to encapsulation, polymorphism and inheritance, and explains what it means to write Java programs according to his view on OOP.
Alex Miller presents some of the abstractions that make Clojure a great language: Collections, Sequence and Higher Order Functions, Multimethods, Protocols, Atoms, Macros, and others.
Marius Eriksen considers that scalability problems appear when leaky abstractions are used, exemplifying with RDBMS, GC, and threads, presenting abstractions that help dealing with scalability issues: map-reduce, shared-nothing web applications, big table, all providing narrow access to explicit resources.