Neil's News

+ 2010
+ 2009
+ 2008
+ 2007
+ 2006
+ 2005
- 2004
 Silence
 Snowflakes
 Paranoia Pays
 Microsoft Help
 Polyglot 11: More C
 Polyglot 11: C
 Polyglot 10: Smalltalk
 Toronto Wisdom
 Exterminated
 The Last Straw
 BT Broadband Trap
 Polyglot 9: Moo
 Polyglot 8: SVG
 Polyglot 7: POV-Ray
 Polyglot 6: Python
 Polyglot 5: PHP
 Polyglot 4: Euphoria
 Polyglot 3: JavaScript
 Polyglot 2: Java
 Polyglot 1: VB
 POV-Ray
 Etch A Sketch
 Slashdotting
 Flashy Lies
 Scientific Illiteracy
 Creeping Featurism
 VidScope
 Saturn V
 Perspectives
 Slide Rule
 eBay Sale
 Iron Filings
 Gimble
 VBA Security
 Random Morsels
 Exact Change
 Easter Egg
 Diametral Pitch
 mod_deflete
 Ethical Spam?
 Deadlines
 CPU Power
 Fosdem 2004
 Academic Reversal
 Mars Memorial
 Culture Clash
 Watching the Users
+ 2003
+ 2002

Creeping Featurism

3 July 2004

In the beginning there was BASIC. And it was good. But not perfect. So the language was slowly expanded until it now has a GUI (Visual Basic), can build web pages (ASP) and can take control of your computer (VBA). As a language Basic went from being clean simple language that could live in a 4KB ROM to a hideous monster that can no longer say "Hello world" in under 1.44MB.

Then there was Perl. A wonderful little language that was written around the power of regular expressions. But over time it was expanded with strange hacks to provide OO capabilities. Perl can now do anything, but it has become a mess.

One of the new languages on the block is Euphoria. Its slogan is "Just say NO to complicated programming languages!" Writing small programs in Euphora is fun, but one soon gets reminded that this is a language in its teenage years. There's no abs() function. There's no namespace separation between libraries so all functions everywhere must be uniquely named. In time Euphoria will grow up, but history suggests that when it does it will be more similar to its complicated cousins than its designers would like.

Everywhere I look I see languages following the same 20 year life-cycle. They start out as beautifully simple but slightly limited languages. Improvements are hacked on to alleviate the limitations. At some ill-defined point the language loses sight of the simple philosophy around which it was built. It gradually fades away as people defect to younger, more elegant languages.

There's one exception: MOO. Like all languages it has some limitations and annoyances. Whether it is adding SQL or WAIFs, the temptation is to scratch an itch and extend the language in ways it wasn't designed for. But the MOO language was spared this fate because its developers at Xerox seem to have disappeared eight years ago -- just as it matured. Nobody is around to mess it up.

< Previous | Next >

 
-------------------------------------