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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!newsfeed.straub-nv.de!feeder.eternal-september.org!eternal-september.org!not-for-mail From: Nicholas Paul Collin Gloucester Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.lang.pascal,comp.programming Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Date: Mon, 20 Jul 2009 10:13:31 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <87zlb2c94a.fsf@galatea.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news.eternal-september.org U2FsdGVkX1/Ru23YtwP6Oqgxe7A4OgurDX8zQce1WBp1wmviNsJDDJI3V3+ItxwzT8OxeUuFCGJixqAI3BuKmiZ2vqu5wtJ43m8xxBvANjHitP2uoksJa6CJ64Lf4UGZkHx3Tj/OgZdYQRFEsrsPLaCC1MLevOSYvqLWXMvvcow= X-Complaints-To: abuse@eternal-september.org NNTP-Posting-Date: Mon, 20 Jul 2009 10:13:31 +0000 (UTC) X-Auth-Sender: U2FsdGVkX1/7EvI8EePiTrgjVY+8zwng+LkUmkCdBmiuoriGl88ZhFxpe0YLkY9Yi5gNfUZMkr8= Cancel-Lock: sha1:9dzJVYv4GzLhr/MtsPwL3qhDaLM= User-Agent: slrn/0.9.9p1 (Linux) Xref: g2news2.google.com comp.lang.eiffel:321 comp.lang.ada:7167 comp.lang.modula3:47 comp.programming:11877 Date: 2009-07-20T10:13:31+00:00 List-Id: On 2009-07-18, Pascal J. Bourguignon wrote: |-----------------------------------------------------------------------------| |"[..] | | | |Of those, I'd use Modula-3. | |(you may also consider: Objective Modula-2)" | |-----------------------------------------------------------------------------| This is the first I have heard of Objective Modula-2. Thank you. Unfortunately, Wirthian languages tend to use structural equivalence of types instead of occurrence equivalence, such as Modula-3 according to HTTP://web.archive.org/web/20051001044031/http://archive.dstc.edu.au/AU/staff/crawley/ada/m3-vs-ada.html#section4.1 and many interpretations of an early Pascal definition, so I suspect that Modula-2 also had this weakness. The following excerpt from HTTP://Objective.Modula2.net/ - "[..] The base language is Modula-2 as defined by Niklaus Wirth in the fourth edition of Programming in Modula-2 with the following omissions and restrictions: Omissions [..] * No subrange types [..]" - seems to indicate that it is even worse. Ada allows you to choose for some types to be treated with occurrence equivalence (called types in Ada: WWW.AdaIC.org/standards/05rm/html/RM-3-2-1.html ) and for other types to be treated as structurally equivalent (called subtypes in Ada: WWW.AdaIC.org/standards/05rm/html/RM-3-2-2.html ) as you deem to be appropriate. Unlike for example Eiffel's Design by Contract, this is not something which is activated or deactivated by a compiler switch: a single Ada function can exploit both approaches at the same time without being recompiled. Regards, Nicholas Paul Collin Gloucester