作者:Eric Raymond
翻译: 台湾佚名
----------------------------------------------------------------------------
以下的内容转载自
=================================================
本篇原作者为Eric S. Raymond ,他是一位大哥级的 Hacker,
写了很多自由软件,知名著作有Jargon File等,近年来发表“大教堂与集市”论文为O
pensource software努力,Netscape 愿意公开Navigator的原始码,与这篇文章有很大
的关系。
----------------------------------------------------------------------------
序曲: Real Programmer
故事一开始,要介绍的是所谓的Real Programmer。
他们从不自称是Real Programmer、Hacker或任何特殊的称号;`Real Programmer' 这个
名词是在1980年代才出现,但早自1945年起,电脑科学便不断地吸引世界上头脑最顶尖
、想像力最丰富的人投入其中。从Eckert &Mauchly发明ENIAC後,便不断有狂热的prog
rammer投入其中,他们以撰写软件与玩弄各种程式设计技巧为乐,逐渐形成具有自我意
识的一套科技文化。当时这批Real Programmers主要来自工程界与物理界,他们戴著厚
厚的眼镜, 穿聚酯纤维T恤与纯白袜子,用机器语言、汇编语言、FORTRAN及很多古老的
语言写程式。他们是Hacker时代的先驱者,默默贡献,却鲜为人知。
从二次大战结束後到1970早期,是打卡计算机与所谓"大铁块"的mainframes 流行的年代
,由Real Programmer主宰电脑文化。Hacker传奇故事如有名的 Mel (收录在Jargon Fi
le中)、Murphy's Law的各种版本、mock- German`Blinkenlight' 文章都是流传久远的
老掉牙笑话了。
※译者:
Jargon File亦是本文原作者所编写的,里面收录了很多Hacker用语、缩写意 义、传奇
故事等等。Jargon File有出版成一本书:The New Hacker's Dictionary,MIT PRESS出
版。也有Online版本:
※译者:
莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它。 它有很
多衍生说法:比如一个程式在demo前测试几千几万次都正确无误,但demo 那一天偏偏就
会出bug。
一些Real Programmer仍在世且十分活跃 (本文写在1996年)。超级电脑Cray 的设计者S
eymour Cray,据说亲手设计Cray全部的硬体与其操作系统,作业 系统是他用机器码硬
干出来的,没有出过任何bug或error。Real Programmer 真是超强!
举个比较不那么夸张的例子:Stan Kelly-Bootle,The Devil's DP Dictionary 一书的
作者(McGraw-Hill,1981年初版,ISBN 0-07-034022-6)与Hacker 传奇专家,当年在一
台Manchester Mark I开发程式。他现在是电脑杂志的专栏 作家,写一些科学幽默小品
,文笔生动有趣投今日hackers所好,所以很受欢迎。 其他人像David E. Lundstorm,
写了许多关於Real Programmer的小故事, 收录在A few Good Men From UNIVAC这本书
,1987年出版,ISBN-0- 262-62075-8。
※译:看到这里,大家应该能了解,所谓Real Programmer指的就是用组合语 言或甚至
机器码,把程式用打卡机punch出一片片纸卡片,由主机读卡机输入电 脑的那种石器时
代Programmer。
Real Programmer的时代步入尾声,取而代之的是逐渐盛行的Interactive computing,
大学成立电算相关科系及电脑网络。它们催生了另一个持续的工程传统,并最终演化为
今天的开放代码黑客文化。
早期的黑客
Hacker时代的滥觞始於1961 年MIT出现第一台电脑DEC PDP-1。MIT的Tech Model Railr
oad Club(简称TMRC)的Power and Signals Group买了这台机器後,把它当成最时髦的科
技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一直发展下去至今日。 这
在Steven Levy的书`Hackers' 前段有详细的记载(Anchor/Doubleday 公司,1984年出版
,ISBN 0-385-19195-2)。
※译:Interactive computing并非指Windows、GUI、WYSIWYG等介面, 当时有termina
l、有shell可以下指令就算是Interactive computing了。 最先使用Hacker这个字应该
是MIT。1980年代早期学术界人工智慧的权威:MIT 的Artificial Intelligence Labor
atory,其核心人物皆来自TMRC。从1969年 起,正好是ARPANET建置的第一年,这群人在
电脑科学界便不断有重大突破与 贡献。
ARPANET是第一个横跨美国的高速网络。由美国国防部所出资兴建,一个实验性 质的数
位通讯网络,逐渐成长成联系各大学、国防部承包商及研究机构的大网络。 各地研究人
员能以史无前例的速度与弹性交流资讯,超高效率的合作模式导致科技 的突飞猛进。
ARPANET另一项好处是,资讯高速公路使得全世界的hackers能聚在一起,不再像以前孤
立在各地形成一股股的短命文化,网络把他们汇流成一股强大力量。 开始有人感受到H
acker文化的存在,动手整理术语放上网络,在网上发表讽刺文学与讨论Hacker所应有的
道德规范。(Jargon File的第一版出现在1973年,就是一个好例子),Hacker文化在有接
上ARPANET的各大学间快速发展,特别是(但不全是)在信息相关科系。
一开始,整个Hacker文化的发展以MIT的AI Lab为中心,但Stanford University 的Art
ificial Intelligence Laboratory(简称SAIL)与稍後的Carnegie-Mellon University(
简称CMU)正快速崛起中。三个都是大型的资讯科学研究中心及人工智慧的权威,聚集著
世界各地的精英,不论在技术上或精神层次上,对Hacker文
化都有极高的贡献。
为能了解後来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角MIT AI L
ab也从红极一时到最後淡出舞台。
从MIT那台PDP-1开始,Hacker们主要程式开发平台都是Digital Equipment Corporatio
n 的PDP迷你电脑序列。DEC率先发展出商业用途为主的interactive computing及time-
sharing操作系统,当时许多的大学都是买DEC的机器, 因为它兼具弹性与速度,还很便
宜(相对於较快的大型电脑mainframe)。 便宜的分时系统是Hacker文化能快速成长因素
之一,在PDP流行的时代, ARPANET上是DEC机器的天下,其中最重要的便属PDP-10,PD
P-10受到 Hacker们的青睐达十五年;TOPS-10(DEC的操作系统)与MACRO-10(它的组译器
),许多怀旧的术语及Hacker传奇中仍常出现这两个字。
MIT像大家一样用PDP-10,但他们不屑用DEC的操作系统。他们偏要自己写一个:传说中
赫赫有名的ITS。
ITS全名是`Incompatible Timesharing System',取这个怪名果然符合MIT的搞怪作风
-- 就是要与众不同,他们很臭屁但够本事自己去写一套操作系统。ITS始终不稳,设计
古怪,bug也不少,但仍有许多独到的创见,似乎还是分时系统 中开机时间最久的纪录
保持者。
ITS本身是用汇编语言写的,其他部分由LISP写成。LISP在当时是一个威力强大与极具弹
性的程式语言;事实上,二十五年後的今天,它的设计仍优於目前大多数的程式语言。
LISP让ITS的Hacker得以尽情发挥想像力与搞怪能力。LISP是MIT AI Lab成功的最大功臣
,现在它仍是Hacker们的最爱之一。
很多ITS的产物到现在仍活著;EMACS大概是最有名的一个,而ITS的稗官野史仍为今日的
Hacker们所津津乐道,就如同你在Jargon File中所读到的一般。 在MIT红得发紫之际,
SAIL与CMU也没闲著。SAIL的中坚份子後来成为PC 界或图形使用者介面研发的要角。CM
U的Hacker则开发出第一个实用的大型专 家系统与工业用机器人。
另一个Hacker重镇是XEROX PARC公司的Palo Alto Research Center。从 1970初期到19
80中期这十几年间,PARC不断出现惊人的突破与发明,不论质或量,软件或硬体方面。
如现今的视窗滑鼠介面,雷射印表机与区域网络;其D系列的机器,催生了能与迷你电脑
一较长短的强力个人电脑。不幸这群先知先觉者并不受到公司高层的赏识;PARC是家专
门提供好点子帮别人赚钱的公司成为众所皆知的大笑话。即使如此,PARC这群人对Hack
er文化仍有不可抹灭的贡献。 1970年代与PDP-10文化迅速成长茁壮。Mailing list的出
现使世界各地的人得以组成许多SIG(Special-interest group),不只在电脑方面,也有
社会与娱乐方面的。DARPA对这些非`正当性'活动睁一只眼闭一只眼,因为靠这些活动会
吸引更多的聪明小夥子们投入电脑领域呢。
有名的非电脑技术相关的ARPANET mailing list首推科幻小说迷的,时至今日ARPANET变
成Internet,愈来愈多的读者参与讨论。Mailing list逐渐成为一种公众讨论的媒介,
导致许多商业化上网服务如CompuServe、Genie与Prodigy 的成立。
Unix 的兴起
此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker社会,终於席卷整个PDP-10的
传统。它诞生在1969年,也就是ARPANET成立的那一年,有个在AT&T Bell Labs的年轻小
夥子Ken Thompson发明了Unix。
Thomspon曾经参与Multics的开发,Multics是源自ITS的操作系统,用来实做当时一些较
新的OS理论,如把操作系统较复杂的内部结构隐藏起来,提供一个介面,使的programm
er能不用深入了解操作系统与硬体设备,也能快速开发程式。
译:那时的programmer写个程式必须彻底了解操作系统内部,或硬体设备。比方说写有
IO的程式,对於硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才行。
在发现继续开发Multics是做白工时,Bell Labs很快的退出了(後来有一家公司Honeywe
ll出售Multics,赔的很惨)。Ken Thompson很喜欢Multics上的作业环境,於是他在实验
室里一台报废的DEC PDP-7上胡乱写了一个操作系统, 该系统在设计上有从Multics抄来
的也有他自己的构想。他将这个操作系统命名Unix,用来反讽Multics。
译:其实是Ken Thompson写了一个游戏`Star Travel' 没地方跑,就去找一台的报废机
器PDP-7来玩。他同事Brian Kernighan嘲笑Ken Thompson说:「你写的系统好逊哦,乾
脆叫Unics算了。」(Unics发音与太监的英文eunuches一样),後来才改为Unix。
他的同事Dennis Ritchie,发明了一个新的程式语言C,於是他与Thompson用C把原来用
汇编语言写的Unix重写一遍。C的设计原则就是好用,自由与弹性, C与Unix很快地在B
ell Labs得到欢迎。1971年Thompson与Ritchie争取到一个办公室自动化系统的专案,U
nix开始在Bell Labs中流行。不过Thompson与Ritchie的雄心壮志还不止於此。
那时的传统是,一个操作系统必须完全用汇编语言写成,始能让机器发挥最高的效能。
Thompson与Ritchie,是头几位领悟硬体与编译器的技术,已经进步到作业系统可以完全
用高阶语言如C来写,仍保有不错的效能。五年後,Unix已经成功地移植到数种机器上。
译:Ken Thompson与Dennis Ritchie是唯一两位获得Turing Award(电脑界的诺贝尔奖)
的工程师(其他都是学者)。
这当时是一件不可思议的事!它意味著,如果Unix可以在各种平台上跑的话,Unix 软件
就能移植到各种机器上。再也用不著为特定的机器写软件了,能在Unix上跑最重要,重
新发明轮子已经成为过去式了。
--------------------next---------------------
阅读(389) | 评论(0) | 转发(0) |