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.
From:
Randy W. Sims
Date:
June 20, 2006 02:24
Subject:
Re: Its time we set the score straight on Perl 5 and Perl 6 and debunkour own self-generated FUD.
Message ID:
4497BE8C.8020505@thepierianspring.org
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
asset.
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.