Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Martin Ward Newsgroups: comp.compilers Subject: Re: for or against equality, was Why are ambiguous grammars usually a bad idea? Date: Wed, 5 Jan 2022 10:25:37 +0000 Organization: Compilers Central Lines: 48 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-01-016@comp.compilers> References: <17d70d74-1cf1-cc41-6b38-c0b307aeb35a@gkc.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="84231"; mail-complaints-to="abuse@iecc.com" Keywords: PL/I, history, comment Posted-Date: 05 Jan 2022 12:11:32 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <17d70d74-1cf1-cc41-6b38-c0b307aeb35a@gkc.org.uk> Content-Language: en-GB Xref: csiph.com comp.compilers:2795 On 04/01/2022 21:26, gah4 wrote: > Stories are that COBOL programmers always > keep the list of reserved words nearby, to avoid using them. Our esteemed moderator claims: > [COBOL doesn't have that many reserved words I count 510 reserved words in IBM COBOL. Adding a few other dialects can push the total to 700 or more. By comparison, C has about 32 reserved words. The story I heard was of a COBOL shop where it was mandatory to include a hyphen in every data name: in effect, *every* unhyphenated word was treated as a reserved word. The slightly more managable list of *hyphenated* reserved words (149 in IBM COBOL, but 46 of these are of the form COMP-0, COMP-1, COMP-2 etc) was printed out and posted on the wall. I just noticed that if you include a digit in the part of the name before the first hyphen, you can guarantee to avoid all the reserved words! PL/I went to the other extreme of no reserved words in reaction to COBOL. Also, the aim of PL/I was to be a language which does everything: business programming (like COBOL) and scientific programming (like FORTRAN). In theory, if you only wanted to do, say, business programming, you only needed to learn part of the language and you would not get tripped up by keywords from the other part of the language that you didn't know about yet. Using a language that you don't know in its entirety might seem dangerous, but everybody seems to do it these days: how many C programmers have read the entire 500+ pages of the latest C standard and memorised the 200+ varieties of "undefined behaviour" so that they can avoid all of them in every line of code that they write? -- Martin Dr Martin Ward | Email: martin@gkc.org.uk | http://www.gkc.org.uk G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4 [IBM hoped everyone would switch from Fortran and COBOL to PL/I and it was obvious Fortran programmers would not put up with reserved words, particularly ones unrelated to scientific programming. As far as the size of languages, that seems a matter of point of view. Python is a large language if you consider the standard library to be part of the language, a very small one if you don't. -John]