From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,3ef3e78eacf6f938 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!feeder.erje.net!feeder.eternal-september.org!eternal-september.org!not-for-mail From: Colin Paul Gloster Newsgroups: comp.lang.eiffel,comp.lang.ada Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Date: Fri, 24 Jul 2009 16:52:12 +0000 Organization: A noiseless patient Spider Message-ID: References: <24b1e02c-ef00-4adf-be11-e65277fc095c@j32g2000yqh.googlegroups.com> Reply-To: Colin Paul Gloster Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: news.eternal-september.org U2FsdGVkX1+1d/LcCLCXack/1VmRhKDqHMwBhgzTd4v/KShvoPJ+WHbArQq936JPWfeAgIxMGmXJU4EIEjzhcFLN9QEZocX5Y7KU783N1SZWQ0JuuOxzt407OiBqRJ8RKH9u6iXNkKMUgvmic6acMBwjPIs1X4jd X-Complaints-To: abuse@eternal-september.org NNTP-Posting-Date: Fri, 24 Jul 2009 15:51:36 +0000 (UTC) In-Reply-To: X-Auth-Sender: U2FsdGVkX18mpibD4J3ALN5j0qMd4Grt6TaKjqV5oFSv3n8n29rrH6qXhv28FWId5fjpHj49coQ= Cancel-Lock: sha1:yBEapIQY5Q7F/DV7mnhea7Wkd68= X-X-Sender: Colin_Paul@Bluewhite64.example.net User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) Xref: g2news2.google.com comp.lang.eiffel:415 comp.lang.ada:7324 Date: 2009-07-24T16:52:12+00:00 List-Id: On Thu, 23 Jul 2009, Cesar Rabak wrote: |-------------------------------------------------------------------------------| |"Colin Paul Gloster escreveu: | |> On Wed, 22 Jul 2009, Simon J. Wright wrote: | |> | |> |--------------------------------------------------------------------| | |> |"[..] | | |> | | | |> |And what will happen to this distinction with Point (2.0, 2.0);? | | |> | | | |> |You could use named parameter association, but *much* better to use | | |> |proper types -- | | |> | | | |> |type Cartesian_Coordinate is record | | |> | X : Metres; | | |> | Y : Metres; | | |> |end record; | | |> | | | |> |which makes it easy to (for instance) create appropriate functions | | |> |"+", "-", "*", "/"." | | |> |--------------------------------------------------------------------| | |> | |> Oh dear, Mr. Wright is nearly as bad as Mr. Rabak. Dr. Meyer gave an | |> example of overloading which Eiffel can perform | | | |Since you citing me (incorrectly) and write this: | | | |> which he claimed that | |> Ada can not manage. | | | |Writing a wrong assertion about a book it seems you only read a summary made | |before a term exam, I suggest you get the text you implied you were mentioning,| |specially the four paragraph on page 94 (OOSC 2nd ed.) and pay attention to was| |is *actually* written there." | |-------------------------------------------------------------------------------| Nothing by Meyer was ever even mentioned in any of the courses on which I was enrolled. The fourth paragraph on Page 94 may be relevant as to whether or not overloading is a good thing, but it is irrelevant as to what I had claimed in this thread on this topic (that is, that Ada can perform a kind of overloading which Meyer claimed that Ada cannot). I suggest that you flip back a page and note that Page 93 untruthfully contained: "[..] In Ada[83], for example, a package may contain several routines with the same name, as long as the signatures of these routines are different, where the signature of a routine is defined here by the number and types of its arguments. (The general notion of signature also includes the type of the results, if any, but Ada resolves overloading on the basis of the argument only.) [..] [..]" Then you should read the third paragraph of HTTP://archive.AdaIC.com/standards/83lrm/html/lrm-06-06.html Furthermore, remind yourself of what you have claimed in news:h42da2$lcr$1@aioe.org despite that I had shown that Ada83 can perform overloading in cases which Meyer said that Ada83 cannot: |------------------------------------------------------------------------| |"Nicholas Paul Collin Gloucester escreveu: | |[snipped] | | | |> | |> I give an example showing that Ada is better than Eiffel (and Modula-3| |> and many versions of Pascal) in this regard, based on an example by | |> Bertrand Meyer in the second edition of the book "Object-oriented | |> software construction". In that book, Dr. Meyer claimed that Ada's | |> overloading is inferior to Eiffel's overloading. He called Ada's | |> overloading syntactic overloading. He called Eiffel's overloading | |> semantic overloading. I believe that he was being sincere, but he was | |> definitely mistaken. He claimed that it would not be possible to | |> sensibly discriminate between overloaded subprograms for a point if | |> the real-number parameters could be in any of Cartesian notation and | |> polar notation. | |> | |> This is refuted by the following Ada code... | |> | |Not it's not, your code only changed the problem appearance but not | |substance: | | | |[..]" | |------------------------------------------------------------------------| On Thu, 23 Jul 2009, Cesar Rabak wrote: |-------------------------------------------------------------------------------| |"> The pseudo-Ada example by Dr. Meyer did not have a | |> record, and a less minor upgrade than adding a record was sufficient | |> to show that Dr. Meyer did not know what he was writing about. | | | |Yes it did have a record because this perversion of creating a lot of nicknames| |for solving a problem B. Meyer proposed a different approach." | |-------------------------------------------------------------------------------| Meyer had on Page 93: square (x: INTEGER) square (x: REAL) square (x: DOUBLE) square (x: COMPLEX) and on Page 95: new_point (p, q: REAL) so please show me on which page it was explained that INTEGER or REAL or DOUBLE or COMPLEX is a record. |-------------------------------------------------------------------------------| |"[..] | | | |Please keep the discussion on the technical aspects and don't make personal | |attacks: they do not add anything to enlightenment for anybody." | |-------------------------------------------------------------------------------| Please practise what you preach. I did not make a personal attack in this thread. So far as I have seen, in this thread, neither you nor Wright correctly tackled the issue that Meyer did not know what he was writing about. Instead, you and Wright posted about what you believed to be better techniques, which whether they are better or not, do not excuse Meyer for criticizing Ada83 for not being able to do something which Ada83 can actually do.