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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!d32g2000yqh.googlegroups.com!not-for-mail From: tm Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.lang.pascal.misc,comp.programming Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Date: Fri, 24 Jul 2009 00:26:11 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: NNTP-Posting-Host: 195.58.191.10 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1248420371 30991 127.0.0.1 (24 Jul 2009 07:26:11 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 24 Jul 2009 07:26:11 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d32g2000yqh.googlegroups.com; posting-host=195.58.191.10; posting-account=269_QwoAAADSifhJt6OVa6bEjZR2ZMUB User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5,gzip(gfe),gzip(gfe) Xref: g2news2.google.com comp.lang.eiffel:403 comp.lang.ada:7304 comp.lang.modula3:92 comp.lang.pascal.misc:306 comp.programming:12011 Date: 2009-07-24T00:26:11-07:00 List-Id: On 20 Jul., 17:14, Jean-Pierre Rosen wrote: > tm a =E9crit :> That is exactly the area where Ada left the path of Pasca= l. Pascal > > was designed to be easy to implement. Nicklaus Wirth had good > > reasons to keep the implementation simple. He once said (IIRC): > > > What can be parsed easily by a compiler can also be > > parsed easily by a human and this can be an asset. > > Parsing is not the difficult part of an Ada compiler. I once met somebody, who wrote the front end of an Ada compiler, and he told me a different story. E.g.: He said that a special function needs to read ahead just to find out the semantic of a parenthesis. In Pascal such read ahead is not necessary. Another friend told me stories about a buggy early Ada compiler where it was necessary to "code around" compiler bugs. > > [...] > > Many languages try to make the job of writing a program easier > > and at the same time make the job of reading programs is > > harder. All this wonderful "do what I mean" concepts used by > > many languages fail in some cases. > > True, but this does not apply to Ada. Ada was designed with requirements > that explicitely required ease of reading over ease of writing. Agree, but not all things designed to ease reading do so. > > IMHO complex compilation processes are an indication > > of hard-to-understand concepts or hard-to-read constructs. > > As such a complex compilation process only seemingly > > (and not really) makes programming easier. > > Not at all. Let me take an example to show you what I meant. If you have > a record (in Pascal) or struct (in C), you are not allowed to compare > them directly. Why? because records may contain gaps that shouldn't be > compared, and skipping the gaps was deemed too much work for the > compiler. In Ada, there is no problem writing: > if Rec1 =3D Rec2 then .... Neither in Seed7, which has the =3D and <> operators predefined for all structs. Btw.: Why should gaps in a struct make problems? A struct compare should call the compare functions of the elements anyway. IMHO such features do not make problems. I was referring to things like overloading rules where the result of a function/operator is taken into account. Greetings Thomas Mertes Seed7 Homepage: http://seed7.sourceforge.net Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch, statically typed, interpreted or compiled, portable, runs under linux/unix/windows.