Creighton Kirkendall discusses how polymorphism is implemented in Clojure, Ocaml, Haskell and Scala.
Stuart Sierra introduces some general guidelines for designing systems which make their data and abstractions more transparent to developers, using code examples in Clojure.
Jim Duey surveys several abstraction techniques that can help in writing reusable code in Clojure.
Jim Coplien believes that we have done OOP the wrong way for 40 years, and suggests an approach to reflection based on the DCI paradigm and influenced by the human society.
Michael Homer introduces Grace, an educational OO language used to teach programming to students.
Jamie Allen explains some of the terminology encountered by Scala developers and not only: OO features, pattern matching, functional programming, actors, futures, tuples, implicits, type theory, etc.
Alex Aitken and Nick Faulkner share lessons learned building a cross-platform HTML5 application based on GOOS principles (Growing Object-Oriented Software).
Matt Butcher explores the philosophical systems devised by Plato and Aristotle, showing how Plato laid the foundations for what is now OOP, while Aristotle’s dynamic model is at the core of FP.
Ola Bini attempts to answer a few questions: Why are new languages still being created, Is it worth choosing languages strategically, and Does language actually matter?
Stuart Dabbs Halloway explains what the impedance mismatch is and what can be done to solve it in the context of RDBMS, OOP, and NoSQL.
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.