A Toolbox Heritage - Page 163
March 19, 2001
Perl evolved from a collection of disparate tools, and it still
reflects that heritage today. Rather than be borne of a
comprehensive and unified design, Perl has been put together
piecemeal over time. The language is tantalizingly powerful,
because its component tools are often so fully formed. The
ability to pick up a hammer and a saw in Perl is a vast
productivity improvement compared to, say, C, where you may have
to chop down the tree for the wood of the hammer, then assemble
the hammer, then forge the saw, and so on.
But Perl's collection of tools is not tightly bound by a strong
vision or central core. This leads to an extremely flexible
system for modest sized projects, but increasing disorganization
as projects grow large. Perl is wonderful at whipping up results
where previously there were none; it is weak at maintaining
control over a system that spans multiple goals and people.
Perl is believed to be the dominant programming language behind
dynamic Web sites, and with good reason. Free and widely
available, with the tools for interacting with the Web at the
ready, Perl has been excellent at breathing life into the modest
applications that tend to run behind Web sites. However, as the
Web itself grows into a more complex tool, and applications
evolve into services, Perl's weaknesses are beginning to feel
more stress.
While largely a subject for another time, one does want to
briefly mention Python, a
language with a modest user-base, but growing in popularity,
especially from Perl refugees looking for more order and less
chaos. Those who relish in Perl's power but are dissatisfied with
its sloppiness may find alluring refuge in Python. On the other
hand, those who thrive in Perl's freewheeling culture will likely
find Python too stiff in the lip and perhaps a size too small.
Simplistic Subroutines - Page 162
The Perl You Need to Know
The Perl You Need to Know Part 23: CPAN, a Farmer's Market for Perl - Page 164
|