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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2078dddcdcd8d83 X-Google-Attributes: gid103376,public From: Ben Brosgol Subject: Re: Underscores in identifiers (was: Warning: Religious naming convention discussion :-) Date: 1997/05/18 Message-ID: <337E87CC.9CB@world.std.com>#1/1 X-Deja-AN: 242184803 Sender: news@world.std.com (Mr Usenet Himself) References: <5kjvcv$evt@news.cis.nctu.edu.tw> <337934F2.7593@world.std.com> Organization: The World @ Software Tool & Die Reply-To: brosgol@world.std.com Newsgroups: comp.lang.ada Date: 1997-05-18T00:00:00+00:00 List-Id: Robert A Duff wrote: > ... There were three separate votes taken > (which I thought was silly), on three separate issues. Whether to allow > (1) leading underscores, (2) two underscores in a row, or (3) trailing > underscores. To my astonishment, the votes came out different. I'm not > too sure, but I think (2) lost by a little bit, (1) lost by a greater > margin, and (3) won by a little bit. So the design team published the > next version of the document allowing (3). However, this annoyed some > people greatly. It was more than just the French delegation. So, > although I had been in favor of free use of underscores, I pushed on > Tucker to go back to the Ada 83 rule, because (A) I thought that it was > ludicrous to change the rule, but not change it fully, and (B) although > the split was roughly 50-50, the people against trailing underscores > felt much more strongly (fanatically, I would say!) than the other side, > so we shouldn't piss people off over such an unimportant feature. So we > proposed this at the next meeting, and that's the way it ended up. > ... > >Anyway, there you are -- it's not in Ada 95 (you can guess which side > >Robert_ Dewar_ was_ supporting_ :-) > > I was on the same side as Robert. The really annoying thing is that we > were trying to have a good interface to C, and *leading* underscores > would come in really handy, there. > > I suppose the design team could have insisted on having our way, but we > wanted to save our insisting for cases we felt were important enough to > go against the majority opinion. > > - Bob Let me add my recollections, since I guess I'm responsible for stirring up the pot here with my earlier article. At one point in the Ada 9X design (I think this was in mid '93 or so) we had reached a grudging compromise allowing an identifier to include a single trailing underscore. Just as the embers of this issue were dying down, a member of the design team, Offer Pazy, came along with a figurative can of gasoline and sent out a message to the reviewers to the effect that allowing identifiers to end with an underscore was a violation of fundamental Ada design principles, or something to that effect. (Offer, if you're out there and reading this, you can confirm or deny this point.) In any event, there's nothing like an argument about lexical or syntactic issues to get people's language designer juices flowing -- some would be amazed at how much time was spent at the Villars WG9 meeting (March '94) before settling on "Adjust" for the name of the procedure that is invoked during assignment for a controlled type -- and it wasn't long before it was obvious that the "compromise" solution for a single trailing underscore was unraveling. As Bob mentioned in the quote above, the dynamic was that noone felt passionatley in favor of allowing more generality for underscores in identifiers, but at least one delegation (and I think others as well) felt _extremely_ strongly that such liberalization would seriously compromise program readability. So back to the Ada 83 identifier rules we reverted. Ben Brosgol brosgol@aonix.com