levipearson at gmail.com
Mon Nov 8 10:59:12 MST 2010
On Mon, Nov 8, 2010 at 10:21 AM, Kenneth Burgener
<kenneth at mail1.ttak.org> wrote:
> Alex Esplin wrote:
>> While it's true that you can write clean, easy-to-understand and
>> maintain code in Perl, it takes more effort to do so than in Python.
>> While it's also true that you can script anything in Python that you
>> can in Perl, sometimes Perl's backtick (``) operator and built-in
>> regex capabilities make it a lower-friction interface to automating
>> system scripts.
> I agree with Alex on the power of Perl.
> I like to think of the transition like this: (depending on the size of
> script I need)
> Bash - Perl - Python
What happened to the Ruby love on the list?
My vote would probably be for Perl, because it was ground-up
'designed' to do unix system scripting inasmuch as it borrowed the
syntax and weirdness of a whole bunch of unix scripting tools (sed,
awk, grep, etc.) and glommed them together into something that did
eventually become a remarkably coherent language, considering its
heritage. It doesn't force any kind of methodology or good design
sense on you, so you can make your scripts as quick and ugly and
full-of-hack as appropriate. Plus, people have been doing useful
stuff with it for ages and have put all sorts of code for getting
stuff done in CPAN.
While I have a soft spot for Python, as I discovered it while trying
to write non-scripting programs in Perl, which I didn't know very well
at the time, it's not a favorite of mine anymore. It's way better
than Perl as a language for developing full-fledged programs rather
than automation scripts, at least if you're not a Perl guru or
something, mostly because it's not a terribly clever language. It
provides a fairly straightforward way of doing things in a consistent
and not-too-verbose, not-too-concise manner such that you can
generally understand the stuff other people (and yourself of a few
months ago) wrote, and there aren't a lot of surprises.
Ruby is sort of Perl-like in cleverness, but with object-orientedness
baked into everything as with Python. It also borrows liberally from
Scheme and Smalltalk, which are a couple of my favorite programming
languages. Unfortunately, someone went and wrote Rails with it, and
the community was apparently taken over by pretentious idiot Rails
fanbois. I'd recommend staying away until you are sufficiently
inoculated against that sort of idiocy, or at least have someone you
trust to keep you grounded in reality.
More information about the PLUG