August 2005
ACM Queue - Syntactic Heroin - User-defined overloading is a syntactic drug that has seduced all too many language designers, programmers, and project managers.
(via)User-defined overloading is a syntactic drug that has seduced all too many language designers, programmers, and project managers.
User-defined overloading is a drug. At first, it gives you a quick, feel-good fix. No sense in cluttering up code with verbose and ugly function names such as IntAbs, FloatAbs, DoubleAbs, or ComplexAbs; just name them all Abs. Even better, use algebraic notation such as A+B, instead of ComplexSum(A,B). It certainly makes coding more compact. But a dangerous addiction soon sets in. Languages and programs that were already complex enough to stretch everyone’s ability suddenly get much more complicated.