develooper Front page | perl.perl5.porters | Postings from June 2006

Re: Its time we set the score straight on Perl 5 and Perl 6 and debunkour own self-generated FUD.

Randy W. Sims
June 20, 2006 02:24
Re: Its time we set the score straight on Perl 5 and Perl 6 and debunkour own self-generated FUD.
Message ID:
Chip Salzenberg wrote:
> On Mon, Jun 19, 2006 at 06:50:14PM -0700, chromatic wrote:
>> On Monday 19 June 2006 18:36, Chip Salzenberg wrote:
>>> You win the thread.  Old software doesn't so much die as creak and grind
>>> slowly to a halt, and that's what's been happening to the users' view of
>>> Perl 5 for a while now.
>> Did you both *find* and *ask* a user?  'cuz said user isn't me, Chip, Abigail, 
>> Yves, or pretty much anyone reading or responding to this thread.
> Indeed, but that only serves to make my point, albeit in a roundabout way, as
> an illustration of self-selection bias.  Of *course* current Perl users (and
> especially those who participate in p5p) don't care about the slow pace of
> core development, because the ones who -do- care have wandered away, perhaps
> to Ruby or some other language; or, partly due to lack of buzz from friends,
> they never arrived.  Your observation is like holding a vote as to whether
> Thursday night is a good time for meetings, on Thursday night.
> I didn't suggest "Perl 5 is dead" or even "dying"; I think that can't
> possibly happen for decades, even in a worst-case scenario.  OTOH, "Perl 5 is
> perceived as stagnant by too many potential users, and the user base is no
> longer growing much, if at all" I suspect is already true to within epsilon.
> The earlier anecdote about publishers saying that the book market for Perl is
> played out is, IMO, a significant warning sign.
> Meanwhile, in CPAN the user community is quite remarkably active, which is
> wonderful of course.  But without active user-visible feature deltas to the
> Perl core, the psychological momentum that draws people to the language is
> reduced, entirely because Random::Module doesn't get the press.  More press
> on CPAN modules could be much of a cure, assuming I've got the right diagnosis.

In isolation many of the arguments made in this thread could possibly 
have merit, but when you compare Perl to other languages they don't seem 
to hold up.

For everyone who complains about this or that syntactical element, there 
are many more who would make the same complaints of C, C++, Java, Ruby, 
Python, etc. If you take any one of those languages in isolation, you 
can make a strong argument that its syntax or programming model is 
flawed in some critical way, but compared to the others it seems 
balanced(?). Some ugly warts. Some outstanding features. People's taste 
varies as to which warts are prettier, and which features are more flawed.

OS support: Perl stands up admirably with the others, providing a decent 
base feature set on each OS it runs on.

No more books or publications. Read any good new books on C lately?

Language stagnation. The C and C++ languages are updated every 10 years 
or so.

GUI applications. I'm not sure that Perl was ever an user-facing 
applications language. Its niche was first as an administrative tool. It 
extended into server-side cgi programming. It's also made it's way into 
research labs, bioinformatics, etc. But I don't think people think of 
Perl for GUIs; at least, *I* don't think of perl when I need to develop 
a GUI app. (These are my own perceptions only, so please make 
allowance.) Just because a language doesn't succeed or excel at a 
particular task doesn't mean it has failed as a language, only that it 
wasn't or isn't yet adaptable to that task.

Every successful language that I know about was developed for a definite 
purpose. They each last because they excel in their respective purpose. 
But once they begin to excel and became popular, it's natural to try to 
extend beyond their original purpose, to fit other needs. However, this 
seems to be extremely difficult to do successfully.

All the languages that are in common use today support all the basic 
primitives of computer languages: control flow, expressions, etc; as 
well as structure: routines, scope, encapsulation, etc. Other than 
syntax and sugar, what really differentiates them? Libraries? Community?

What caused C to succeed? Portable, efficient. What about Perl? Text 
manipulation, glue? And Ruby? Rails. Python? Sysadmins.

I know I'm rambling here, but I'm trying to figure out what makes a 
language successful, and what determines end of life. I think most of 
the arguments made so far in this thread don't hold because when 
compared to other languages, Perl doesn't seem to fare any worse.

I do see a few things that might contribute to one language's decline 
over others:

1) The programming world has degenerated into a popularity contest: 
everyone is drawn to the next big thing, ala Ruby on Rails. The media, 
book publishers, certainly answer to this call. Then readers, 
developers, follow the media. Everyone follows the hoopla. Where there 
is no hoopla there must be death, right?

2) The purpose for which a language was designed has faded, thus the 
language has less significance. Perl was king as a CGI language until 
the coming of the frameworks, especially MVC frameworks, culminating in 
the appearance of Rails (which while not completely original, did seem 
to garner the most attention).  There are some Perl frameworks out 
there: Jifty, Catalyst, etc, but they are neither easy to learn nor to 
deploy which are major hindrance. (Maybe the Perl community doesn't 
coddle users as much as other communities?) Perl is good at admin type 
app, but there are now several other languages that offer equal benefit, 
so Perl has to share the pie.

Maybe it's not about the language. This seems to follow from everything 
I've noted above. So, maybe it's not necessary to infinitely extend and 
upgrade the core language. In fact, stability in the core would seem an 

But what then does cause a language to fail?

Hmm, I'm more confused now than when I started. I don't think I've 
offered anything to the puzzle.

Randy. Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About