David Green wrote:
> On 2008-Sep-23, at 2:32 pm, Michael G Schwern wrote:
>> My other thought is that since parameters are read-only by default
>> it's not
>> thought you'd have to write it much so clarity wins out over brevity,
>> the flip
>> side of Huffamn encoding.  But that doesn't work out so good for normal
>> variable declarations.
> 
> I'd call it straight Huffman encoding, because clarity is what we should
> be optimising for. (You read code more than you write it... unless you
> never make any mistakes!)  Happily, brevity often aids clarity.  The
> rest of the time, it should be up to one's editor; any editor worth its
> salt ought to easily auto-complete "ro" into "readonly".

Eeep!  The "your IDE should write your verbose code for you" argument!  For
that one, I brine and roast an adorable hamster.  That's just another way of
saying that your language is too verbose for a human to write it without
hanging themselves.  See also Java.

Anyhow, I see where you're going, and I understand the desire for no abbvs.
But man, "ro" is pretty damn easy to remember. [1]  This is even sillier when
you hold it up against all the magic symbols we're supposed to remember.
[EMAIL PROTECTED], :name<value>, |$arg, $arg!, $arg?, :$arg.

If we expect the user to remember what all that means, I think they can figure
out "$thing is ro".  It would be incoherent to take a corner of the language
design and suddenly pretend otherwise.

The mark of a great interface is not that you know what everything is the
first time you encounter it, but when you remember what it is the second time.
 The first time what's important is the user knows where to find instructions
and how to play with the device.  It should have a strong analogy and mesh
clearly with the surrounding devices "ro" and "rw" have a strong analogy with
the common read-only and read-write terms and they mesh with each other.  Once
this is known to the user, the second time it will be "obvious".

You're only a beginner once, and if everything is done right for a short time.
 The rest of your career, you're experienced.  Instead of dumbing the language
down for beginners, the trick is to turn beginners into experienced
programmers as quickly and painlessly as possible.

Now I've totally digressed.</rant>


-- 
s7ank: i want to be one of those guys that types "s/j&jd//.^$ueu*///djsls/sm."
       and it's a perl script that turns dog crap into gold.

Reply via email to