编前语:
从计算机诞生之日起,计算机编程语言就是人与计算机之间传递信息的重要工具。
在计算机发展的半个多世纪中,正如从甲骨文到现代汉字的演变历程一样,计算机语言也经历了一个从低级到高级的演变过程。
Perl是一门很强大的语言,它的英文全称Practical Extraction & Reporting Language 。在Perl之前,也许你用过sed、awk以及各种shell脚本语言,甚至BASIC、FORTRAN,但它们与Perl相比都难以望其项背。
今天仍很流行的PHP、Python、Ruby不是基于Perl就是被Perl激励而产生的。比如Python的作者Guido Van Rossum公开表示Python的核心理念是与Perl是背道而驰的。Python认为实现一个目标应当只有一种方法——一种最优的方法;而Perl通常允许你用多种方法实现,给你最大的自由,不过 Guido 也承认他设计 Python 受到很多 Perl 的启发;此外,PHP、Ruby 也都从Perl 那里继承了很多语言特点。

作为Perl 创始人的Larry Wall (拉里·沃尔),于1954年出生于美国的第二大城市洛杉矶。在这座“被上帝眷顾的城市”里,Larry Wall 同样也是位天选之子,他曾两次获得IOCCC(全球难以读懂C程式码比赛)的胜利,同时还成为自由软件奖(Free Software award)第一届的获得者。
令人震惊的是,作为Perl语言的缔造者,编程界祖师爷级别的 “大牛”,Larry的教育背景异常复杂,他先后学习了化学、音乐、医学和自然语言学,但就是没有接受过正规的计算机科学教育。Larry Wall 喜欢把 Perl 叫做一门"粗陋的"语言,他是这样描述 Perl:他是一个顺从,温顺的仆人,只是为了"让他服从于你的需要"而存在。有意思的是,为什么Perl的logo是只骆驼,这中其实也有段掌故。当年,Larry Wall为他设计的Perl语言写了一本书《Programming Perl》,而O'Relly出版他这本书的时候在封面上配了一只骆驼。于是这本书就被爱好者们形象地称为“骆驼书”,而Perl语言的标志也就由此变成了一只骆驼。

Perl应用之广泛从下面这些知名网站的列表中可见一斑:
·Slashdot:虽然属于科技新闻网站,但是很多人是为了看留言非新闻事实本身。知乎也许算是Slashdot的一个变种?!;
·Craigslist:笔者曾在上面买过二手货、租房子……类似与国内的58同城;
·Ticketmaster:美国最大的票务在线网站;
·Priceline:中国版有携程、艺龙等,不过业务模式不同;
·LiveJournal:中国版有新浪博客;
·IMDb:豆瓣电影也许可以比作IMDb。
Perl是解释性语言,但是其语言的灵活性足以能支持程序猿/媛们写出风格迥异的程序:C语言类、OO类的,如C++、Perl类的或天书类的。复杂的awk/sed会像天书一样,Perl可以写得比天书还复杂。
对于喜欢 Perl 的人来说,Perl像是一门编程语言的圣经,据说这和其作者 Larry Wall 的宗教信仰以及他的学语言学的背景有关。显然,Larry在设计 Perl 之初,就把之前所知所学融汇其中,比如,据说Perl的名字来源就是出自马太福音中的“Pearl of Great Price”(无价之宝),Perl更像一门自然语言,如类C语言中的variable / function / accessor等在 Perl 中用noum/ verb / toplicalizer 来取代。Perl语言爱好者称之为"一种拥有各种语言功能的梦幻脚本语言"、"Unix 中的王牌工具"。
优点:简单、强大、灵活,一般问题几行代码轻松搞定,稍复杂的问题代码也不会超过一屏。
缺点:过度冗余的语言(戏称“了write-only”)、代码难以阅读,书写不够优雅。
时至今日,Perl虽已被后起之秀赶超,但其曾在江湖中起到的承上启下的作用依旧熠熠生辉!历史不会忘记!
后记:
以上文章节选自《程序员面试手册》,意犹未尽的童靴可以阅读该书。
本文回顾了Perl语言的发展历程,强调其在编程语言中的强大和灵活性,以及它对PHP、Python等语言的影响。Perl的应用广泛,从知名网站到社区论坛,尽管面临后浪追赶,但它在历史上扮演了关键角色。

571

被折叠的 条评论
为什么被折叠?



