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

Frank Salter <[email protected]>
Newsgroups gmane.comp.lang.eiffel.smalleiffel
Message-ID <[email protected]>
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..

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

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

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