On 4/26/06, Alan M <nospam / hotmail.com> wrote:
> Hi,
>
> I am a Linux administrator and I use Perl for scripting.
> I do not develop any web applications. My programs are command line
> tools.
>
> At this phase I am thinking to upgrade my programming language to either
> Python or Ruby.

I started to use perl for scripting maybe 10 to 12 years ago, when I
finally decided that I was trying to force 'awk' to do things it was
never meant to do.  I wrote a lot of useful sysadmin-type programs
in perl (reading log files, summarizing data, etc).  But many of those
scripts were written in bits-and-pieces.  I start out needing a 3-line
perl script for some simple task.  Then a week later I need to add
something else.  Then I realize I could use the same script on two
different log files if I just made a few more changes.  Before long,
my initial 3-line perl script is up around 700 lines.  And, well, it's a
mess.  It's a mess because it was never designed to be a 700-line
program, it was built up a few dozen lines at a time, over many
weeks or months.

When doing the same kind of scripts in ruby, I found that I do a
much better job of re-factoring the program as I added more
features to it, or as I found out that the data I needed to process
looks nothing like I was told it was going to look like.  I *could*
write a good perl script if I started out with a fixed goal, and
stuck to whatever that original goal was, but that almost never
happens to me...

I used to do some Objective-C programming under NeXTSTEP,
and I found that the object-oriented support in ruby fits very
well with how my mind thinks.  I've looked over python a few
times, and I know some excellent sysadmins who use python
for their work, but python just never quite caught my interest.
I'm not sure why.  The usual complaint about python is the
whitespace-requirements that it has, and actually that does
not bother me at all.  But for some reason I found ruby much
more compelling to the way that I think than I found python
to be.

--
Garance Alistair Drosehn     =             drosihn / gmail.com
Senior Systems Programmer               or   gad / FreeBSD.org
Rensselaer Polytechnic Institute;             Troy, NY;  USA