in reply to A short whishlist of Perl5 improvements leaping to Perl7
One of the more-interesting, but probably entirely apocryphal, "stories of computer science" has to do with an attempt to feed a copy of Lincoln's Gettysburg Address into a language compiler. As the tale goes, the "program" compiled "without errors" into a program that of course did absolutely nothing.
Another probably equally apocryphal story relates how an effort to "translate Russian to English and Back" produced "The wine is acceptable but the meat has spoiled" in response to "The spirit is willing but the flesh is weak."
Maybe the real lesson to be learned here is that computers suck at saying "yes," even though they are splendid at saying "no." Therefore, if you, say, engineer your language to "be trusting" – to accept any source-code that it sees and to try to devise its way around it as though you hadn't actually made a mistake – then ...
A language compiler is never smart enough to second-guess you, but it is perfectly capable of detecting every single instance where you are inconsistent with yourself.
The historical Perl language continues to be confronted with its history, and I continue to appreciate that the Perl language has never done what the PHP language has done so-very-many times. But somtimes I still wonder if we shouldn't cautiously introduce the notion of: dont use? Might it not be time that use strict; use warnings; becomes the official language default ... such that existing source-code bases (if they still exist?) must cautiously identify themselves?
Because, "today, I want the language-compiler (and every other part of the system) to be working as hard for me as possible, applying every scrap of erorr detection that it – by its nature – possibly can ... today.