Slashdot Mirror


Damian Conway On Programming, Perl And More

Andrew writes: "My host pair.com has an interview with Damian Conway in which he talks a lot about his upcoming modules, and what skills a Perl programmer needs. I'm personally waiting on Parse::FastDescent." Conway talks about some interesting modules he's working on, Perl 6, and on programming in general, too.

1 of 185 comments (clear)

  1. Perl vrs. Python by phlurg · · Score: 3, Offtopic

    Printing an array of hashes in Perl (lifted from O'Reilly book):

    # print the whole thing one at a time
    for $i ( 0 .. $#LoH ) {
    for $role ( keys %{ $LoH[$i] } ) {
    print "$i: $role is $LoH[$i]{$role}\n";
    }
    }
    in Python:

    for i in range(len(list)):
    for key in list[i].keys():
    print i, ": " + key + " is " + list[i][key]

    Consider line 2 of both examples. Perl's contains 11 non-alphanumeric typographical symbols. Python's contains 6. On a purely visual level alone, I can't imagine anyone preferring to maintain the former over the latter. Furthermore, Perl requires the explicit "% { }" foo so that it knows it's dealing with a hash, an issue Python doesn't face. (Orthogonality... now _there's_ a concept!)

    Now take the above Perl example and imagine if you're using a _reference_ to an array of hashes, as in:

    foo = \@LoH;
    for $i ( 0 .. $#$foo ) {
    for $role ( keys %{ $$foo[$i] } ) {
    print "$i: $role is $$foo[$i]{$role} \n";
    }
    }

    Sweet Jesus, my eyes are hurting! I started using Python 6 months ago and for general purpose scripting, I swear I'll never go back to Perl if I'm not forced to.