In 1996, I hired a writer/programmer named Randal Schwartz to write a column on Perl for Unix Review, the magazine I headed up at the time. I believe I was one of the first, if not the first, editor of a broad-circulation tech publication to feature regular coverage of Perl. The rationale was that I could see the rapid adoption of Perl in the Unix community—combined with the difficulty new users had in coming up to speed on the language.
##CONTINUE##
Schwartz was probably the biggest name in Perl at the time (his book was the equivalent of K&R to C or the Pickaxe book to Ruby) after Larry Wall, the language’s inventor. The column, Perl Advisor, was very popular during and after my tenure Unix Review, and it lasted until the magazine folded several years later.
Had I stayed on at the magazine (and had it continued on), I would have eventually supplanted the Perl column with one on Python. As Python emerged, it was clear even in its early years that it offered a superset of Perl’s functionality and that it lacked Perl’s penchant for near-hieroglyphic syntax.
Much of Perl’s original popularity was its clear superiority to CGI for gluing together Web functionality. The fact that it could be used for application development was a secondary aspect in those days, but one that attracted a loyal following. However, even then there was some perception that writing large applications in Perl was using the language for more than what it was designed to do.
Python, in contrast, came out of the box with a stronger orientation towards application development, and I found that many of the Perl application developers were excited all over again doing development work in Python. Python appeared to most folks as the first truly modern dynamic language. My perception, then and now, is that Python’s capabilities would inevitably trump Perl in popularity. This has now come to pass.
During much of the present decade, according to the Tiobe index {tiobe.com}, Perl has held a sizable lead in the marketplace. In 2003, for example, it was the fourth most popular language (after Java, C and C++). This year, it has dropped to eighth place, behind the previous three and (in order) PHP, Visual Basic, C# and, crucially, Python. Of the top 10 languages, none lost more ground in 2008 than Perl. If it loses as much again in 2009, it will fall to 11th place. Google and Ohloh.net show similar declines.
Though Python usage dropped slightly this year, I suspect that Python 3.0's release will boost the language’s popularity. This is a big release. And even though it breaks compatibility with previous versions, the new features it adds are important.
By contrast, Perl has been in a massive funk when it comes to updates. The now-infamous Perl 6 release is still a long way off—as it has been since its announcement in 2000. In September 2003(!), I wrote an installment of this column discussing the features of the soon-to-beta Perl 6. I referred to O’Reilly’s Perl 6 book, which had just appeared in its second edition. And still five years later, we’re years away. Languages that do not advance become stale, especially in the light of the numerous advances in competing languages. For example, since Perl 6 was announced, Java has enjoyed three major releases.
A second aspect of Python’s rise and Perl’s fall is that Python has become the language of choice for several key technology companies that are trendsetters: Google (in particular), BitTorrent, Yahoo and others. In addition, the community has created multiple versions of Python: IronPython (for .NET), Jython (for the JVM), and various versions for handheld devices and smartphones. Perl has only the original Perl implementation plus an experimental version in Haskell under development. Not quite the same.
The pain point in this is that Perl needs an update more than Java or Python ever did. Its arcane syntax might have been fine when competing with CGI, but when users have alternatives such as Python and Ruby, difficult syntax is just a chore. To this end, you’ll note the upcoming revisions to Ruby eliminate precisely those Perl-like syntactical elements.
Despite its syntax and slow release cycle, Perl won’t die, of course. But it seems likely that greenfield Perl projects will dwindle and Perl will be consigned to maintenance of legacy codebases and the writing of quick-and-dirty admin scripts. That’s not a bad fate (Smalltalk would be happy with that much industry relevance), but it’s not growth.
-----------------------------
BY Andrew Binstock
Source:SDTimes
Andrew Binstock is the principal analyst at Pacific Data Works. Read his blog at binstock.blogspot.com.
Copyright © 1999-2009 BZ Media LLC, all rights reserved.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment