当前位置: 首页 > 科技观察

不再流行的Perl会消失吗?

时间:2023-03-13 23:23:37 科技观察

作者:莫奇审稿人:吴牧近日,Perl5.36正式发布,新版本带来了很多便捷的功能。Perl可以说是世界上最常用的语言之一。在它的鼎盛时期,人们经常会用它来开发网络程序,但今天,开发者对Perl的评价却出现了两极分化:有人会郑重地纪念它。生日,有人希望它快点“死”。不可否认,Perl不再流行。从TIOBE6月编程语言排行榜就能看出端倪。大家比较关注时下最流行的语言。虽然Perl也上榜了,可惜Perl排在第17位(前20名的下游),几乎没有人会讨论最佳编程。用语言提及它。TIOBE6月编程语言排行榜(1-20名)据了解,Perl5.36的发布是自Perl5.34以来的一次重大版本更新。更新后的Perl也为开发者带来了更好的用户体验。例如,新增的usex.xx函数省略了代码顶部繁琐的函数模块声明;此外,还稳定了布尔跟踪、正则表达式集等功能,支持Unicode14.0;它还添加了内置函数,单次迭代中的多个值,try/catch语法支持finally关键字等实验性功能。可能很多人会问:这个版本更新能挽救没落的Perl吗?不再流行的Perl会不会逐渐消失?走过了30多年的坎坷路,离Perl7还很遥远。编程语言Perl是“PracticalExtractingandReportingLanguage”的缩写,意思是实用的提取和报告语言。Perl功能丰富,可以在100多种计算机平台上运行。Perl最初是为文本处理而开发的,现在用于各种任务,包括网络编程、Web开发、系统管理、GUI开发等等。1987年12月18日,Perl1.0正式发布,其最初的设计者是LarryWall。Perl语言借鉴了C、Sed、awk、shell脚本语言和许多其他编程语言的特性。最大的特点是集成了正则表达式函数和庞大的第三方代码库CPAN。Perl2.0于1988年6月发布,Perl3.0和Perl4.0分别于1989年和1991年发布。1994年发布的Perl5是最重要的版本,这个版本已经成为使用最广泛的版本。2015年12月25日,历时十多年的Perl6在圣诞节正式发布。LarryWall以Perl6吉祥物Camelia的名义宣布Perl6可以用于生产,但强调它仍处于青春期,这意味着它有些成熟,但仍存在一些问题。进入第四个十年的Perl,这些年经历了太多的风风雨雨。根据Perl指导委员会的说法,虽然5.36.0的最终版本“指日可待”,但备受期待的Perl7仍在远方闪耀。Perl:不止一种方法Perl是一种自然而智能的语言,可以在上下文中解释和执行,并且有很多省略号。Perl语言的座右铭是:There'sMoreThanOneWayToDoIt(TMTOWTDI,完成一件事有多种方法,或“条条大路通罗马”)。如果你想使用sed、awk或sh来解决一个问题,但发现它们不够强大,或者想运行得更快,但不想用愚蠢的C来编写,Perl将是一个不错的选择。Perl擅长文本处理和系统管理,不适用于实时嵌入式系统编程、底层操作系统开发(如驱动程序开发)、复杂的多线性共享内存应用以及更大型的应用程序。Perl具有动态语言强大灵活的特点,借鉴了C/C++、Basic、Pascal等语言的语法规则,可以提供很多冗余语法。也许正因为如此,它被评价为“只写”——虽然你可以随意编写,但你可能会在不报错的情况下得到意想不到的结果。另外,令程序员头疼的是其冗长的程序代码。实现相同功能的程序代码长度可能相差十倍或数百倍。事实上,现在人们更习惯于使用Perl来编写服务器脚本。与大多数网络编程语言(PHP或JavaScript)相比,Perl可以直接执行。为了使源代码能够直接翻译成机器语言,它在执行前先翻译每一行代码,从而节省了编译时间。Perl的最大优势之一是它可以执行用其他计算机语言编写的代码或子例程。此外,它还可以使用处理器,让开发者可以从大量的库和模块中进行选择;适用于各种数据库管理,支持SQL语句查询,通过DBI模块处理返回结果。另一个赞美是Perl只有三种数据类型,标量、数组和散列。其中,标量是最简单的数据类型,一般指单个数字、整数、文本或引用。标量序列可以不同方式处理,通常称为数组。以特定方式组合值键的一种数据形式称为散列。在Perl中,值键表示为标量,类型表示为文本字符串。Perl语言的优点和缺点如下:Perl语言的优点:*正则表达式:Perl最擅长的事情之一就是文本操作。许多语言都有正则表达式,但Perl几乎是它们的发明者。而且它是内置的,不需要任何模块。*灵活性:Perl具有三种基本变量类型:标量、数组和散列。您可以随意使用所有引用,而不必担心内存泄漏或整个PC崩溃。*Unicode支持(与AWK和C相比)*可移植性:Perl在网络上运行良好。它在UNIX中运行良好。它甚至在Windows中也能正常工作。它不是单一功能,而是“万事通”。*CPAN:你可以找到你需要的一切。此外,通过CPAN安装任何模块都非常容易。直接从CPAN安装,它在解决依赖性方面与apt-get一样好。它的缺点是:*动态类型语言,不太可靠;*自然语言,有利也有弊,使得Perl语言代码可能难以理解;*智能语言,有利有弊:根据上下文解释程序员的意思,可能会产生假设,从而产生很多编程陷阱;*不是很优雅,做事的方式也很多,有时让程序员无所适从。*性能问题,Perl灵活的数据结构和处理性能通常不是很高(相对于C/C++),如果需要高性能处理,有时需要用其他语言重写。Perl语言的学习曲线浅而长。只要看看《Learning Perl》,就能写出简单的Perl程序。然而,要掌握Perl,使用Perl复杂的数据结构,进行面向对象编程和多线程编程,并不是那么容易。这需要很长时间。去学习和实践。Perl会消失吗?十多年前,有人问过类似的问题,但直到现在,Perl依然健在,并没有消失。Perl在文本处理、数据挖掘、运维、生物信息学等诸多领域都有很好的应用,但不如互联网热点流行。客观地说,Perl本身是一门古老的语言,但它有一个充满活力和多产的社区,其价值体现在CPAN库中。正如程序员Rox所说,几乎没有任何一种语言像CPAN一样拥有如此广泛和全面的库,一切都触手可及。在CPAN中,您可以找到数以千计的模块和框架,并使用它们来完成您能想到的任何事情。需要网络服务器?有HTTP::Server;需要一个单独的数据库?有Muldis::DB。无论您的需求是什么,您通常都可以找到满足您需求的几个模块,您只需要选择最适合您应用的那个即可。至于Ruby、Python和其他竞争对手,良性竞争对Perl来说是一个巨大的福音,Rox说。任何其他语言得到的东西,Perl社区都用Perl重写了。例如,当Ruby借助Rails的成功而一飞冲天时,Perl拥有Dancer,它在很多方面都优于Rails。Perl没有死,也不会消失。没有什么华而不实的事情发生,没有公司从大肆宣传Perl中获益,所以它没有引起媒体的广泛关注,而且并不是每个人都知道Perl,所以很少有人谈论它。还需要注意的是,虽然Perl可能不适合应用程序开发或CGIWeb开发,但作为一种脚本语言,它仍然非常适合数据挖掘和Linux系统管理中的面向过程的文本处理和分析。它是一个方便的工具,自动化测试领域的很多工具都是用Perl写的,所以Perl还是会活得很好,只是逐渐淡出了大家熟知的PerlCGI开发。开发者对Perl的评价(来源:QAStack)(来源:知乎)写在最后客观来说,Perl还是有很大的价值和潜力的,但我们不得不承认,它现在遇到了麻烦。未来,如果在不影响向后兼容性的情况下对其进行现代化改造,保持向后兼容性并使其更易于使用现代功能,则可能会释放出该语言更大的潜力。正如程序员NikosVaggalis所说,无论在什么情况下,Perl的长寿和繁荣都是有保证的。您如何看待Perl语言?欢迎在下方留言讨论。参考链接:https://www.i-programmer.info/programming/perl/15105-perl-turns-34-a-retrospective.html?start=1https://www.theregister.com/2022/05/26/perl_v7/https://www.tiobe.com/tiobe-index/