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 X-Google-Thread: 103376,c1983ae2deb642ab X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-10 14:23:25 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!nntp.abs.net!uunet!dca.uu.net!ash.uu.net!world!news From: Robert A Duff Subject: Re: Ada -vs- GNAT Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Mon, 10 Jun 2002 21:22:50 GMT References: <5ee5b646.0206080414.67b7ab3b@posting.google.com> <3D039926.BF697C7A@adaworks.com> NNTP-Posting-Host: shell01.theworld.com Organization: The World Public Access UNIX, Brookline, MA X-Newsreader: Gnus v5.7/Emacs 20.7 Xref: archiver1.google.com comp.lang.ada:25699 Date: 2002-06-10T21:22:50+00:00 List-Id: Richard Riehle writes: > A long time ago, in a far away place called Data Processing Land, we had > languages such as COBOL, and compiler publishers addressed specific > user and platform needs by adding new reserved words and other features > to the language. ACT appears to be taking a more responsible approach > by 1) not adding new features to the language, 2) tailoring their compiler > through the use of pragmas and attributes as authorized by the ALRM, and > 3) making it possible to avoid these additions by configuration pragmas. > This seems pretty reasonable to me, and I am, as you all know, a pretty > unreasonable person. It seems to me that (3) is the key point. It doesn't really matter very much whether language extensions are new syntax or new pragmas and attributes. If you use compiler-specific functionality, you damage your portability either way. The fact that the RM authorizes certain kinds of language extensions doesn't change this fact. For example, if you make heavy use of 'Unrestricted_Access to make downward closures, you're going to have a lot of trouble porting to a compiler that doesn't support 'Unrestricted_Access. If the same feature were provided with syntax, it would be no harder and no easier. The important thing is that you can run the compiler in a mode where it forbids such extensions. - Bob