> Date: Sun, 20 Aug 2000 15:21:44 -0600
> From: "James Giles" <[log in to unmask]>
> robin <[log in to unmask]> wrote:
> ...
> >In 30 years I've never come across this (mis-typing **) as a problem.
> >By way of contrast, mis-spelled variable names, O instead of 0, 1 and
> >I etc etc, and going beyond column 72, starting in column 6 and so on
> >have been the principal sources of typographical errors.
>
> Congratulations. But the fact _you_ haven't had the problem doesn't
> mean that it isn't.
That's 30 years as consultant, instructor, user.
That's contact with **thousands** of users.
> It's a _reasonably_ good design. The error really
> _is_ considerably less common than many others. That's not a
> reason to ignore it though. The discussion is valid. Many of your
> arguments against changing have not been.
It only appear s that way. You need to give them
more than superficial analysis.
> The only real trade-off is how much benefit there is vs. how much
> trouble it is to change. It would be considerable trouble to change.
> It would be a small (but positive) benefit.
There's no benefit. It's no more a problem than typing L when you meant LL
or vice versa. In fact, ** is easier to pick up than mistyping LL.
The shotgun, recall?
It all comes back to careful checking.
It's no use blaming the particular operator, or the designer of the language.
You can't expect the compiler to pick up every single typographical
error.
> I don't think it's worth it.
Of course not, because there's no benefit.
> But, that doesn't mean that I'd use the same design on a totally
> _new_ language.
> ...
> >> >There is -- it's the "&" key right next door.
> >> >The "&" key terminates the line (or starts it if it's first).
> >>
> >> And is illegal if it has additional non-comment non-blank text after
> >> it.
> >
> >And if it doesn't?
>
> Your question is a non-sequitur. It makes no sense in this
> context.
Clearly, you haven't thought it through (again).
The second operand does NOT have to be on the same line.
> If you type an & when you intended to type an
> exponentiation operator (whatever you use for that), then
> the character will be followed by whatever you intended as
> the second operand to the exponentiation operator.
If what would follow is a "(", and the first operand is a 1-D
array. No error message is issued. In other cases, it may just
form a name (legal).
> That's
> a detectable violation of the syntax rules of the language.
No it isn't. That's what happens with a superficial response.
> I repeat: if you're going to try counter-examples, you might at
> least strive for valid ones.
>
> >Omitting one ^ might not be detectable, if the result is a valid
> >name, for example.
>
> Now you're getting to real counterexamples.
> However, omitting
> one * in the existing operator almost always leaves valid code.
But invalid results.
In any case, that's nothing to do with mis-typing "^".
A check of the source should reveal the error.
That (**) has been discussed already. The **, and the remainder
of the email is beginning to sound like a gramophone record,
so I'm just omitting it.
> J. Giles
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|