On 2008-Sep-23, at 5:27 pm, Michael G Schwern wrote:
David Green wrote:
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.
Fair enough. As long as you remember to share with the rest of us!!
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.
But the problem with Java isn't just that it's too verbose to write;
it's that it's too verbose to read, too. Why shouldn't your editor
help with verbosity? The amount of typing shouldn't be a main concern
in language design, because your editor can mostly compensate for
that; there are other, better reasons to decide how verbose something
Anyhow, I see where you're going, and I understand the desire for no
abbvs. But man, "ro" is pretty damn easy to remember.  This is
even sillier when you hold it up against all the magic symbols we're
supposed to remember. *@foo, :name<value>, |$arg, $arg!, $arg?, :
As a bear of limited recall, I sometimes feel a bit overwhelmed by all
the stuff there is to remember. I'm certainly not against all
abbreviations. I have a deeply ingrained instinct to name my
variables x, y, and z, and to name files... x, y, and z. My shell
profile is full of one-letter aliases (I don't have time to waste
typing 2-char command names!). However experience has taught me the
value of more robust names for anything but one-liners.
I bet we actually don't disagree much; I'm not really against "ro" --
I'm just not against "readonly" because of its length. If I were
writing casually, I'd use "rw" and "ro"; formally, I'd use "read only"
and "read/write" (or even "readable and writable"). At an in-between
level, which is where I believe we should be aiming, I think I'd put
"rw" and "read-only". I'm not entirely sure why. Maybe
psychologically, "ro" looks like it could be a word, whereas the
unpronounceable "rw" has to be an abbreviation? Or maybe it's just
because I see "rw" every day in ls output, but "ro" not so much. At
any rate, if I wanted to argue in favour of "ro", I think symmetry
(which you already mentioned) is the strongest argument.
You're only a beginner once, and if everything is done right for a
The rest of your career, you're experienced.
Ooh, now that I completely agree with! Software that thinks "user-
friendly" means "dumbed-down" drives me nuts.