Clojure Gazette 1.16

Object Oriented Programming

Clojure Gazette

Issue 1.16 - July 20, 2012


The Rich History of Object-Oriented Programming

Object-Oriented Programming seems normal today. Most languages in use today make use of some form of classes, instance variables, and methods. But Object-Oriented programming is much more diverse and beautiful than what you could possibly learn from a Java tutorial. I hope these resources give you a glimpse into the variety of forms Object-Oriented Programming can take.

Eric Normand

PS If you like the Clojure Gazette, tell your friends!

PPS Also, I love to hear what you think. Just reply to this email.

blast from the past

Dan Ingalls: Object-Oriented Programming

Dan Ingalls explains Object Oriented Programming back in 1989. Much more concrete than his conceptual counterpart Alan Kay.

step by step

Dan Ingalls: Seven (give or take) Smalltalk Implementations

Dan Ingalls traces the history of Smalltalk, each built out of the flaming ashes of the last.

mining the depths

Dan Ingalls on the History of Smalltalk and the Lively Kernel

An interview with Dan Ingalls probing into the inner history of each iteration of Smalltalk.

the prototypical prototype

SELF: The Power of Simplicity

Self is an amazing system. We are still mining the optimization techniques developed in the Self runtime for use in Javascript VMs.

all the worlds are yours


Io is a prototype-based language that pushes the boundaries of expressivity in programming languages.

that's so meta

The Art of the Metaobject Protocol(amazon


The most important book in object-oriented programming. It shows how to build an object system that can be extended within itself.

Orwellian daydream


Dan Ingalls recommends Newspeak as a forward-looking object oriented language.


Using prototypical objects to implement shared behavior in object-oriented systems

Henry Lieberman (the author of this paper) has a kind of prototype delegation system named after him. Need I say more?


Encapsulation and Inheritance in Object-Oriented Programming Languages

An analysis concluding that OO inheritance is difficult at best and dangerous at worst.


Light Table Playground

I can't believe I forgot to mention this last week! Play with it! It's fun!