Eppur si sugat
Tue May 27 17:41:02 CEST 2003
On Tue, 27 May 2003, Hrvoje Nezic wrote:
> > It's not about OO software construction. It's more
> > "generally good design principles" + how to code things in Eiffel.
> This is simply not true. OOSC2 is not a book about Eiffel.
> Meyer's book is about software construction, from his
> own point of view, of course.
I was referring to "Object Oriented Software construction" by Meyer
(the first edition published in 1988) - I don't have the second version
so I can't comment in it.
The book is about Software construction in Eiffel - That's what the
"+" means. How can a book with hundreds of examples in Eiffel not be
about Eiffel. It's not *exclusively* about Eiffel, since this is a lot
of stuff of software design - but it certainly IS about Eiffel AND
software design. It is certainly not about general software design
since many of the mechanisms described in the book do not apply to
other languages - they are specific to Eiffel and similar languages
It seems to me to be very much a book about Eiffel - The first
chapter in part II is called "Basic Elements of Eiffel programming" -
thereafter follow loads of small code fragments all in Eiffel as far
as I can see.
Appendix C is the Eiffel grammar - and a quick check reveals that
all the code fragments appear to be written in Eiffel.
As I pointed out part I is mostly general common sense and is not
exclusively owned by any school of programming, ADTs and information
hiding are general techniques applicable to any style of programming.
> Most books about programming languages just describe
> syntax and semantics of a given language. Meyer's book
> is very different and almost unique: he discusses various
> possibilities, dilemmas, why some features had to be rejected,
"almost unique" - I doubt it - there are *many* good books that
discuss language-design tradeoffs - how about "Abelson and Sussman's -
structure and interpretation of computer programs", Wirth and
Gutknecht's Oberon book, Brinch Hanssen's operating system principles,
Allen's anatomy of lisp ... Meyer's book is certainly good but not
> And this is a fine book, and Eiffel is a very fine language
> ("arguably the best object-oriented language").
> Of course, if O-O is considered bad by definition,
> this means nothing.
Yes Eiffel is one of the better OO languages - O-O is *not* bad by
definition. Particular OO language are bad, for particular reasons,
Java is bad because the concurrency model is screwed up, C++ because
you can easily confuse or break the type system, ..
I have even designed an OO language (OIL = Object Inspired Language)
- << son of Erlang :-) >> - and I can image a good OO language, but I
just havn't seen one yet (apart from OIL, that is :-)
> For me, O-O (especially in elegant and well-designed
> languages, like Eiffel) means big progress from C and alike,
> freedom from having allocating memory by hand,
> dealing with pointers etc, etc.
> In this way Eiffel is light years ahead of C.
So is LISP - we had GC etc in 1959 in lisp 1.5 - freedom from
pointers etc. has nothing to do with OO. Many languages (logic,
functional, OO, imperative, have freedom from pointers - even visual
> I am open minded, I love to learn new things and explore
> new possibilities. That is why I am on this list.
> I like at least some aspects of Erlang (especially
> However, stating that some other paradigms,
> like O-O, are completely wrong, is too much
> in my opinion.
I have never said O-O is completely wrong (I said it "sucks") - and
if you choose a title like "Why OO sucks" more people will read your
article than if you say "a few things I don't like about OOPLs"
> > The fact the "OO" word is on the cover and the word "eiffel" is
> > absent from the cover notes is probably to sell more titles.
> This is not a fair statement and not a right way to criticize "ideological
This statement was not intended as a criticism - and he's not an
Meyer said a lot of sensible things in his book. If you write a book
about a relatively obscure language it might be a good idea not to
mention it on the cover - you might sell more that way - that's a fact
> like Meyer. Meyer's book is about object oriented
> programming. He obviously had to include some program examples
> in the book. What were his options? To use pseudo-code?
> To use C++? Simula? Smalltalk? Java (nonexisting when
> he wrote the first edition)? Eiffel was invented because there
> were no other suitable O-O language. So, he obviously used
> Eiffel, not only because he invented it, but because it is
> in many ways superior to alternatives.
> By the way, OOSC-2 is not the only Meyer's book.
> His book about Eiffel is called "Eiffel the Language".
> If OOSC-2 was book about Eiffel, why he wrote ETL?
> Of course, you can say that he wrote it to make more
> money, but again, I think this would not correspond to
I assume he wrote it to promote eiffel.
The fact that he wrote a book called "Eiffel the language" is irrelevant
to any discussion of OOSC.
> Hrvoje Nezic
More information about the erlang-questions