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.