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,bc1361a952ec75ca X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-07-30 01:40:13 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeed.gamma.ru!Gamma.RU!aaanet.ru!not-for-mail From: "Gary Lisyansky" Newsgroups: comp.lang.ada Subject: Re: How to make Ada a dominant language Date: Mon, 30 Jul 2001 12:36:30 +0400 Organization: AAA Intersvyaz Message-ID: <9k36ae$138k$1@pa.aaanet.ru> References: NNTP-Posting-Host: 213.59.110.211 X-Trace: pa.aaanet.ru 996482190 36116 213.59.110.211 (30 Jul 2001 08:36:30 GMT) X-Complaints-To: usenet@news.aaanet.ru NNTP-Posting-Date: 30 Jul 2001 08:36:30 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 Xref: archiver1.google.com comp.lang.ada:10721 Date: 2001-07-30T08:36:30+00:00 List-Id: "Russ" <18k11tm001@sneakemail.com> wrote in message news:bebbba07.0107292308.d1192fc@posting.google.com... > The Ada programming language is based on an excellent fundamental > design, but it is much less popular than it could be because it has an > awkward, "klunky" syntax. I propose to clean up the syntax by > borrowing from Python. Python is very popular high level "scripting" > language with a reputation for promoting clean, clear code. The new > syntax could be translated into Ada95 syntax with a relatively simple > "preprocessor," so existing compilers could still be used, old code > would continue to work, and programmers could continue to use the old > syntax if they wish. Ada is known to favour code reader over the code writer, while Python tends to be a typical "write only" language. > > Here are the syntax changes I propose: > > 1. Eliminate the "end" keyword and make the indentation structure an > inherent part of the syntax, as in Python. This makes whitespace the part of the language syntax. In practice, it's not convenient, and adds *extremely nasty* tab/space problems. In common, it's a bug generator. > > 2. Eliminate the requirement for a semicolon after each executable > statement, but allow semicolons for combining multiple statements on a > line, as in Python. "Physical" line is not an element of Ada syntax. Writing statements in one line or several lines is purely the question of style which allows for more flexibility and readability. Changing this doesn't make any sense. In fact, suggestions 1 and 2 are in contradiction to the very idea of a free- form language. > > 3. Use "=" rather than ":=" for assignment, as in Python. (Use "==" > for equality testing if necessary to avoid confusion with assignment.) > > 4. Use "=" instead of "=>" for passing arguments by named association, > as in Python. > > 5. Reverse the backward declaration syntax. For example, use "integer: > count" instead of "count: integer", or use "integer in: count" instead > of "count: in integer". Exactly the same amount of typing. Only the reverse order of words that seems to be less readable. > > 6. Eliminate the "is" keyword. > > 7. Let "use" imply "with" so the tops of files need not be cluttered > with both "with" and "use" for the same package. > > A flag on the first line of a source file (e.g., the string "Ada01" > anywhere within a comment) could be used to tell the compiler that the > file needs to be translated to Ada95 before compiling. > > With these changes, I believe Ada would become much more popular and > could eventually become a dominant language. The resulting new > language could be called "Ada01," or something like that. No. Ones who like Python will continue to use Python. > > Honestly now, which of the following two statements is cleaner and > clearer? > > count: integer := 0; -- old syntax > > integer: count = 0 -- new syntax Clearly the first one ("old syntax"), because it puts user- readable variable name first, and doesn't force the user to locate this name somewhere between the [probably qualified] type name and the initialiser. Gary