Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Are prototypes evil?

by lestrrat (Deacon)
on Sep 03, 2002 at 10:05 UTC ( #194715=note: print w/ replies, xml ) Need Help??


in reply to Are prototypes evil?

I think when they are called for ( such as when you described "... I like the ability to use subs like built-ins.." ), they can be good. The reason most people that I know detest them is because it gives you false sense of security

For example, you may think that a sub foo($) would force perl to raise an error if you passed an array to it. But this produces no errors:

my @list = qw/ foo bar baz /; foo( @list );

instead, you get size of the list.

I find this to be extremely dangerous, because a lot of people expect "prototypes" to work sort of like C/C++/Java prototypes, and what's worse, it sometimes seems to work that way as well (For example, foo($a,$b) would in fact generate an error)

That's exactly why I don't like them, and almost never use them except for in esoteric cases. At the very least, I think the use should NOT be encouraged.


Comment on Re: Are prototypes evil?
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2015-07-28 05:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (252 votes), past polls