Re: Is Smart Eiffel ready for large-scale application ? (Modula 3 and Eiffel verbosity and libraries)

Wolfgang Jansen <[email protected]>
Newsgroups gmane.comp.lang.eiffel.smalleiffel
Organization University of Potsdam, Institute of Informatics
Message-ID <[email protected]>
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
>
> 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.

>> 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).

>> has to be expressed in a language it will be expressed rather wordy.
>> When it is no longer new and has often to be expressed then the 
>> expression
>> will be soon reduced to a bar minimum. So, an Eiffel feature name like
>> `get_new_iterator_on_keys' is very nice when it is newly introduced 
>> in a library,
>> or used for the first time by a newcomer. After some time one would be
>> satisfied with `key_iterator' or even `keys'. Most characters of the 
>> original
>> long name are redundant for no gain, instead they are disturbing because
>> they prevent seeing more contents at once. In other words: less is more!
>
> Unfortunately this is only a local truth and only applies to long time 
> users.
> A new user of the library has not been through the learning experience 
> which you imply.  A maintainer of some other programmer's code has not 
> had the same experiences and so must start again but with little help 
> when terse identifiers are being used.

Once again, speaker and audience ...
For the sake of new users I'm willing to tolerate 
`get_new_iterator_on_keys', 
even if it's hard.

>> (OK, this comment is a side step of this discussion thread's topic.)
>>
>> WJ
>
> Yes, but it leads to the following.
> Is Eiffel being taken down the over terse route.  The keyword 
> "creation" is being replaced by create.
> ETL3 makes the keyword "create"  context sensitive. It is used instead 
> of the earlier !! and "creation".
> The context sensitivity makes it harder for a development environment 
> to cope with it.
>
> Consider the word in English "creation".  Wiktionary has the following.
>
>
>       Noun
>
> *creation* (/countable and uncountable. plural: creations 
> <http://en.wiktionary.org/w/index.php?title=Creations&action=edit>/)
>
>    1. (/countable/) An invention
>       <http://en.wiktionary.org/wiki/Invention>, artwork
>       <http://en.wiktionary.org/w/index.php?title=Artwork&action=edit>,
>       etc
>
>           /I think the manufacturer was so ashamed of their creation
>           that they didn't put their name on it!/
>
>    2. (/uncountable/) The act of creation.
>
>           /The restructure resulted in the creation of a number of
>           shared services./
>
>    3. (/uncountable/) All which exists
>
>           /Let us pray to Christ, the King of all creation./
>
> Examining these 3 definitions.
> Definition 1  -- very appropriate at the beginning of an Eiffel class.
> Definition 2  -- very appropriate to specify the features of an Eiffel 
> class which are involved in creating objects.
> Definition 3  -- As I do not believe that many programmers are writing 
> metaphysical or religious programs, this word is unlikely ever to be 
> needed as a useful or meaningful word in the vast majority of programs.
> >From which I conclude that "creation" is ideal as a keyword in 
> computer programming languages.
> However, "create" is a word which would be useful in every program 
> written in English, but because of synonyms, one can live without it 
> and thus keep it as a keyword.
> So what is the sense of replacing creation with create.
> It makes no sense.  It is extremely bad English, using a verb when 
> clearly a noun is required. Even worse this is the area where object 
> oriented languages are supposed to excel, in the valid organisation of 
> data and operations.
> Does anyone else feel strongly about this.  If SmartEiffel ever 
> removes the use of creation, I would have a lot of editing to do.

That's another point, I think. Maybe the reason is to reduce the amount 
of keywords
and symbols. Instead of "creation" and "!!" only one "create" remains.
(Compare this with the introduction of the keyword "separate" in OOSC.
B.Meyer is very happy to extend Eiffel to multiprocessing by just one 
keyword!)
Well, I think this is a reduction at the bad end. I fully agree that we 
need a noun
at the syntactical place of "creation".

WJ
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.