A
Aaron Sherman
Eric Bohlman said:Yep. Larry, AFAICT, didn't intend Perl to be an "undisciplined" language.
He intended it to be a "bring your own discipline (BYOD)" language. And I
think that's because he realized that:
I'm not convinced that that much thought went into it. I think Perl is
the result of "oh crap, someone's actually using it!" Mind you, Larry
makes it look much easier than it is, so sometimes it can seem like
there's a plan....
With Perl 6 there is clearly a plan and several goals, but that's Perl
6.
1) Despite all the religious wars over which style of programming
discipline is the Right One, what really matters in the real world of
writing correct, scalable and maintainable programs is that you pick one
and stick to it.
True to an extent. That statement can, of course, be twisted into a
justification for some VERY poor choices.
2) (This one is probably going to raise some hackles) Many problems are not
technical problems and therefore one should not attempt to solve them by
technological means. In particular, programming discipline or the lack
thereof is a social problem, not a technical one, and therefore requires a
social solution rather than a technical solution.
I agree to a point. The key difference between you and I here is that
I think the language should have a set of tools for casting some of
those social conventions into code. The strict module is a simple
example of this. In Perl 6 there will likely be many more such
features for telling perl what constraints you wish to place on the
code. This can be quite beneficial too, as certain constraints will
make certain optimizations possible (one of the reasons that I
disagree slightly with some of Parrot's design goals).