in reply to Re^3: Why isn't C<use strict> the default?
in thread Why isn't C<use strict> the default?

What makes you think...

Cos some people are curious enough to wonder...

All you do is cargo cult "no strict" into every bad program!

And the difference between a 'bad program with "no strict" cargo culted in' and a 'bad program' is...?

Hurray, a great victory!

victory?


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
  • Comment on Re^4: Why isn't C<use strict> the default?

Replies are listed 'Best First'.
Re^5: Why isn't C<use strict> the default?
by Anonymous Monk on Oct 29, 2004 at 08:11 UTC
    Cos some people are curious enough to wonder...

    Curious people whould have read a book or the documentation before starting to program, and whould have known about strict already.

    And the difference between a 'bad program with "no strict" cargo culted in' and a 'bad program' is...?

    Nothing, so no reason to break existing programs by making strict the default.

      75,000+ lines of POD and/or 30MB of html.

      If they start at the beginning, how long before they know that the word strict has some significance to Perl?


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "Think for yourself!" - Abigail
      "Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
        Pretty quick actually. If you start with "man perl", in the sentence, it directs you to "perlintro": If you're new to Perl, you should start with 'perlintro', which is a general intro for beginners and provides some background to help you navigate the rest of Perl's extensive documentation. If you read "man perlintro", when it first mentions variables, they are *all* my'ed. A few paragraphs down, there's a section called "Variable scoping", where it states The "my" is actually not required; you could just use: $var = "value";, immediately followed by However, the above usage will create global variables throughout your program, which is bad programming practice. And the next paragraph introduces "use strict".

        To be precise, "use strict" is first mentioned on characters 8911 - 8920 of "perlintro.pod". Given that the pointer to perlintro happens in the first 800 bytes of "perl.pod", and the total amount of bytes in the POD files (that's excluding the documentation of modules) is almost 4.6Mb, the answer to your question is "after about 0.2%" of the documentation, not even counting the documentation of the modules.

        A reply falls below the community's threshold of quality. You may see it by logging in.