For instance, perl has this construct, to make your programs better:
a program foo.pl:
$c = 1;
runs fine. Now turn on strict: use strict;
$c = 1;
and $ perl ./foo.pl
Global symbol "$c" requires explicit package name at ./foo.pl line 2.
Execution of ./foo.pl aborted due to compilation errors.
you must declare $c: my $c = 1;
the idea would be... write your program and you can opt-in to various constructs.NOTE: my first example didnt' work.
use strict;
$a = 1;
won't throw an error. Turns out the variables "$a" and "$b" are exempt from "use strict;" ha. wow.