Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^5: Generate the perl sequence 1, 11, 111, ....

by monarch (Priest)
on Oct 19, 2008 at 12:09 UTC ( #718047=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Generate the perl sequence 1, 11, 111, ....
in thread Generate the perl sequence 1, 11, 111, ....

I would agree with the printf being a trap without a formatting string. However I would disagree that C-style for loops are more error-prone than the double-dot operator. I disagree, however, that c-style loops are harder to understand.

I personally find it much harder to mentally parse the for my $i ( 1 .. $counter ) because it forces me to remember whether the .. operator is a toggle or a list generator, and then I have to wonder if list generation is less efficient than the C-style comparison and increment operators.


Comment on Re^5: Generate the perl sequence 1, 11, 111, ....
Select or Download Code
Replies are listed 'Best First'.
Re^6: Generate the perl sequence 1, 11, 111, ....
by ikegami (Pope) on Oct 19, 2008 at 16:41 UTC

    C-style loops typically involve 3 variables, 3 operators plus "my" and 2 constants.
    Perl-style loops typically involve 1 variable, 0 operators plus "my" and 2 constants.

    Aside from the studies showing a relation between code length and the chance of there being a bug, aside from my personal experience of C-style loops being one of the biggest source of bugs, I don't see how you can argue that something that has so many more elements to parse is easier to read.

    it forces me to remember whether the .. operator is a toggle or a list generator

    Well that's simple. The .. operator is always used to generate a list.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (10)
As of 2015-07-30 09:37 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 (270 votes), past polls