Perl还是有用的,可行的语言吗?[关闭]


77

我知道以前可能有人问过,但是这里什么都没有...

Perl还是有用的东西吗?如果有人是新程序员(对编程完全陌生,或者只有几个月/几年的经验),Perl是否值得学习?

Perl是否仍与频率一起使用?它仍然受欢迎吗?

还是与Python,Ruby,PHP,ASP.NET等语言相比,Perl濒临灭绝?

基本上可以归结为:

  • 仍在使用/仍经常使用吗?如果是,它快死了吗?如果否,它会回来吗?
  • 这是值得学习的东西吗?
  • 在流行度和可用性/可行性方面,它如何与Python之类的需求进行比较?是否可以将Python或Ruby之类的语言视为Perl的替代品?

另外,较新版本的Perl真的会给Perl社区带来很大的改善,或者使Perl与其他语言相比重回舞台吗?

编辑:

好的,我想这是一个更好的,改写的问题:

Perl还在增长,还是“垂死”?它仍然是值得学习和使用的语言吗?与其他语言相比,它真正使“发光”哪些项目?是什么使Perl成为选择的语言?本质上:与其他语言相比,Perl是否已经过时了?如果是,您期望这种情况会改变还是继续?

谢谢所有到目前为止回答的人,讨论非常有趣!


12
TIOBE表示,让我们不要失去视野,它仍然排在前十名中,领先于Ruby甚至JavaScript。
丹尼尔(Daniel)

Answers:


60

首先,最好消除歧义

企业在谈论Perl时谈论Perl 5,但是在远方的土地上,在思想丰富的岛屿之外由委员会设计的部落仍在烹制大量的Perl 6平板电脑(并且几乎已经准备就绪,使用编写的引擎) Haskell并被众神的眼泪所驱动)

好的,那就是说,Perl 5今天有什么用?

  • 旧版网络系统/ Intraweb-有些不会消失

  • 数据挖掘/统计分析 - Perl的正则表达式引擎,即使稍显陈旧,( PCRE,一个纺丝过的图书馆,毛条它在任何不可能性的方式,它是默认PHP引擎)仍然是良好的简单分析

  • UNIX系统管理 -Perl应该始终安装在UNIX上。
    您可以指望它即使在Mac OS X上也很容易获得。

  • 网络原型制作 -许多核心网络专家在风靡一时时就学会了Perl。他们仍然用它做概念验证

  • 安全 -许多安全专家也需要快速制作原型。(和快速的自动修复)Perl可以做到,而且可以做到。

