Clojure Gazette 1.16
From OO to Clojure Workshop!
Watch my free workshop to help you learn Clojure faster and shift your paradigm to functional.
Object Oriented Programming
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.
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
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.
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.
I can't believe I forgot to mention this last week! Play with it! It's fun!