Hi,
I am not really a fan of philosophical arguments, especially when there
is an actual example/question, but:
> It would seem that some of these esoteric features lead too
> easily to misuse
All features can easily lead to misuse by those that don't know how to
use them or use them needlessly. What specific "esoteric feature" are
you referring to? The statement
v_x=>atoms%v_x
is MOST USEFUL in my own codes, it does not lead to any misuse (they
have produced many results successfully), and is most clear. I see
nothing "esoteric" about it.
> shouldn't difficulty in understanding and
> implementing be a prime concern for introducing things not yet in
> there?
Implementing is and should definitely be a concern. Understanding is
relative, it depends on field of expertise. I don't understand most of
IO, and frankly, don't bother. I do understand (most of) the OOP stuff,
which a lot of people find utterly confusing. It is based on different
experiences and programming practices.
Also, in many cases, it is a bad practice to prohibit something just
because it is tricky, when it can be allowed and be given well-defined
(even if non-obvious) meaning. We allow LBOUND(array), and I hope no
one things this is esoteric. We allow array%component, which has
certainly been most useful to me. Why should we prohibit
LBOUND(array%component) just because we have to decide what the meaning
is and put in the standard. Users should not use this unless they
really need to, in which case they will need to look up the meaning.
Aleks
|