Tom Metro wrote:
> Bill Ricker wrote:
> > Do we want to do something at the LinuxCon in South Boston in August?
> Doing it better, though, isn't trivial. It would take some research and
> work to first understand the reasons why developers have left Perl, the
> impression they have of Perl, and their concerns over using it on a
> work
> project. (Of course we can all speculate and guess at the answers to
> these, but there's danger in doing so from within the community, as
> those that have stuck with Perl have obviously not considered the
> deficiencies significant enough to justify abandoning the language.)

As a nigh-former Perl user who has essentially "left Perl" -- now perhaps
using it about once a year -- I can tell you the main reason without
resorting to speculation: Other languages got better.

Once upon a time, Perl was the big game in town.  But it didn't have
reference types.  Then Python came along.  It had plenty of flaws, but it
had regular expressions and reference types. Certain problems were so much
easier when solved with Python that lots of Perl users switched.  Then Perl
got reference types, and lots of users switched back.  Developers migrate to
tools that do what they need.  Better developers are comfortable learning
new tools all the time -- they don't have to "abandon" one language for

Some people didn't switch to Python -- some even claimed reference types
were not important.  And some others didn't switch back from Python to Perl.
There are plenty of people who will stick with a single language, no matter
what, and who will expound to others that their chosen language is the
"best".  To developers who have used a variety of tools and techniques, this
attitude seems fanatic and naïve.  Its advocates seem unpersuasive and

Every programming language, like every program, is a set of tradeoffs
between space & time, conciseness and readability, expressiveness and
simplicity, etc...  Perl is one set of those tradeoffs.  They're fine for
many things, great for some things, and horrible for others.  And Perl is
used by developers who want that set of tradeoffs.  If the number of places
where those tradeoffs are (most) appropriate is diminishing, relatively or
absolutely, then Perl may be headed to the land of LISP, Cobol, Tcl,
Objective-C and other languages that just aren't going to be what they
thought they were going to be.

> Once you understand the "customer perspective" better, you can then
> address it with all the marketing techniques that engineers hate, but
> are still effective on us: case studies (big names that still use
> Perl),
> statistics (CPAN modules, number of Perl jobs/programmers), feature
> comparisons (Perl vs. Python vs. Ruby), specific demos showing how to
> solve a common problem more effectively with Perl, talking points, etc.

The problem with Perl advocacy is that Perl advocates appear to be Perl
fanatics who think Perl should be used instead of every other language.  Not
even because Perl has some crucial feature or set of features that no other
language has, because it does not; but because they deny that any other
language is better than Perl at anything.

When someone says "Check out Groovy; its AST transforms are powerful",
people may listen and if/when they need that capability, they know how to
get it.  But when someone says "You should use Groovy for everything", no
one listens.

Note: Much of what makes Perl advocates seem so fanatic is that Perl is
already very popular and widely known.  There are conferences, books, web
sites... every sign of success short of a second implementation.  There are
plenty of other languages that are much less well known and perhaps more
deserving of advocacy time & effort -- F# comes to mind.  So one must wonder
what Perl advocates are looking to achieve.  The total subjugation of all
other programming languages?  World conquest?  Isn't it "enough" to be #1,
does Perl have to be the only one?

Perl does not need improved marketing.  Everyone knows about Perl.  Python
users know about Perl.  Ruby users know about Perl.  PHP users probably
think they know Perl.  Anyone who is in the easy-to-reach demographic
already knows enough about Perl to know when to use it or to know they don't
want to use it.  Anyone else, in harder-to-sell demographics (C++ users,
VB.NET users, LISP users), is simply not interested in being told that they
can write better C++/VB/LISP -- which is what they want -- by using Perl.
No more than Perl users want to hear they can write better Perl by using

P.S.(s.S.) I use Python and Ruby even less than Perl.  For the 4GL tasks
where I used to use Perl, I now use JavaScript.  Much simpler design than
Perl, and I can get access to powerful APIs via Java or WSH or other such
linkage.  Embedded XML is very nice and the OO model is even more flexible
than that of Perl.

Boston-pm mailing list

Reply via email to