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 :)
Someone once observed that a good Fortran programmer can write Fortran in any programming language.
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:
IF IF=THEN THEN THEN = ELSE;
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.
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.
-Paul W.