原作者: 埃里克•斯蒂芬•雷蒙(Eric Steven Raymond) 原文 译者:Angel 来自:译言
《黑客道简史》(A Brief History of Hackerdom)序言:真正的程序师
最初,这里有一群真正的程序师。
他们从不以此自称,也不曾用“黑客”或其他特殊的字眼。据一位“真正的程序师”回忆,这个说法是1980年后才出现的。但是从1945年开始,计算机科技便不断吸引着这世界上无数最睿智和最具创造力的头脑。自从艾克特(Eckert)莫齐利(Mauchly)发明第一台ENIAC计算机之后,便不断有狂热的程序师投身其中,他们以编写程序、探索技巧为乐。一点一滴的积累起了一种具有自我意识的科技文化。
这批“真正的程序师”通常都有工程学和物理学背景,作为业余无线电玩家,他们称得上嗜痂成癖。厚厚的眼镜,白白的袜子,涤纶衬衫,再配上一条领带;用机器语言、汇编程序、FORTRAN和一堆“远古级”的语言编程。
从二战末到70年代早期,在这批处理和“铁块”大型机的黄金岁月里,“真正的程序师”是计算机科技文化的主宰。一些令人敬畏的黑客传说,就源自这一时期。这其中就包括诸多版本的“墨菲法则”[1]和那张用来嘲笑德国人的“Blinkenlights”海报[2]——是的,它现在还被用来装饰很多电脑间。
一些在“真正的程序师”文化中成长起来的人直到90年代都保持着活跃,甚至迈向21世纪。比如西摩·克雷(Seymour Cray)——克雷(Cray)超级计算机的设计者,就是“最伟大的程序师”中的一员。据说他一人就包办了硬件和操作系统的设计,而且是用控制面板开关导入的整个系统。用的八进制代码,没有任何错误,运行稳定。伟哉,真程序师。[3]
“真正的程序师”文化是与批处理计算机(特别是批处理技术)紧密相连的,日后它被交互计算、大学科研和网络取而代之。但是这时产生的工程学传统,却一脉承传,成为今天开源黑客文化的滥觞。
译注: 1.墨菲法则:Murphy'Low,以工程师爱德华·A·墨菲 (Edward A.Murphy)命名,指任何可能出错的事情终将出错(anything that can possibly go wrong, will go wrong)。后来引申出诸多版本。比如:任何程序都有缺陷;一个测试了一万遍都没问题的程序肯定会在你演示的时候出错;也有乐观的引申:如果能成功,就一定会成功。
2.“Blinkenlights”海报:这是一张用来嘲笑德国人的海报,这个故事被记录在作者所做并维护的《黑客字典》(Jargon File)中http://www.catb.org/~esr/jargon/。可以在这里看到不同时期的海报:http://www.geocities.com/winstonobrien84/posters/blinkenlights/。不难发现,不管怎么变化都不会离开歌特字体——这种代表德国艺术精粹的字体。
(因为其刊行版名为《The New Hacker‘s Dictionary》,所以我将“Jargon File”译作《黑客字典》)
3.西摩·克雷,被喻为“超级计算机之父”。1984年他的克雷超级计算机占据了超级计算机70%的市场份额。但是不幸的是,1996年9月22日,西摩遭遇了一场意外的交通事故,于10月5日不治身亡。本文最初完成于1997年2月(这时克雷的公司已经被收购了)作者用“Real Programmer macho supremo”作为该段的结尾,我想可能就是对于其的追悼。其中“八进制”是指其全部采用机器语言编写。
4.如今“真正的程序师”(The Real Programmers)的语义已经悄然地发生了变化,通常用来形容食古不化和敝帚自珍的老一辈。我们通常可以看到这样的说法“The Real Programmer don’t…”。
《黑客道简史》(A Brief History of Hackerdom) 第二章 Unix兴起
作者: 埃里克•斯蒂芬•雷蒙(Eric Steven Raymond) 译者: Angelo (Blog) 原文链接:http://catb.org/~esr/writings/cathedral-bazaar/hacker-history/
1969年,在ARPAnet光辉照耀不到的新泽西郊外,正有人在酝酿着什么,最终PDP-10的传统也将为此颠覆。ARPAnet诞生的那一年,贝尔实验室的黑客肯·汤普森(Ken Thompson)发明了Unix。
汤普森曾经参与了Multics的研发,这是一个与ITS拥有共同先祖[1]的分时操作系统。Multics可以说是一个试验台,通过它,人们尝试是否可以将复杂的操作系统(甚至是绝大部分程序)隐藏起来,不让用户直接接触。这样就能从外部简单的操控(甚至是编辑)Multics,这可谓是质的突破。[2]
当Multics变得臃肿并最终成为一个累赘的时候,贝尔实验室退出了(稍后,这个系统被霍尼韦尔公司推向了市场,但是没能成功)。在失去Multics作业环境之后,肯·汤普森找来了一台闲置的DEC PDP-7型计算机,打算在这上面将Multics的理念和自己的创想合二为一。
另一位叫丹尼斯·里奇(Dennis Ritchie)的黑客针对汤普森摇篮里的Unix开发了一种新的语言——C语言。如同Unix一样,C语言的设计非常出色,严谨而不失弹性。这些工具在贝尔实验室中流行开来,在大家的帮助下汤普森和里奇的申请终于在1971年得以通过。他们被授权为内部开发一套我们现在所说的“事务工作自动化系统”(office automation system)。[3]然而汤普森和里奇的雄心却远不止于此。
当时的传统观点认为,操作系统必须用严密的汇编程序编写,这样才能“榨干”主机得到最大效能。汤普森和里奇却相信,当时的硬件和编译器技术已经很成熟,足可以担负一个全部由C语言编写的操作系统了。终于,1978年Unix就已经可以成功的移植到多种机型上了。
这是史无前例,意义深远的。也就是说,如果Unix能在不同的机型上展现相同的界面和能力,它就可以被作为一个通用软件环境。用户需要每次为一种机型担负整套新软件的日子一去不复返了。黑客们可以将软件工具包移入不同的机器,这可比每次重新“生火、造轮子”要强得多了。
除了可移植性之外,Unix和C语言还有许多显著优势。它们都秉承了“KISS”设计哲学[4]。程序员可以轻松掌握C语言的逻辑结构(这与之前和之后的语言都大不一样),而不必整天翻阅用户指南。而Unix则可以看作是一个颇具弹性的工具包,由许多独立设计的程序有效地相互连接而成。
Unix和C语言应用范围之广,有时甚至是完全出乎设计者意料的。虽然没有什么正式的推广计划,但是它们还是迅速在AT&T内部传播开来。到了1980年,已经蔓延到为数众多的大学和计算研究机构,还有数以千计的黑客想把它们带回家。
早期Unix文化中的主力机型是PDP-11和其后裔——VAX。由于Unix具有高度的可移植性,所以能在为数众多的机器上原封不动的运行,而并不局限于那些接入ARPAnet的机器。[5]没人再用汇编程序了,C程序欣然进驻了所有机器。
Unix甚至有了自己的网络,各式各样的UUCP。[6]低速,不稳定却成本低廉。两台Unix机器可以通过普通的电话线相连,交换点对点电邮。这个功能并非一个可选组建,而是被写入了系统。1980年,第一个Usenet站点开始交换广播新闻[7],借此形成的巨大的分布式电子公告板系统,将会迅速成长并超越ARPAnet。围绕Usenet,Unix站点开始形成了自己的网络疆域。
一些Unix站点本身是基于ARPAnet的。这样PDP-10和Unix/Usenet文化就开始在边缘交汇,融合。融合在一开始并不是一帆风顺的。PDP-10黑客把Unix用户视作是一堆暴发户,与LISP和ITS令人爱不释手的复杂华美相比,他们的工具简直原始到可笑。“刀耕火种的家伙”,他们嘟囔道。
除此之外,这里还有第三路人马。第一台个人电脑在1975年进入市场,1977年苹果公司成立,随后的几年里创新以几乎难以置信的速度喷涌而至。微型计算机的轮廓日渐明朗,这吸引到了另一代睿智的年青黑客。他们使用BASIC语言,无论是PDP-10游击队还是Unix信徒,在他们眼中都原始的不值一提。
译者注:
1.这里是指“兼容分时系统”(Compatible Time-Sharing System,CTSS)。
2.也就是后台运行,而用户只需要使用命令。
3.这里是说贝尔实验室拨款给他们添置了一台 PDP-11/20
4.KISS是“Keep It Simple, Stupid”的缩写,即“务求简约”。
5.在这一时期,接入ARPAnet的主力机型也是PDP-11和VAX。
6.UUCP,UUCP是Unix-to-Unix Copy的缩写,是一组软件程序,所以说是“各式各样”的。
7.Usenet,又称友思网。是一种(最初)基于UUCP的世界性新闻组网络系统。广播新闻是指Usenet中的一个站点向网络(局域网或广域网)上所有其他站点发送消息。
《黑客道简史》(A Brief History of Hackerdom)第三章 昔日不再
原作者:埃里克•斯蒂芬•雷蒙(Eric Steven Raymond) 译者: Angelo 原文链接:http://catb.org/~esr/writings/hacker-history/hacker-history-5.html
1980年,发生了很多大事。三股文化在边缘交迭却依旧固守着迥异的技术阵线。ARPAnet/PDP-10文化与LISP、MACRO 、TOPS-10 、ITS 以及SAIL联姻; Unix和C语言的用户群则使用PDP-11和VAXen,并通过单薄的电话线彼此相通;而由早期微电脑迷组成的无政府部落则致力于让电脑科技平民化。
三者之中,ITS仍旧盘踞在首要地位。但是暴雨前的乌云逐渐笼罩了实验室(指麻省理工学院——译者按)。ITS赖以为生的PDP-10科技已然日薄西山,为了首次的人工智能商业化尝试,实验室内部也分裂成了若干小团体。实验室的主将挡不住新公司的高薪挖角,纷纷出走(斯坦福大学人工智能实验室和卡内基梅隆大学实验室也遭遇了同样的问题)。
致命一击终于来临了,1983年DEC公司宣布,为了主攻PDP-11和VAX系列产品,将终止PDP-10的后续机型研发项目——“木星”项目。ITS行将就木,因为它不具备可移植性,或者说没人能把它移入新的硬件。加州大学伯克利分校为一台VAX改写的Unix成了最卓越的黑客(hacking)系统,而且有远见的人都知道微型计算机的实力在迅速壮大,它们很可能会一统江湖。
差不多在同时,史蒂文·利维完成了《黑客》一书。理查德•M·斯多曼(Emacs的发明人)是其重点着墨的人物之一。他是麻省理工实验室的一位领军人物,极度狂热地反对将实验室科研成果商业化。
斯多曼(我们认识他通常通过他的首字母缩写和注册名——RMS)着手创建了自由软件基金会,并致力与创造高品质的自由软件。利维惋惜地称其为“最后一个真正的黑客”,幸好事实证明利维错了。
斯多曼的宏大计划可谓是80年代早期黑客道变迁的缩影——1982年他开始架构一整套Unix克隆产品,使用C语言编码并且让其可以被自由使用。这便是我们熟知的GNU操作系统(其名称源自“GNU’s Not Unix”的首字母递归)。GUN很快就成了黑客活动的主战场。借此,在以Unix和VAX为中心黑客文化里,ITS的传统精神衣钵被新秀作为精髓承袭下来。斯多曼的设计不仅完成了源自伯克利的创想,而且同Unix用户一道剿灭了PDP-10黑客文化的遗老。
实际上,黑客文化的公共意识形态的形成,主要取决于RMS创立自由软件基金会之后的十余年光景。而斯多曼本人则是这个部族惟一众望所归的领袖。
同样在1982到83年间,微芯片和局域网技术猛烈的冲击着黑客道。以太网和摩托罗拉68000微芯片就是一个潜在的有力组合,众多公司纷纷组建起来,着手开发第一代我们如今所说的“工作站”。
1982年,一批来自斯坦福和伯克利的黑客组建了Sun公司[1]。他们坚信:将Unix架设在以68000为基础的机器上,足可以满足五花八门的应用软件所需,可谓是物美价廉之选。他们是对的,其高瞻远瞩为整个业界树立了楷模。这种工作站的价格,虽然大部分个人用户依旧无法承担,但是对于公司和大学来说可算很廉价了。它们组成的网络(人手一台),很快将年迈的VAX和其他分时机型取而代之。
1.Sun公司:Sun Microsystems,在大陆称“太阳计算机系统”,台湾称“昇陽”。
|