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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c7d533acec91ae16 X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: Question for the folks who designed Ada95 Date: 1999/04/28 Message-ID: #1/1 X-Deja-AN: 471917147 Sender: bobduff@world.std.com (Robert A Duff) References: <7g2qu4$ca4$1@usenet.rational.com> <7g3b5g$p92$1@nnrp1.dejanews.com> <7g4ae3$hjh2@ftp.kvaerner.com> <7g4gjk$luq@drn.newsguy.com> <7g4n1q$vag$1@nnrp1.dejanews.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1999-04-28T00:00:00+00:00 List-Id: Robert Dewar writes: > This is something that people feel strongly about one way > or the other. It partly depends on your previous > experience, C programmers actually like the (), but > Algol tradition programmers find them ugly. Not entirely -- I'm a counter example. I was raised on Pascal, and have spent most of my career programming in Ada, but I still prefer the empty parens, because they add information -- they help me understand the program. In a functional language I might not care, but in a language like Ada, where a function can go off and do who-knows-what, it seems (to me) nice to distinguish function calls from variable references syntactically. > What *is* important is that this issue has been discussed > at length, in both 83 and 95, and every discussion made it > clear that the constituency that hates the null parens is > (a) in the clear majority and (b) feels strongly about it. More importantly, Jean Ichbiah was in the anti-null-parens group, and his vote counted more than anybody else's. That's as it should be -- the lead language designer should get the final say in such matters. Note that there was a preliminary version of Ada that required null parens. I think folks were worried about examples like: function F(X: Integer) return Character; function F(X: Integer := 3) return String; ... C: constant Character := F(3); -- Ambiguous, one would hope. which is a little bit tricky for the compiler writer -- but not such a big deal if you know about it before designing your overload resolution stuff. > To suggest making such a change at this stage is out of > the question. It would be a horrendous incompatibility that > would annoy the majority of Ada users! Quite right. Even if everybody liked empty parens, it would be impossible to change now, due to upward compatibility. The idea of making them optional doesn't fly, either -- it defeats the whole purpose of having a clear syntactic indicator. - Bob -- Change robert to bob to get my real email address. Sorry.