Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Avoiding silly programming mistakes

by TGI (Vicar)
on Aug 20, 2008 at 15:19 UTC ( #705532=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Avoiding silly programming mistakes
in thread Avoiding silly programming mistakes

The various "best practices" dogmata you seem to decry have evolved in the Perl community because Perl gives the programmer a lot of freedom--to screw up or to do magic for good or evil.

Other languages focus on technical restraints to prevent bad programming. Perl relies on cultural norms.

Whether this is a feature or a bug is open for discussion.

For some reason, you seem to be against the use of strictures and warnings (but, maybe I am misreading your posts and you only oppose blind dogma). These pragmata do an excellent job of catching d'oh type errors. Misspelled a variable? Used it out of scope? Typed if( $foo = 3 ). Warnings and strictures just saved you time, potentially hours. So, to my mind, they are particularly appropriate to mention in this thread.

If you don't see a use for strictures and warnings, try hacking some PHP for a while. If you type as badly as I do, anything over a few hundred lines will start to hurt.

Update: I'm happy to be wrong. The use of strictures is important, and I am very glad to see that you agree--especially glad to see that you say "almost all" your code.

The core disagreement here is whether it is appropriate to apply this advice in this thread. I think it is, you think otherwise. No big deal.

You are absolutely right to mention the other 254 practices in PBP. (Although not all of them should be followed--which is a topic that has been thoroughly debated.) PBP was my first thought on reading the OP--but someone else had already posted a pointer to it.

TGI says moo

Comment on Re^3: Avoiding silly programming mistakes
Re^4: Avoiding silly programming mistakes
by JavaFan (Canon) on Aug 20, 2008 at 15:37 UTC
    You are misreading my posts. Compeletely. I'm not against using strict or warnings - I use it in almost all my Perl code.

    I am against the many posts suggesting to use 'strict' or 'warnings' when such things have little to do with a problem someone posts. At least, if you cannot contribute much to the problem except reciting mantra, come up something original. There are 254 other best practices mentioned in Damians book. ;-)

      Considering the number of code problems strictures and warnings can help alleviate or eliminate, some won't answer questions or offer help regarding code which is written without them. Is that a good enough reason to convince people to use them?

        If people don't want to answer questions, then don't answer them. Don't answer them with answers that don't help to solve the problem; that's just clutter, and clutter reduces usefulness. Specially clutter that's found over and over and over again. If you can't contribute towards a useful answer, and you can't stop the urge to scribble something in the textbox and hit the "create" button, at least be original. Don't be Borg.

        If you ask for directions in a city where you are unfamiliar, would you welcome answers that say "you're better off wearing seat belts"? Over and over again? Regardless whether you are wearing them or not, it's not a useful answer.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (11)
As of 2014-09-02 09:38 GMT
Find Nodes?
    Voting Booth?

    My favorite cookbook is:

    Results (21 votes), past polls