Richard Bucker

Is it possible to be agile and an experienced Perl developer?

Posted at — May 26, 2012

In the modern Perl book the author writes:A Perl novice might multiply a list of numbers by three by writing:my @tripled;my $count = @numbers;for (my $i = 0; $i < $count; $i++){ $tripled[$i] = $numbers[$i] * 3;}A Perl adept might write:my @tripled;for my $num (@numbers){ push @tripled, $num * 3;}An experienced Perl hacker might write:my @tripled = map { $_ * 3 } @numbers;As I look at these three snippets of code they all make perfect sense to me and while I very infrequently use the map function it’s not unknown to me. The reason I do not use it very often is for the maintainer’s sake. If I’m going to challenge myself to remember what or how I implemented something then why should I put that burden on the next person.So the challenge is this. With an Agile team you can expect that the members are going to have varying experience. Will it help or harm the team of the expert programmers write expert level code or if the rank and file try to write expert level code? Will the team be so distracted with output based on experience that the team is generally distracted from the real mission?What I’m suggesting is that there is a balance.