为什么大多数Linux发行版默认都安装了Perl?
为什么大多数Linux发行版默认都安装了Perl?
Answers:
答案是否是性感的,取决于您的观点。
Perl非常有用。许多系统实用程序都用perl编写或依赖于perl。如果卸载了Perl,大多数系统将无法正常运行。
在1987年12月18日Larry Wall 在Per。v1.0的原始发布到comp.sources.misc新闻组中,他说:
如果您遇到一个通常使用sed或awk或sh的问题,但是它超出了它们的功能,或者必须运行得更快一些,并且您不想用C语言编写愚蠢的东西,那么perl可能适合您。
在后来的展览中,他详细说明了一些:
但是Unix shell编程的失败直接导致了Perl的创建,我真的没有时间讲。但是从本质上讲,我发现shell脚本在本质上受到以下事实的限制:它的大多数动词不受其控制,因此在很大程度上彼此不一致。而且名词是贫穷的,仅限于字符串和文件,具有谁知道什么类型学...
更具破坏性的是这样的观念,那就是一维宇宙:您要么用C编写程序,要么用Shell编写程序,因为它们显然位于“一个真实连续体”的相反两端。当我意识到脚本并不一定总是被视为编程的对立面时,Perl就诞生了,但是单一的语言对两种语言都可能是很好的。这开辟了巨大的生态环境。你们中的许多人都看到了我的旧翻盖图,具有操纵性和鞭打性的两个维度。
如今,Perl已成为满足Shell脚本和文本解析需求的标准替代品/替代品,并且具有比传统工具强大的功能。因为它是极端的(有些人会说不雅)的灵活性,Perl已经被形容为“ 脚本语言的瑞士军刀 ”。当使用Perl解决时,任务通常可以明显更短,更容易或更可扩展。许多系统工具,脚本和较大的程序通常都是用Perl编写的。因此,在现代Linux环境中,Perl现在是另一个标准的Unix工具,并且确实不可或缺。
awk
,并sed
在它(的Perl)。我认为这个问题的答案部分是历史性的,部分是实际的。
至于历史,Perl是一种经典语言。尽管我不知道什么是“更好的”(如果可以通过某种方式对其进行正式分析,我对此表示怀疑),但它比Python(更不用说PHP)更优雅。使用(或使用过)Perl的优雅人士通常会决定Linux发行版中应包含的内容。
至于什么是可行的,Perl的是仍然有很多东西的胶水:操作系统和网络一样(再次,LAMP,不要忘记Python或PHP)。那么,为什么不包括任何对很多目的有用的东西呢?更是这样,为什么删除任何有(并且不会造成任何伤害),并且是有用的?
但是,碰巧的是,最新一期的《 Linux杂志》(2013年6月,第151号)中对此进行了说明。显然,为了编译Linux内核,使用了两个简短的Perl脚本。(同样,Perl在OS中的“胶水”角色。)现在,一位内核开发人员一直在提交重新编写这些脚本的补丁,这次不是在Perl中,而是作为“ Unix shell脚本”(是sh
?)。这样,任何编译内核的人都不必安装Perl。但是,该补丁(已提交几次)尚未被获取。造成这种情况的原因之一是,一旦冷落,Perl就不太可能被接受。人们喜欢Perl,他们不想与Perl分离。
现在,这仅触及了这个问题的边缘,因为可能只有极少数的Linux用户可以编译内核。但这是另一个难题(我怀疑还有很多)。