The object system in Common Lisp has something that almost no one else does: generic methods. Also called multi-methods, these allow a flexible and safe approach to dynamically adding functionality to a class at runtime. It's monkey patching without the monkey. When I write my programming language in a few decades, these are going to be there.
A brief essay considering the link between spoken languages and programming languages and Paul Graham's theory of Blub.
The Language For Smart People and Language For Masses dichotomy is one that leaves a queasy feeling in my stomach. Just because a distinction has become accepted by the community doesn't mean it is a valid one.
The distinction between destructive and non-destructive methods is important, but most languages rely on unwritten convention to differentiate one from the other. We need to do better than this.
All Rights Reserved, Will Larson 2007 - 2014.