in reply to Re: Re: Re: Re: Questions about Perl 6
in thread Questions about Perl 6

"Bondage and Discipline", a mildly off-color reference to... other things. Basically it's programming with less programmer freedom and more restrictions on what's allowed and not allowed. It's the stuff that makes 30 line admin scripts a pain, but modules and 100K line applications easier to manage.
  • Comment on Re: Re: Re: Re: Re: Questions about Perl 6

Replies are listed 'Best First'.
Re^6: Questions about Perl 6
by Aristotle (Chancellor) on Mar 30, 2003 at 19:57 UTC
    It should be noted that B&D can become a self fulfilling prophecy in that its absence from a 100k line app might reduce it to a 40k line one. But that's the age old debate..

    Makeshifts last the longest.

      Oh, true, but often you need to structure your code style and standards around things other than a cadre of expert programmers and 1337 hax0rz. Larger organizations often have a more middle-of-the-road average programmer, and prefer the standards to be set such that the code is generally understandable by those folks, as they're the ones who will end up doing maintenance on this code 10 or 20 years from now.

      With long-lived or institutional code there's often more than just "does it look like it runs" involved. There can be detailed code reviews, correctness proofs, requirements for defensive coding, and other things thrown into the mix that complicate things.

      For example, if there's a general requirement for defensive programming, type checking, and suchlike things, having B&D features in the language will, if they're properly defined, reduce the number of lines of code over the alternative. It's much more concise to throw types on the declared parameters of a sub or method than it is to have code in your methods that do the typechecking for you, and it's generally less error-prone project-wide as there's less code that you have to write.