处理原型时,广泛的CPAN集合非常方便
(电池可能不包括在内,但仍在架子上

记住缺点

  • Perl中的对象支持很糟糕,您会以对象的名义为引用提供祝福并做一些邪恶的事情,然后想知道为什么首先要承担所有麻烦。
  • 读别人的Perl不仅是一门手艺,它是一门科学,也是一件痛苦的事
  • Perl很漂亮,它使您觉得很漂亮,它使您感到很聪明,您成为了编程摇滚明星。现在,考虑起床,然后在充满摇滚明星办公室工作:这是一条摇摇欲坠船”。预计会有剧烈的波动。

19
@WorldEngineer同意,但是最糟糕的是,来自perl的Ruby一点也不精打细算:感觉就像是愚蠢的,性能不佳的perl版本。
ZJR

12
我在那里只看到一个缺点。就我个人而言,我碰巧喜欢祝福我的参考文献,但是对于那些没有这样做的人,有Moose(在CPAN上),它是一个足够好的对象系统,其他语言也可以复制它。而且,尽管我热爱俏皮,但在Perl世界中却没有遇到那么多自迷的摇滚明星。与摇滚明星相比,Perl社区中有更多认真,纪律严明的开发人员(他们恰好喜欢在业余时间攀岩)。(我明确否认自己是一名摇滚明星程序员,除非,除非我在编写代码时女性开始向我扔内裤。)
Dave Sherohman 2011年

3
@johannes必须仍然处理Van Rossum Law:"Whenever you find a python executable preinstalled, it's the wrong version"推论:"sometimes the right version is available, but it has the wrong name"
ZJR 2012年

2
Perl在生物信息学领域也仍然很大。
Dietbuddha 2012年

3
+1用于系统管理。我从未见过基于unix的操作系统不包含perl。我什至在某些使用Busybox进行用户
访问的

23

我认为,在几年不使用Perl之后再次与Perl合作之后,它比以往任何时候都更好。Perl 5在CPAN中有很多很棒的功能,即使OO也可以立即完成。(看看Modern Perl

Perl 5远未结束。只需查看一些Perl网站和CPAN,就可以看到一种全新的语言-Perl 6。

网络,博客和演示文稿上有很多资源,说明为什么它还不错,为什么它的声誉不好,这是不值得的-只是看一下就可以理解。


7
在我看来,如果需要任何形状的车轮,CPAN都很棒,但是如果需要汽车制造厂,CPAN就不太好。

@ThorbjørnRavnAndersen如果需要任何形状的车轮,CPAN都是很棒的。问题是这shape($wheel) == 'round' ? available_in_cpan($wheel) : false;不是有效的过滤器。
杰森·刘易斯

仅仅因为OO存在于Perl中并不意味着它实际上是好的。
kirbyfan64sos 2014年

22

Perl仍然要实现的主要功能是CPAN-有很多预编写的模块,因此很容易找到您需要的模块。

就是说,我不会学习Perl。对于像我这样已经知道它的人来说,Perl是一门伟大的语言,但是(从我的外来者的角度来看,Python似乎是一种更好的语言,可用于执行Perl曾经是“转到”语言。


并且您认为这使它比其他语言更具优势吗?还是仅仅是使它与其他语言一样。例如,.NET框架似乎也挤满了各种有用的方法和类。
鲍勃

6
@Paul Tomblin-这是一种很粗糙的表达方式。“ perl仍然有它的主要目标……” <-C / C ++为其主要的目标是仍然在其中编写了许多软件。除此之外,它们是垃圾。
Rook

与Idigas达成协议,因为您可以对Java拥有很多程序包说同样的话……
Izkata 2011年

1
问题不是“ C ++或Java是一种好语言”。问题是Perl是否仍然可行。我仍然使用Perl编写Web应用程序的原因有两个:CPAN和我已经编写的大量代码。
Paul Tomblin,

7
如果我现在开始,那么我可能会使用Python。但是我使用Perl是因为我擅长Perl。
Paul Tomblin

19

几年前,当我决定学习Perl作为我的第一语言时,有很多因素指导着我的决定:

  • 语言上有很多很好的参考资料吗?
  • 我可以轻松地为我的问题找到帮助吗?
  • 各种各样的人口正在积极使用该语言吗?
  • 是否有可以帮助我实现目标的积极项目?

对我来说,答案是肯定的。我是平面设计师。几年前,我学习了HTML和CSS,但是在客户希望从他们的网站上获得更多帮助之后,我需要提高自己的技能。我使用了各种php框架,这些框架给了我真正学习编程的错误。我进行了很多研究,找到了受支持的项目,例如Template Toolkit,以及新项目,如Perl Dancer和Mojolicious。Perl随附的文档以及出版物库都非常有帮助。

我发现Perl邮件列表对初学者和活动者都非常友好。在PerlMonks上,来自世界各地的人们都对广泛的应用程序提出了疑问和答案。有几个活跃的Perl新闻站点,博客和流。这些资源教会了我很多有关Perl和编程的知识。

当然,那是我的经验。我不确切地知道有多少人登录这些网站,订阅邮件列表或构建他们的Web应用程序,例如使用Perl。如果我选择另一种语言,我也无法评论我的经历会有多好或更坏。我毫不怀疑我可以在其他语言社区中找到许多相同的积极方面。我可以说我对自己的选择仍然很满意。


我在1996年学习Perl作为第一语言,因为我刚从Windows切换到Linux作为主要操作系统。Perl从来都不是伟大的网络语言(尽管PHP是Perl必须提供的所有邪恶的纯提法),但是它是替代bash脚本的绝佳选择。问题出在人们试图假装有银弹这样的东西时。
杰森·刘易斯

16

语言的普及程度与其生存能力或可用性无关。Perl仍然是一种非常有用的语言。它的名声,无论是否值得,对新手都不友好,最终意味着没有新人可以帮助它。我不再使用它的唯一原因是我认识的其他人都不再使用它。


5
因此,不是说“我不再使用它的唯一原因是,我认识的人都不再使用它”这一说法,是否表明普及程度可能与其生存能力或可用性有关?无论如何,这不是我的问题的重点,我真正想知道的是,Perl仍然有用吗?您何时选择它而不是其他语言(例如,什么时候真正发光)?
鲍勃

1
语言是对其他人表达的一种手段,我认为这不是一种语言对其所表达的价值的受欢迎程度。
失误

4
这是非常基于环境的...如果您是* nix系统管理员,则完成常见任务的选择归结为Perl vs. sed + awk + ​​grep + bash ...并且Perl通常比记住a的4种语法更容易一次性脚本。
杰森·刘易斯

12

作为记录,我在Perl 5中编程已有15年左右,所以我有点偏颇。话虽如此,我真的很喜欢Perl。不要听取反对者的意见,也不要认为它的年龄在某种程度上指示了它的寿命。观察Perl的最好方法是将其与其他语言进行比较:

  • PHP -PHP是一种相当不错的Web编程语言。不要误会我的意思。但是,它只是一种网络编程语言。甚至Web应用程序也需要它们的cronjob来清理进程,并且您必须做一些奇怪的事情才能实现这一目标。不必介意为UNIX管理员编写快速脚本或解析文本文件。另外,PHP没有CPAN。

  • Ruby-这门语言太新了,不适合我的口味。我所听到的关于Ruby的唯一一件事就是Ruby on Rails。Perl拥有Catalyst和Dancer(作为MVC框架),这是该死的优秀MVC,但这并不是该语言的基石。您不会很快发现“ Ruby”作为工作机会的要求(如果有的话)。另外,Ruby没有CPAN。

  • Python-用Larry Wall的话说,Python只是蛇油。Python关心空格,而我过去关心空格的最后一种语言是BASIC。而且,像BASIC一样,它的本质是设计成一种易于使用的初学者的语言。最后,这里没有CPAN。

  • Java -Java是有问题的子语言。其概念是让这种虚拟机可以在任何平台上运行,但是由于该语言在大学课程中的广泛普及,您会在Java应用程序不应该出现的任何地方看到它们。例如,不应该存在基于内部服务器的Web应用程序。这是一个与规格的单台服务器,他们定义和它被包裹在一个单独的虚拟机在有限的内存占用。Java肿,而且没有CPAN。

  • C# -实际上,我现在已经使用了这种语言很多,而且我似乎已经与它形成了爱恨交织的关系。能够重载具有不同参数的方法既酷又有趣。但是,如果您希望使用一种语言能够在有关类型转换的每一行代码中bit之以鼻,那么C#非常适合您。我的天哪,它希望您在任何地方进行显式转换!编写类很有趣,但是您突然意识到,与实际编写代码相比,编写类的语言使“该死的语言”变得更有效需要花费更多的时间。

    而且,C#没有...好吧,它具有.NET,这确实很好并且广泛。但是,我仍然更喜欢CPAN,因为您仍然可以编写自己的模块,并向作者抱怨错误或设计缺陷。他们都是免费的。另外,Perl将来会致力于Perl.NET,因此我们可能不久就会设计Windows应用程序。

Perl是一种很棒的语言,具有:

  • 正则表达式 -如果Perl擅长做一件事,那就是文本操作。是的,许多语言都有正则表达式,但是Perl几乎是他们的发明人,并且有一个原因,为什么grep具有“ Perl正则表达式”模式,或者为什么Oracle拥有关于“ Oracle正则表达式中受Perl影响的扩展”的部分。它是内置的,不需要任何模块。

  • 灵活性 -您具有三种基本的变量类型:标量,数组和哈希。而已。这就是您所需要的。您没有int,字节,字符串或任何废话。Perl认为这很好。而且,您可以随意使用所有引用,而不必担心内存泄漏或导致整个PC崩溃的情况。语言才行。

  • 可移植性-Perl在网络上运行良好。它在UNIX中效果很好。它甚至在Windows中也能很好地工作。它不是单一功能。这是万事通,但也是(大部分)一切的掌握。

  • 只需编写少量代码即可轻松完成很多工作 -给我一个1K的空白文件,然后我就可以用该空间编写各种内容。甚至Perl单行代码也非常适合添加到命令行管道中。

  • CPAN-我无法强调找到几乎所有您需要的东西有多好。什么是“什么”?那么,从Oracle到iPod到CSV到Adabas到Yaswi的每个数据库或您能想象的事物的数据库模块又如何呢?几台功能齐全的Web服务器怎么样?一个Excel文件阅读器,一个SNMP模块,一个为调试行读取注释的模块,或一个可以帮助您更快编程的模块怎么样?我现在正在做的一个项目是编写一个动态Terraria地图生成器,并从一个名为Games :: RolePlay :: MapGen的现有模块中进行扩充。.NET永远不会有那样的东西。

    另外,通过CPAN安装任何模块都非常容易。从Debian获取它。直接从CPAN安装。在解决依赖关系方面,它与apt-get一样出色。我告诉系统管理员从CPAN安装X模块没有问题,因为它只是一个简单的单行命令。

是的,它有缺陷,是的,我对此有偏见,但您可能已经听过太多次了。他们不会超过积极因素,而不是远射。


14
-1主要是因为没有认识到其他语言所具有的工具与CPAN一样好。例如,Maven Central for Java?它具有比CPAN更多的工件,并且安装Maven工件是零线,因为可以通过对项目对象模型的依赖性分析自动识别它们。另外,我对Ruby Gems的经验较少,但我相信它们大致相当于CPAN。
mikera

8
PHP有PEAR。它不仅是一种网络编程语言。
MattBianco 2011年

25
我不会说你有点偏见。你显然有偏见。我不敢相信您可以使用Python,主要是因为它具有很大的空格,并且因为Larry(这里肯定不是客观来源)使用了蛇油这个表达。根本没有Ruby的工作机会吗?您上一次见到就业市场是什么时候?至少要花一些力气来尝试建立Perl的凭据。
Muhammad Alkarouri

6
-1表示对其他语言的明显偏见和未经研究的观点。我同意Python是蛇油,但是Ruby ==“ script kiddie”是荒谬的。我从未在我维护的任何服务器上看到基于Ruby的入侵尝试。主要是Python。从某种意义上说,PHP是一种可接受的编程语言?雪茄。您对C#的评论展示了有关键入和/或面向对象的惊人的天真。坚持Perl,哥们。认真地说,我将永远喜欢Perl,因为它是我的第一种“真正的”编程语言,并且对sysadmin任务非常出色,但是这个答案比坏要糟。
杰森·刘易斯

8
+1用于消除我曾经爱(或恨)过的每种语言-当然是Perl除外。:-)
jpaugh 2012年

12

性能是选择perl的主要原因之一。与Python,Ruby或任何基于JVM的脚本语言相比,它的闪电般快速。

这就是为什么它从未在数据挖掘领域被替换,而在处理大量数据时,所有其他(免费赠品)语言的速度都变慢了。


6
您可以为此主张提供支持/基准吗?在我看来,IT似乎是我在Perl对Ruby / Python上看到的最后一个基准,尤其是后者。当包括后者的替代实现时。
杰森·刘易斯

2
除非引用了特定的发行版和环境,否则有关性能的任何评论都必须是概括性的。许多板凳标志着在那里- hentenaar.com/serendipity/index.php?/archives/... onlyjob.blogspot.com/2011/03/...是相当典型的。您是对的,ruby的最新版本相当快,但是perl具有常规的“性能增强”版本,因此跟上它应该没有问题。LUA胜过一切。
詹姆斯·安德森

Lua太棒了。
杰森·刘易斯

12

Perl有它的位置。它的“坏名声”通常是由于它使您具有极大的灵活性来执行本应由其他工具完成的工作。

如果您问自己一个问题:“我要达到什么目标?是否有适当的工具来实现这一目标?” 那么您就是那里的一部分。

如果要编写快速脚本,则使用脚本语言是有意义的。如果您要创建一个复杂的应用程序,则可以“用” Perl编写它,但是可能不应该。

但是,由于您的问题与新手程序员有关,所以我建议暂时不要再考虑Perl。仅仅是因为您会从一种不太灵活的语言中学到更少的坏习惯。


3
好的,但是Python也是创建快速脚本的理想选择,但是您也可以扩展它以创建更大的程序。Perl难道不是一样吗?这会使Python比Perl更好吗?
鲍勃

@Bob:我认为这主要是您习惯写的东西和您的口味。有时,在python中还没有一些方便的perl库,反之亦然。
dagnelies,2011年

1
@Bob:我建议他先尝试python,它对noob更加友好。然后,我告诉他选择一种完全不同的语言作为第二语言,例如Scheme。
dagnelies,2011年

1
@Bob:整个.NET框架仅在Windows上可用。在Unix / Linux领域,Perl是一种很棒的语言,用于替换shell脚本,进行系统管理以及涉及大量文本处理而不是其他大量内容的任何事情。它直接完成了一些事情(最后一次让我看),Python需要一些结构。通常,这使Perl成为较差的通用编程语言,但对于其更专用的应用程序则更好。
David Thornley

1
@Bob实际上,这很有趣。如果您的shell脚本会限制bash的限制,那么Perl真的很方便。Perl非常容易容纳它,因为您可以在大多数命令中加上反引号,并且仍然可以使用。
斯蒂芬·格罗斯

12

我被Python的布局所吸引-块结构是“所见即所得”-并且不明白为什么会有人对此感到失望。我认为这是过去,现在是个好主意。

不过,我回到了Perl。似乎最好将其视为一种实用工具。在计算机科学理论中,Python和Ruby是“更好的”。但是我在现实世界中工作。

在刚大学毕业的孩子中,Ruby和Python更为流行。Facebook上的大多数程序员都将遵循当前的方式,并选择Ruby或Python。原始帖子对此进行了说明:将“是否值得”与“是否仍然受欢迎?”混为一谈。

我既不知道也不在乎Perl在Facebook世界中是否“受欢迎”。它可能是有成就的人们中使用最广泛的脚本语言,这是完全不同的事情。一些认为自己喜欢的语言具有与CPAN相当的资源的评论者不知道CPAN有多广泛和深入。


5
大量的空格是一个可怕的想法。永远是,永远是。话虽这么说,尽管我在任何有意义的地方都使用了Ruby,但是我仍然有一些Perl脚本用于sysadmin任务,而我没有理由用Ruby进行重写。为什么?它们工作得很好,并且在Perl的最佳位置。为什么要创建更多作品?
杰森·刘易斯

1
不管语言如何,强迫人们正确缩进是一个好主意。更好的语言(例如Python)只会施加更大的力量。
布伦丹2014年

10

Perl是编写一次性工具的语言。在许多其他应用程序中,Perl或多或少都具有持久性和实用性,但是如果您缺少shell命令来执行某些操作,则需要存根从奇数套接字中获取某些数据,如果您有日志文件或文件。数据库,并且需要以SQL无法达到的方式提取某些内容,如果您需要从服务器中提取几个图像,或者您的网页模板都包含相同类型的错误并想要修复所有这些错误,那么请-只需花费10分钟的Perl脚本即可。

用Shell编写相同的东西是可能的,但是由于Shell语法的怪异警告,它将花费更长的时间并且可能会更加困难。相比之下,用任何“专业”语言(例如C ++,C#,Java等)编写此文件大约需要一个小时。用一种竞争性的脚本语言(例如Python,Ruby或PHP)编写此代码是一种可行的选择,编写时间可能要长20%。

是的,其他语言的程序将更易于维护和阅读。但是,如果现在需要解决方案,Perl是可行的方法。


8

请查看“最近上传到CPAN” 页面。每天有20多个新模块或更新的模块上载。我认为每日平均上传数量一直在缓慢但稳定地增长。这是一种即将消亡的语言的信号吗?没有!

它总是让我印象深刻的是,多年来如何维护和完善了一些重要的模块(例如,用于Web编程或RDBMS驱动程序的接口)。通常由原始作者或新的维护者执行。通常这会创建非常成熟的代码。

为了使模块进入CPAN,鼓励作者走很长的路要保持向后兼容性(与较旧的perl 5版本)以及平台独立性。参见例如http://matrix.cpantesters.org/?dist=DBI(DBI =数据库接口,抽象层)

还有语言本身:自5.10、5.12、5.14以来,语言所包含的所有新功能使我有些困惑。我还没有学会利用这些新功能。Perl对我来说发展太快了!


7

我在90年代进行系统管理时就学习了Perl 4和5。今天,我进行Java编程(通常不希望调用Perl),并且我仍然偶尔在开发计算机上使用Perl。通常,这仅是对日志文件进行数据挖掘,因为Perl中的正则表达式和Perl中的文本解析oneliners的脚手架使得在命令行中执行起来非常容易。

基本上,我今天将其用作类固醇的awk。为此,这是很棒的。

Perl的功能之一是几乎有多种方法可以完成所有事情。这使您可以选择一种适合您的思维方式的方法-仅在一起入侵一两个Oneliner时很棒,但是在必须了解其他人的Perl代码时就不太好了,因为他们通常会选择其他方式来做到这一点。符合他们的思维方式。

我认为Perl是一个非常有用的工具,如果您只关注正则表达式可以帮助您筛选文本文件的功能,那么您可能想学习它。远离与物体有关的任何事物。


因此,您会说它对于快速脚本处理文本最有用吗?
鲍勃

我认为是的,那真的非常好。它也可以做其他事情,但是效果不佳。

1
虽然Perl非常擅长通过正则表达式处理文本,但是如果您知道Python或Ruby(或者可能是PHP),则无需遍历它,因为它们对正则表达式也非常有用。虽然Python有点冗长,但是肯定也更干净。
Eric O Lebigot

@EOL,但是Python,Ruby,PHP都无法在文本分析oneliners的框架中位居榜首。参见例如“ -i”选项。

@ThorbjørnRavnAndersen:同意,只提供一种衬里:Python的oneliners(-c选项)确实更长。:)
Eric O Lebigot

7

一段时间以来,由于对Perl6的关注,Perl5的发展停滞了,这导致5.8和5.10的发布之间出现了长时间的延迟。从那时起,社区就真正开始意识到Perl5和Perl6是不同的语言,并且最近有非常定期的新版本发布。

Perl最近使用Catalyst赢得了一个Web应用程序竞赛(尽管我更喜欢Mojolicious),并且一些新的Modern Perl实践通过诸如Moose之类的东西为Perl带来了许多更简洁的 OO想法。

在我看来,作为Perl开发人员,Perl拥有巨大的遗产和光明的未来,不仅是将公司网络连接在一起的管道,而且在Web应用程序的新热点中占有一席之地。


3

我不是专业程序员。但是我发现Perl非常容易学习(我用过骆驼书),总是很高兴,并且PerlMonks是编程领域最友好的帮助社区。Perl在招聘Ruby和Python方面确实失去了吸引力,但仅在某些行业(尤其是网络行业)。


3

如果您知道perl,学习Microsoft的Powershell会更容易。关于powershell的语法,它没有perl ,但是Powershell从Perl语言中获得了许多功能和概念,例如,让我无所适从:$ _变量,用@前缀数组,用$前缀字符串/标量值,文件命名约定,用于命名和存储模块,并以某种方式自动命名,仅举几例。

因此,如果您知道Perl会派上用场,那么学习Powershell或掌握Powershell的思维方式或将Powershell习惯用法保留在您的长期记忆中会容易一些。在没有Perl背景的情况下遇到Powershell可能有点奇怪。只是说。

当然,Powershell语言增加了新的东西,特别是.NET友好性,并没有延续任何与unix命令行工具提供“向后兼容性”的perl函数/运算符。


2

格兰特·麦克莱恩(Grant McLean)刚刚根据mapofcpan.org的演变上传了一部短片,用地图样式的可视化方式展示了CPAN随时间演变的方式。关于社区的活力,这是不言而喻的。不死。

Perl的声誉不好肯定会受到痛苦,因为有许多传说,而且因为社区不希望也不想将其变成世界上最流行的编程语言。很难理解为什么这么多人绝对相信这是一种可怕的语言。您可以使用任何语言编写令人毛骨悚然的代码。Perl和其他任何语言一样都具有最佳实践,您只需要以一种以上的基本方法来实现它即可

我看到这样不好的声誉是一个非常可悲的原因:很长一段时间以来,Perl社区网站的UI设计都非常难看(例如,就像perlmonks.org一样)。就我个人而言,我真的不在乎,也许我甚至来Perl也是因为这个原因:没有很多时尚的网站用户界面,但是您可以信任工具,社区,因为他们不尝试去信任社区。比现在更美丽。但是,高质量的工具并不意味着您不应该专注于外观,而最终不注意外观是一种错误。

例如,我的一个朋友(喜欢更流行的语言)告诉我,当前的Perl6徽标太可怕了,要吸引年轻的人加入Perl将会是一个问题。比使用亮石或其他任何经过精心设计的徽标要麻烦得多。

我相信这是造成不受欢迎的一个非常可悲的原因,但这就是统治世界的原因。


如果您不打算在徽标上关注细节,为什么我要假设您在语言的更深层细节中关注细节呢?它不只是标志不妙,它是坏的标志感到有症状不重视的事情是如何呈现的文化,从而加强背后所有的“只写语言”笑话的刻板印象
Racheet

我听说有人在为不良声誉而努力。这些人是现代Perl和测试驱动开发的倡导者。诸如buildinperl.comquestub.io之类的网站正在改变我们考虑Perl案的方式。Duck Duck Go也取得了巨大的成功,没有人会说他们不在乎事物的呈现方式。甚至metacpan.org都已成为一种通过向用户展示CUI用户(Perl的主要优势)的新体验的方式,它可以通过显示代码,文档和具有良好UI的搜索模块来提供新体验。我不相信语言徽标:C有徽标吗?语言不是品牌。
smonff 2014年

1

Perl绝对不会死。它从未像其他语言一样被大肆宣传。

确实,Perl本身是一门古老的语言,但它拥有一个生机勃勃且生产效率很高的社区,其价值体现在CPAN库中。我认为没有任何一种语言具有像CPAN一样广泛和全面的库。一切都近在咫尺。在CPAN中,您将找到成千上万的模块和框架,它们几乎可以完成您可以想象的任何事情。需要网络服务器吗?有HTTP :: Server。需要一个独立的数据库吗?有Muldis :: DB。无论您的需求是什么,通常都可以找到几个满足您需求的模块,您只需要选择最适合您的应用程序的模块即可。

至于Ruby,Python和其他竞争对手,我认为健康的竞争对Perl来说是巨大的好处。其他语言得到的任何东西,Perl社区都用Perl重写。例如,当Ruby在Rails的成功上飞速发展时,Perl有了Dancer,在许多方面都比Rails更好。

Perl绝对不会死,也不会死。周围没有什么浮华的事情,没有公司可以从炒作Perl中受益,因此它并没有引起媒体的广泛关注,也不是每个孩子都知道Perl,所以对此的讨论较少。

距您的原始帖子已经6个多月了。如果您还没有决定,那就帮自己一个忙,学习Perl。


0

自90年代以来,我一直在使用perl进行网络游戏开发,并且在3年的休息后,我同意以前的海报。我回来后发现它已经超越了我离开的地方而不断发展。

快死了吗?没有机会。

它有用吗?没有它我会迷路的。也许那只是我,但从其他回应中,我会说这是一个非常活跃的生物。


-6

我在PHP方面拥有大部分的专业网络经验,但是随着我成为一名开发人员的成长,事情变得越来越具有挑战性,很多任务PHP根本无法完成或效率非常低下。我本可以举起手来,但是(感谢Google),我发现自己参加了利用libreoffice,ffmpeg,imagemagick来为PHP编写后处理功能的ssh会话。在我正确使用PERL之前从未使用过它。主要是因为Perl恰好位于LAMP堆栈的下面。

(1)它已预先安装在所有LAMP服务器上,或者至少具有新的rpm。(2)有一个很棒的CPAN回购,可以节省您很多时间。(3)更快/更安全地执行在Apache上运行的PHP失败的任务。(4)非常类似于PHP,易于学习。

将想法与PHP混合,根据需要使用BASH与PERL进行烘焙,根据MySQL进行翻转,然后使用HTML5和少量jQuery。这是一个伟大的食谱。


1
有什么可以支持这些声明的吗?
奥斯汀·亨利
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.