Opinionated Programming Languages, The Huddled Masses, and Elitism

January 19, 2008 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.

Filed under language-designschemejavacommunity

Spoken Languages, Blub, and Convenience

May 25, 2008 A brief essay considering the link between spoken languages and programming languages and Paul Graham's theory of Blub.

Filed under language-designthoughts

The Subtle Joys of Generic Methods

December 11, 2008 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.

Filed under common-lisplanguage-designpython

Failure of Implicit Conventions: Determining Function Destructiveness

July 18, 2007 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.

Filed under functionallanguage-design