TIOBE Index July 2019: Perl hits its lowest popularity
Are Perl’s days numbered? As Python continues to rise up the TIOBE Index, Perl lands in its all-time lowest spot on the charts. However, don’t be so quick to declare its death. Let’s take a look at this programming language, its waning popularity, and what its current developers are using it for. (Did you know DuckDuckGo uses Perl?)
As Python continues to grow, shed its skin, and grow some more, some other programming languages are dipping in popularity. According to the TIOBE Index for July 2019, Perl reached its lowest point yet.
Is there room for this 31-year-old programming language in 2019 or will it soon head for a retirement home?
July 2019 TIOBE Index
According to the July 2019 TIOBE Index, Java ranks as the number one most popular programming language, followed by C and Python. Python grows by a rate of +2.90%.
In 2018, The TIOBE Index named Python as the programming language of the year. With its continued growth, especially in scientific fields (with the help of Jupyter Notebooks), it continues to grow in usage throughout 2019.
In June 2019, the index even claimed that Python may possibly overtake Java as the number one most used programming language if it keeps up its rate of continuous growth.
As for Perl, the story isn’t quite the same.
From the Index:
Perl is currently at position 19 of the TIOBE index, which is an all-time low for Perl. Note that Perl was at position #3 in 2005 with a rating of more than 10%. The unconventional syntax of Perl and its unclear future (Perl 5 versus Perl 6) harmed the language a lot. Perl 6 has entered the top 100 at position #93 this month, but this is probably too late to become a major player again.
(It should be noted that Perl 6 is a “sister language” to Perl 5, and not an updated version as the number implies at first glance. Perl 6 released at the end of 2015, so it is still a fairly recent addition to the ecosystem.)
As for other popular metrics, in the 2019 StackOverflow developer survey it was notably missing from any list, neither loved nor feared or even listed in related technologies.
Where are all the Perl programmers?
The Perl programming language subreddit currently has 12.5k accounts subscribed to it (though how many of these are active programmers or duplicate accounts is unknowable). While obviously not as active as subs for languages such as Java or Python, it still sees a fair amount of traffic, submitted posts, comments, shares, and user engagement.
Perl Weekly compiles news and articles about the programming language in a weekly e-mail round-up. According to the site, 6,060 subscribers received the most recent issue in their inbox on July 8, 2019.
On GitHub, there are 2,682 repos under the Perl 5 topic.
In 2018, the Perl Developer Survey received 1,024 responses. (And provides some insight into its users. Some noteworthy statistics: 85.2% of respondents have been using Perl for longer than 5 years; 76.9% use it as their main language; 56.3% are full stack developers; 70% have a positive outlook on the Perl community; 63.6% do not plan to move to another language in the future.)
Privacy-focused search engine DuckDuckGo’s instant answer architecture is primarily built in Perl.
According to the RedMonk Programming Language ranking for the first quarter of 2019, Perl ranked number 18 out of 20.
A 2014 article by Conor Myhrvold titled “The Fall of Pearl, The Web’s Most Promising Language” examines the language’s slow decline and near-replacement by Python. In it, the author writes about the potential future of the language:
Perl’s eventual problem is that if the Perl community cannot attract beginner users like Python successfully has, it runs the risk of become like Children of Men, dwindling away to a standstill; vast repositories of hieroglyphic code looming in sections of the Internet and in data center partitions like the halls of the Mines of Moria. (Awe-inspiring and historical? Yes. Lively? No.)
Perl is still the go-to programming language for many and will most likely not be fully replaced by Python. The two are very different, despite a few similarities and overlapping uses.