<div dir="ltr"><div dir="ltr">On Wed, Apr 3, 2024 at 1:30 PM segaloco via COFF <<a href="mailto:coff@tuhs.org">coff@tuhs.org</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I get (friendly) flack for this from some of my coworkers, context is we're a C# and Java(Type)Script shop. They poke fun at how I write these languages like a C programmer but I don't ever hear anyone complaining about the readability of my code :)<br>
<br></blockquote><div>Someone once observed that a good Fortran programmer can write Fortran in any programming language.</div><div><br></div><div>Here's another PL/I toxic language feature. Both COBOL and Fortran were designed around the same time that Noam Conmsky was working out formal language theory and both have ill-behaved grammars. Fortran has context-dependent lexical analysis, for example. PL/I is better behaved--the grammar for its lexical analysis is a regular grammar and can be processed with a state machine. But unlike C and other more modern languages, PL/I has no reserved keywords. So you can write things such as:</div><div><br></div><div>IF IF=THEN THEN THEN = ELSE;</div><div><br></div><div>Here the first IF and the second THEN are keywords. Everything else is a variable name. Our PL/I shops forbade variable names that were the same as language keywords.<br></div><div><br></div><div>I suppose the designers of the PL/I language wanted to allow for the introduction of new language keywords while retaining backwards compatibility with programs that may have used the new keyword sa a variable name.</div><div><br></div><div>-Paul W.<br></div></div></div>