Linux 版 (精华区)

发信人: tcpip (高级草包), 信区: Linux
标  题: Perl的诞生(转寄)
发信站: 哈工大紫丁香 (Wed Apr 26 03:29:32 2000), 转信

发信人: Nullgate (空门大师~Perl传教士), 信区: Perl       

标  题: Perl的诞生

发信站: BBS 水木清华站 (Tue Apr 25 16:49:45 2000)

[由O'Reilly的Programming Perl 8.7 History Made Practical翻译 ]

[允许任意非商业转载、修改,无需注明作者、译者,版权属O'Reilly]

                                Perl的诞生

  为了理解Perl为什么像现在这样,你必须了解Perl为什么存在。好,让我们拿起尘

封的历史书……

  追溯到1986年,Larry是一个项目的系统管理员。这个项目的目标是能支持发展多

种安全级别的广域网络。他负责管理在西海岸的由三台Vaxen和三台Sun组成的实验设施

,这些机器通过一条加密的1200波特率的串行线路(听起来是不是像石器时代的遗迹?

)连接到东海岸的类似设施。由于Larry的主要任务是提供技术支持(他不是程序员,

只是个系统管理员),他能够利用他的三大优点(懒惰、急躁和傲慢)去开发或增强各

种各样的工具,比如rn,patch和warp。

  某天,当Larry刚刚把rn程序肢解开,并将它的碎片放到目录的地板上,老板对他

说:“Larry,我们需要一个能控制和管理所有十二台机器的系统。我们必须在一个月

内完成。立即着手去做!”

  于是,从来不逃避工作的Larry开始考虑如何设计一个海岸间的控制管理系统。La

rry不是一个边做边想的人,于是他决定使用B-news系统来察看、维护和管理错误报告



  Larry开始在这些机器上安装新闻系统,并增加了两条指令:“append”用于附加

新的信息到已经有的文章,“synchronize”用于保正两个海岸的文章数目是相同的。

管理和控制可以用RCS完成,余下的由news和rn完成。这系统很不错。

  随后老板要他生成报告。存储在不同文件中的新闻都在主服务器上维护,文件有很

多交叉引用。Larry的第一个想法是“让我们用awk”。但是不幸的是那个年代的awk不

能处理多个文件。Larry不愿一为此编写一个用途单一的工具,于是一种新的语言诞生

了。

  这种新的工具最初并不叫Perl。Larry曾经将一些同事和合作者的名字搅在一起(

Dan Faigin,本文作者,Mark Biggar,Larry的妻弟,在最初的设计中帮了大忙)。L

arry的确考虑过字典中所有的三四个字母的单词,不过他都不满意。最初的几个名字之

一是“Gloria”,他的情人(也是妻子)的名字。

  他很快意识到这会引起混乱。于是名字变成了“Pearl”,最后变成了现在的“Pe

rl”,一部分是因为Larry看到了一种叫做“Pearl”的图形语言的手册,但最重要的是

因为他懒得不断地敲五个字符。就这样,Perl只用到四个字母。(你仍然可以从Perl的

缩写解释中看到前一种称呼的遗迹:“Practical Extraction and Report Language”

。)

  最初的Perl缺少很多现在的特性。你可以找到模式匹配、文件句柄、标量和文本格

式(Format)。不过当时只有很少的函数,没有没有关联数组,只有从rn中偷来的有限的

正则表达式。它的文档只有15页。不过Perl比sed和awk都要快,因此在别的应用程序和

项目中得到了应用。

  但是Larry被调到了别的项目。另一个老板对Larry说:“Larry,去支持研究和开

发。”于是Larry一口答应下来。他带上了Perl,很快发现它变成了系统管理的利器。

他借来了Henry Spencer优秀的正则表达式包,把它加入了Perl。随后Larry加入了各种

自己需要的好东西,也加入了一小部分别人需要的东西。随后他在网络上发行了Perl。

众所周知,后来的就是历史。

  

BTW:最令人兴奋的是,Larry不断地发行新版本的Perl,无论他是在喷气推力实验室、

网络实验室、希捷还是O'Reilly。

        翻译水平很差,就像科英作业,大家将就点吧  

--

    Perl能做什么?     你应该问Perl不能做什么,Perl 能做的事太多了!

    Perl不能做什么?    挺难回答的,至少Perl不能端茶送饭。

    *(@$@$%$$^%$&%&!   没准Perl能懂这个!

    Perl资源:    http://166.111.160.5/nullgate/perl/

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.160.216]


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.670毫秒