Re: (Modula 3 and Eiffel verbosity and libraries)

Hendrik Boom <[email protected]>
Newsgroups gmane.comp.lang.eiffel.smalleiffel
Message-ID <[email protected]>
On Tue, Apr 12, 2005 at 01:10:58PM +0200, Wolfgang Jansen wrote:
> Frank Salter wrote:
> 
> >Wolfgang Jansen wrote:
> >
> >>Joseph Kiniry wrote:
> >>
> >>>Why is it that people would always trade a few characters for less 
> >>>intelligible code?
> >>
> >Because they extrapolate from some local truth and represent it as a 
> >global truth (frequently incorrectly).
> >It behoves us to remember that Algol 60 was introduced not as a 
> >programming language but as a language to represent algorithms.
> >[Personal aside -- How I have wished that Donald Knuth had used Algol 
> >to describe algorithms in "The Art of Computer Programming"]
> >
> >>I think because fewer character make texts more intelligible!
> >
> >True when the text is overblown.  Surely, if this were generally true, 
> >we would all be using shorthand or speed writing as the norm.
> >
> >>You may this observe in natural languages as well as in artificial 
> >>languages

Since we have brought in natural language...

Natural language tend to abbreviate until it gets to the edge on
unintelligibility.  Words fall out of idioms, words lost sounds,
and later syllables (e.g., the "gh" in "light" used to be pronounced,
and now people are starting to leave it out of the spelling).
There's also a limit to what people will remember.  Irregular
words tend to become regular if they are rarely used -- unless
the irregularity is enforced by a school system or a standards
committee (like the wcademie francais), and then its use becomes
a status marker for the speaker.  But at some point the tendency
towar elision becomes too great, and confusion arises.  Then
people try to speak precisely, and, when that fails, sdd on extra
words of context to make their meaning clear.  It's quite possible
over centuries for these words to become auxiliaries, and eventually
become absorbed into the main word as inflections.

So language eveloves both ways -- commonly used words become shorter,
and when things get ambiguous, long phrases are synthesised to
replace the short ones.  All this is to optimise the speed and
clarity of communication, which are conflicting goals.

This does suggest a few things for words in programming languages:
the common ones should be short.  Rarely used ones -- the ones an
experienced programmer might not use in an average program -- can
be long -- who cares?  But certainly words for common control
structures, names of common types, words used to delimit procedures
and declarations and the like whould all be short.  And words that
are so rare that a programmer is not likely to notice that he's
inadvertently used a reserved word should be long or otherwise marked
to minimize the chance of conflict.
> >
> >Some languages elide vowels in the written form.  I understand that 
> >this has led to misunderstandings and mistranslations..
> 
> Maybe the texts have not been written for the sake of modern translators.
> Maybe ancient Egyptian presbyters and modern Hebraic and Arabic people
> could and can read vowel-less texts very well.

Hebrew has acquires a set of vowel marks, presumably because they
can't read then as well as they would like.

> 
> >>as mathematical and chemical formulas. When some new thing (or 
> >>process, situation ...)
> >
> >As an engineer who used mathematics as a tool rather than it being my 
> >vocation, I have spent many hours reading extremely terse 
> >representations with which I was essentially unfamiliar.  I wished for 
> >less terse explanations of the thinking I was trying to understand.
> 
> Well, language depends on both, the speaker and the audience. So, if you 
> were not
> familiar with the extremely terse representation then, I think, you did 
> not belong to
> the targeted audience (and you had made efforts to join that audience).

What drives me crazy in papers on logic is when the writer introduces
a bunch of notation withoug making it clear what the procise syntax
is -- for example, the precedence of operators.  Often if you
understand the concepts he is presenting, the syntax is obvious,
and if you inderstand the syntax you can divine the semantics.
But trying to do both at once is too much.  This leads me to add
another criterion for progamming language:

If you know the language, you should be able to understand the
syntax of a program without understanding the meanings of the
programmier-chosen names in it.

-- hendrik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.