[There will be lots of snippage here, so I can address the key issues without
making this a 300-line megillah. I've tried not to take out too much context,
and I'm certainly not intending to misrepresent, but I apologize if I've made
that mistake.]

J. David Blackstone wrote:
> Daniel Chetlin <[EMAIL PROTECTED]> wrote:
> > In large projects which require the constraining pragmas, it is not an
> > issue to take the extra steps and 'use' them.
> 
>   How many of those large projects have you participated in?  How many
>   people do you work with that you have to constantly cajole and prod to
>   "use strict;"?  It is indeed an issue, in several ways.

Peter Scott wrote:
> This is a (not *the*) key to the acceptance of Perl for large projects in
> large institutions.  You don't have to work for one or like the way they go
> about things, but if we can give them something that doesn't hurt everyone
> else then it's a win.  At least by the "Big House" philosophy.

And in a different message, Peter Scott also wrote:
> This is a (not *the*) key to the acceptance of Perl for large projects in
> large institutions.  You don't have to work for one or like the way they go
> about things, but if we can give them something that doesn't hurt everyone
> else then it's a win.  At least by the "Big House" philosophy.

I don't want to turn this into a muscle-flexing "well-I've-done-such-and-such"
credibility contest, but I think it's important for me (as maintainer of RFC
16) to make it clear that I do more than just write one-liners and make
quick-and-dirty hacks with Perl.

I just finished up a contract (right before TPC) with Intel, where I worked on
a project that was put into production as 80,000 lines of code, 95% in Perl.
And of course, C<strict> was ubiquitous for this project. In fact, it was
initially a cleanup of old Perl 4 and early Perl 5 code, and making the
scripts compile under C<strict> was one of our first milestones. So I am
familiar with both large projects and large institutions.

I am not in the least bit interested in making C<strict> go away; in fact, I'd
love to see it expanded, changed, and made more useful. I use it all the time.
I just think it's the wrong idea to put it on by default.

J. David again:
>   If your scripts are one-liners that involve the -e switch and we go with
>   "strict 'vars' in all cases except -e," then you have no need to worry;
>   the proposed changes will not affect you.

This seems wrong to me: do we want a one-liner to perform differently if it's
pasted into a file?

>   We'll keep hashing this out to try to satisfy everyone, so keep talking.

Absolutely; I'm by no means unconvincable on this subject. I appreciate the
calm ways it's been discussed so far. I know that this is something of a
philosophical issue, and can easily turn nasty, and I guess as J. David's
opposing co-chair of this subgroup, I should make it clear up front that I
appreciate everyone's sanity to this point.

> > This RFC is particularly concerned with the idea of having C<strict
> > 'vars'> on by default. This is an attempt to get around Perl's design of
> > having all variables global by default, and lexical only when declared.
> 
>   Some would say that Perl wasn't exactly designed aroung all global
>   variables; it was more of an accident.  In fact, the Camel book 2 all but
>   says so.

Yep, I agree. I had a short conversation with MJD about this, and he made some
great points. I don't want to paste it here without his permission, but I'm
hoping he's listening. Although I do know he's going to Las Vegas, so he may
not have time to chime in.

But I agree that this was an accident and a mistake. And like I say later in
the RFC, I feel that trying to fix this mistake by making C<strict> the
default is like <insert clever analogy about fixing one problem with an
unrelated solution>.

I have more to say, but I'm sure I'll have plenty of time; I'm hoping to hear
from lots of others about this as well. If it turns out that most people would
prefer C<strict> by default, I will feel no shame in folding my RFC. I'm just
banking on the fact that a fair amount of people share my lax-by-default
philosophy about Perl.

-dlc

Reply via email to