Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^3: Avoiding silly programming mistakes

by TGI (Parson)
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

Replies are listed 'Best First'.
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?
        A reply falls below the community's threshold of quality. You may see it by logging in.

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 making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2018-11-17 07:11 GMT
Find Nodes?
    Voting Booth?
    My code is most likely broken because:

    Results (202 votes). Check out past polls.