{"id":430,"date":"2012-04-01T23:01:58","date_gmt":"2012-04-02T03:01:58","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/dlarochelle\/?p=430"},"modified":"2017-11-27T13:24:24","modified_gmt":"2017-11-27T18:24:24","slug":"the-state-of-perl","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/2012\/04\/01\/the-state-of-perl\/","title":{"rendered":"The State of Perl"},"content":{"rendered":"<div>The last decade of Perl could be summarized as follows. Around 2000 Perl was essentially the goto scripting language for system administration and dynamic web sites. The design process for Perl 6 was announced in June of that year by Perl creator Larry Wall who hoped to remove \u201chistorical warts\u201d from the language. It was expected that Perl 6 design and development would proceed quickly and that within a few years Perl 6 would displace Perl 5 the way Perl 5 displaced Perl 4. As a result development of Perl 5 stagnated, while the Perl community expected a Perl 6 which never really materialized. Perl 5.8 was released in 2002 and the 5.8.x branch remained the current version for 5 and a half years until Perl 5.10 was finally released in December of 2007. The Perl community eventually began to view Perl 6 as a parallel project rather than a replacement for Perl 5 but the damage had already been done. \u00a0Perl had lost much of its mindshare and was increasingly being displaced by languages such as Php, Python, and Ruby.The Perl community has returned to improving Perl 5 with renewed vigor. The community aims to release a new point release of Perl 5 every 6 months and numerous modules have been created to improve the Perl 5 experience. It\u2019s hard to determine what the mind share of Perl will be a few years from now.<\/p>\n<p>Perl now faces both technical and marketing challenges. In many ways, it is a victim of its own success. \u00a0Because Perl has been around so long, numerous outdated tutorials are still floating around the web. When Googling it can be difficult to figure out which pages tell the best way to do something in Perl now and which tell you what was the best way 10 years ago. Debian GNU\/Linux and derivative distributions such as Ubuntu are essential written in Perl. While this increases Perl\u2019s mind share, it also means that the system Perl can not be easily upgraded. Unlike updating the Java version, changing the Perl version has widespread implications that require extensive testing. As a result, Ubuntu release tend to include the version that was current 6 months before the actual release rather than the latest version.<\/p>\n<p>More generally, Perl suffers from outdated perceptions. Yes it was once possible and common for people to write unreadable Perl programs that resembled line noise. (The old joke was that \u201cPerl is like a toothbrush &#8212; you should use it but you don\u2019t want to use someone elses\u201d.) But this is no longer the case. Simply adding \u2018use strict\u2019 prevents a lot of bad code. Using good style practices prevents many of the rest of the issues. It\u2019s certainly true that Perl allows people to do things that might not be a good idea such as using arbitrary regular expression delimiters but in real programs, this is the exception rather than the rule.<\/p>\n<p>This has been a short discussion of the state of Perl and the issues facing it. I write this as someone who is knowledgeable about the language but isn\u2019t a Perl partisan. I\u2019ve known Perl for over a decade and used it as a primary development language for the last three years. However, I\u2019ve also used other languages and know that every language has its strengths and weaknesses. In subsequent blog posts, I plan to further explore the state of Perl and the efforts of the community to improve it.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The last decade of Perl could be summarized as follows. Around 2000 Perl was essentially the goto scripting language for system administration and dynamic web sites. The design process for Perl 6 was announced in June of that year by &hellip; <a href=\"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/2012\/04\/01\/the-state-of-perl\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2148,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[260,1],"tags":[],"class_list":["post-430","post","type-post","status-publish","format-standard","hentry","category-tech","category-uncategorized"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/posts\/430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/users\/2148"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/comments?post=430"}],"version-history":[{"count":6,"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/posts\/430\/revisions"}],"predecessor-version":[{"id":568,"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/posts\/430\/revisions\/568"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/media?parent=430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/categories?post=430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/dlarochelle\/wp-json\/wp\/v2\/tags?post=430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}