Backwards compatibility in different programming languages

There have been several posts at this forum, J3-GitHub, other sites, etc. over the years where I have consistently mentioned the need to differentiate between “eliminate implicit typing” and the better one which is to remove implicit mapping. Great attempts have been made to explain the latter i.e., to remove implicit mapping only makes a few, low-cost changes to the standard - primarily it is a change to a single sentence as shown in the link in the first sentence - which makes implicit none the default and standardizes the intent of all practitioners today which is to explicitly declare all objects in programs.

The maintainers of old codes having an option to insert

implicit integer(i-n), real(a-h, o-z)

is more than good enough in terms of backward compatibility. The vendors obliging them with never making the newer standards the default semantics is an additional crutch that is more than good enough.

There is no need to place any further demands on those submitting proposals here.

There are some deleterious features where the notion of backward compatibility is a needless noose being placed around the language.

Fortran strives for backward compatibility but, thankfully, has never been a prisoner to it. The list of deleted features I expounded upon upthread are prime examples.

There is no need for anyone to get carried away with the backward compatibility bogeyman in the context of implicit mapping.

4 Likes