From: Paul Lutus Date: 2006-09-16T01:05:53+09:00 Subject: Re: Matrix Martin DeMello wrote: > On 9/13/06, MonkeeSage wrote: > >> I do like Dave's idea about having a named method to do the in place >> modification, though; that would make sure You Really Mean It and >> eliminate the typo where you meant == but actually wrote =. > > Paul Graham had an excellent rationale for allowing this sort of thing > in one of his essays on language design : > > Hackability > ---------------- > > There is one thing more important than brevity to a hacker: being able > to do what you want. In essence, this article advocates anarchy. The counter-evidence is to ask which languages persist, and which fade away. Free-form languages, languages that let you do whatever you please, tend to have short lives or are quickly rendered incomprehensible because of the very freedoms that originally made them appealing (Perl). The longest-lived, most useful languages have the strictest syntax and the fewest built-in dodges. Example? mathematical notation. Mathematical notation is extremely strict and slow to change. Apart from some recent window dressing, the last significant change was the adoption of Liebniz' Calculus notation over that used by Newton in the late 17th century. Consequently, mathematical notation has the widest audience of any formal symbolic language. And programs that purport to be able to fluently read and write mathematical notation are in great demand and fetch high prices (Mathematica, Maple, Matlab, IDL). This notion flatly contradicts all our modern liberal instincts, but it is no less true for that. -- Paul Lutus http://www.arachnoid.com