[tpm] Misdirected effort
ait at p2ee.org
Mon May 7 13:09:16 PDT 2012
On Mon, May 7, 2012 at 3:50 PM, <arocker at vex.net> wrote:
> An article in May's "Linux Journal" mentions a site called "Software
> Carpentry" http://software-carpentry.org/about/ninety-second-pitch/ which
> aims to teach scientists how to program.
> A noble aim, but they spoil it by picking Python as the language of
> instruction. How can we show them the error of their ways, apart from
> referencing the role of Perl in bioinformatics?
Python and Java are languages designed to create software with
mediocre programmers. Note that I'm not using mediocre in a pejorative
but in the strict sense of the word. They were designed so that there
be one way to do it and no creativity, to be able to make relatively
good software with mediocre staff. They have become
mainstream/industrial languages because they satisfy that particular
need. They are no t bad languages at all, they're just boring and
Perl and many other non-mainstream languages on the other hand are
designed by hackers, linguists and higher-order programmers to make
things interesting and fun, and more optimal in many cases. They offer
more freedom and provide a much wider base of tools, but on the other
hand require a lot more knowledge, and the freedom of TIMTOWTDI comes
at a price.
Perl is interesting however because it truly satisfies the needs of
the very beginner, whilst at the same time offering things for
higher-order programmers, and easy interfacing to C, which I
personally find most valuable. With Perl you can program in several
paradigms, at the same time! Functional, Simple OO, Complete OO
(Moose), Procedural, Event-based, all at the same time. With Perl you
can adapt your programming style/paradigm to tackle problems
differently and I think this is most valuable for scientists. I mean,
Perl will satisfy the easy-learning traits of Python, but will also
satisfy the needs of complex problem-solving using different
techniques and approaches, hardly ever found in a single language.
Maybe some kind of argument in that sense may make sense for the
scientific crowd, but there are surely a lot more, like the sheer
amount of science related modules on the CPAN.
Look in Perlmonks as there have been several discussions on promoting Perl.
More information about the toronto-pm