On Monday, 27 August 2018 at 04:00:18 UTC, John Carter wrote:

Rather the assumption must be, a language processor eats source, it can (re)write source as well.

And before any one mentions halting problems and the impossibility of a compiler understanding whether a refactoring is behaviour altering.....

My empirical experience with this is, most recent advances in language design have been around making it harder to make stupid mistakes.

And whenever I have found a chunk of pre-existing code that required substantial modification to update it to the new language paradigm... it was because it was buggy already, and attempting to express the current behaviour in latest preferred idiomatic way made that obvious.

ie. It was hard to move that code to latest preferred idiom because it require a bug fix AND a syntactic tweak.

ie. That code was working "by accident" or not at all.

The older I get the less sympathy and mercy I have for code that works "by accident" and the more I encourage language designers to evolve our tools faster to give us more safety from our own inexhaustible supply of stupidity.

Reply via email to