Far be it for me to disagree with Craig but I fear I must.
To adopt a language feature for entirely cosmetic reasons, "period looks
nicer than percent", but as a result introduce a syntactic ambiguity that
otherwise would not exist is grossly bad language design. Having syntactic
ambiguities that have to be resolved by priority rules may be a necessary
evil if <emphasis>REAL</emphasis> functionality is gained thereby is
tollerable, but to do this for stylistic or "C/Pascal did it that way so we
must also" reasons, I think not.
The debate on bigend%littleend I agree was lost in the 1980s for precisely
this reason and was wrong then and is wrong now. array%array selections
were prohibited partly because sarray(i,j)%carray(k,l) would map to
marray(k,l,i,j) which was, and is complex to describe and counter intuitive
when writing. In a row major language, which would have been nice had
Fortran gone that route in the 50s s%c is desirable. In a column major
language, which for good or ill Fortran has been for half a century, c%s
would have been preferable because of the obvious consequences. I would add
that as a basically English speaker, well almost, I find "part in whole",
"page of book", "etc." a very natural way of reading selections.
Having now wasted some of my not so valuable time on this issue I will say
no more. The use of % is now fixed and so is the structure%component order.
Only by introducing a new character (definitely not .) entirely to indicate
a selection in the reverse order could this selection of (non)-problems be
solved.
--
Lawrie Schonfelder
Honorary Senior Fellow
University of Liverpool
1 Marine Park, West Kirby,
Wirral, UK, CH48 5HN
Phone: +44 (151) 625 6986
|