SPUG: It *was* OK to speak baby Perl, but now what? [was Re: PerlWTF?]

Michael R. Wolf MichaelRWolf at att.net
Fri Apr 9 17:31:20 PDT 2010


On Apr 9, 2010, at 2:45 PM, Andrew Sweger wrote:

> $x //= 0;
> $x-- if $x > 1;
>
> Disclaimer: The names of some scalars were changed to protect the
> innocent.

What did you change to protect the guilty?

Silliness aside, I'm getting frustrated with my own coding style.  In  
other words, I'm growing.

I used to allow undef to behave like zero, as documented, without  
feeling the need to appease the pragma gods.

Then I grew up to "use warnings" and perlcritic(1) as guard rails .

Then I grew up and fought the restraints that were formerly called  
safety devices, and became annoyed that I was serving these linguistic  
structures instead of them serving me.

When I was a child Perl programmer, I print'ed as a child.
Now that I'm a growed-up Perl programmer, I 'say' as a growed-up.
Etc...

Perhaps I was too self-absorbed and well contented for a few years,  
but recently I started reading about the discontent that's brewed the  
likes of:
     use Modern::Perl;	# chromatic
     use Perl5i::latest;		# Schwern
     use common::sense;	# Mark Lehmann

And then I had this aha moment.
     I don't have good coding habits.
     I've got cult cargo habits.

Why am I repeating magic incantations when my language of choice  
should be doing that for me?  (I *am* starting to 'use Moose'.  BTW -  
the next issue of "The Perl Review" will be exclusively devoted to  
Moose.)  I have evolved.  Has my language evolved to meet me?

Of course, it's not so black and white, but it got me thinking.   
Thinking more than normal.  Especially in this pregnant pause while we  
await the gestation of Perl6.

So, my question to other Perl programmers, especially the thinking  
ones, is....

How is your "software practice" (doctors and lawyers shouldn't be the  
only professionals with a practice) maturing to move beyond the cargo  
cult practices of your days of writing baby Perl?

Having asked the question, here's grist to start the conversation.

Here's my growing edge...
   use Moose;			# New for me...
   use DBIx::Class;		# ditto
   use 5.10;			# New for my client's platform...

and what's still comfortable...
   use Test::More;
   use warnings;
   use strict;

and what's a bit beyond my comfort factor...
   use Perl5i::*;
   use Fatal;
   use Test::Most;
   use Perl6::*;


Admittedly, I'm not a bleeding edge programmer in the community, even  
though I've been around it for 15 years.  The bulk of my Perl work has  
been in traning the next generation to move beyond Baby Perl(tm) so  
that they may join the movement.

I'm really interested to hear what folks at all the levels of Perl-ish- 
ness are up to in their practice: from Baby Perl Programmers to Monks.

Thanks for sharing...

-- 
Michael R. Wolf
     All mammals learn by playing!
         MichaelRWolf at att.net






More information about the spug-list mailing list