Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Re: Re: Re: Questions about Perl 6

by ergowolf (Monk)
on Mar 25, 2003 at 20:40 UTC ( [id://245777]=note: print w/replies, xml ) Need Help??


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

Elian:
"The bit that'll change how perl's used is more due to language changes in perl 6 making B&D style programming easier (which many people do like in larger projects) and easier integration with other languages running on parrot."

This may be a silly question but, what is B&D programming?

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Questions about Perl 6
by Elian (Parson) on Mar 25, 2003 at 20:44 UTC
    "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.
      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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://245777]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-04-23 21:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found