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.
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.
A brief essay considering the link between spoken languages and programming languages and Paul Graham's theory of Blub.
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.
Software engineer, technical leader, sci-fi reader, and so on. Born in NC, living in SF, and glad to grab a coffee.