当前位置:Linux教程 - Linux - Hacker文化

Hacker文化



        
    Hacker文化简史
    故事一开始,我要介绍的是所谓的Real Programmer。

    他们从不自称是Real Programmer、Hacker或任何特殊的称号;`Real Programmer‘ 这个名词是在1980年代才出现,但早自1945年起,电脑科学 便不断地吸引世界上头脑最顶尖、想像力最丰富的人投入其中。从Eckert & Mauchly发明ENIAC後,便不断有狂热的programmer投入其中,他们以撰写 软体与玩弄各种程式设计技巧为乐,逐渐形成具有自我意识的一套科技文化。

    当时这批Real Programmers主要来自工程界与物理界,他们戴著厚厚的眼镜, 穿聚酯纤维T恤与纯白袜子,用机器语言、组合语言、FORTRAN及很多古老的 语言写程式。他们是Hacker时代的先驱者,默默贡献,却鲜为人知。 从二次大战结束後到1970早期,是打卡计算机与所谓“大铁块“的mainframes 流行的年代,由Real Programmer主宰电脑文化。Hacker传奇故事如有名的 Mel (收录在Jargon File中)、Murphy‘s Law的各种版本、mock- German`Blinkenlight‘ 文章都是流传久远的老掉牙笑话了。

    ※译: Jargon File亦是本文原作者所编写的,里面收录了很多Hacker用语、缩写意 义、传奇故事等等。Jargon File有出版成一本书:The New Hacker‘s Dictionary,MIT PRESS出版。也有Online版本: http://www.ccil.org/jargon ※译: 莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它。 它有很多衍生说法:比如一个程式在demo前测试几千几万次都正确无误,但demo 那一天偏偏就会搞飞机出bug。

    一些Real Programmer仍在世且十分活跃 (本文写在1996年)。超级电脑Cray 的设计者Seymour 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 Railroad Club(简 称TMRC)的Power and Signals Group买了这台机器後,把它当成最时髦的科 技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一直发展下去至今日。 这在Steven Levy的书`Hackers‘ 前段有详细的记载(Anchor/Doubleday 公 司,1984年出版,ISBN 0-385-19195-2)。

    ※译:Interactive computing并非指Windows、GUI、WYSIWYG等介面, 当时有terminal、有shell可以下指令就算是Interactive computing了。 最先使用Hacker这个字应该是MIT。1980年代早期学术界人工智慧的权威:MIT 的Artificial Intelligence Laboratory,其核心人物皆来自TMRC。从1969年 起,正好是ARPANET建置的第一年,这群人在电脑科学界便不断有重大突破与 贡献。

    ARPANET是第一个横跨美国的高速网路。由美国国防部所出资兴建,一个实验性 质的数位通讯网路,逐渐成长成联系各大学、国防部承包商及研究机构的大网路。 各地研究人员能以史无前例的速度与弹性交流资讯,超高效率的合作模式导致科技 的突飞猛进。

    ARPANET另一项好处是,资讯高速公路使得全世界的hackers能聚在一起,不 再像以前孤立在各地形成一股股的短命文化,网路把他们汇流成一股强大力量。 开始有人感受到Hacker文化的存在,动手整理术语放上网路,在网上发表讽刺文 学与讨论Hacker所应有的道德规范。(Jargon File的第一版出现在1973年, 就是一个好例子),Hacker文化在有接上ARPANET的各大学间快速发展,特别 是(但不全是)在资讯相关科系。

    一开始,整个Hacker文化的发展以MIT的AI Lab为中心,但Stanford University 的Artificial Intelligence Laboratory(简称SAIL)与稍後的Carnegie-Mellon University(简称CMU)正快速崛起中。三个都是大型的资讯科学研究中心及人工 智慧的权威,聚集著世界各地的精英,不论在技术上或精神层次上,对Hacker文 化都有极高的贡献。

    为能了解後来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角MIT AI Lab也从红极一时到最後淡出舞台。

    从MIT那台PDP-1开始,Hacker们主要程式开发平台都是Digital Equipment Corporation 的PDP迷你电脑系列。DEC率先发展出商业用途为主的interactive computing及time-sharing作业系统,当时许多的大学都是买DEC的机器, 因为它兼具弹性与速度,还很便宜(相对於较快的大型电脑mainframe)。 便宜的分时系统是Hacker文化能快速成长因素之一,在PDP流行的时代, ARPANET上是DEC机器的天下,其中最重要的便属PDP-10,PDP-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 界或图形使用者介面研发的要角。CMU的Hacker则开发出第一个实用的大型专 家系统与工业用机器人。

    另一个Hacker重镇是XEROX PARC公司的Palo Alto Research Center。从 1970初期到1980中期这十几年间,PARC不断出现惊人的突破与发明,不论质 或量,软体或硬体方面。如现今的视窗滑鼠介面,雷射印表机与区域网路;其D 系列的机器,催生了能与迷你电脑一较长短的强力个人电脑。不幸这群先知先觉者 并不受到公司高层的赏识;PARC是家专门提供好点子帮别人赚钱的公司成为众所 皆知的大笑话。即使如此,PARC这群人对Hacker文化仍有不可抹灭的贡献。 1970年代ARPANET与PDP-10文化迅速成长茁壮。Mailing list的出现使世界 各地的人得以组成许多SIG(Special-interest group),不只在电脑方面,也有 社会与娱乐方面的。DARPA对这些非`正当性‘活动睁一只眼闭一只眼,因为靠这 些活动会吸引更多的聪明小夥子们投入电脑领域呢。

    有名的非电脑技术相关的ARPANET mailing list首推科幻小说迷的,时至今日 ARPANET变成Internet,愈来愈多的读者参与讨论。Mailing list逐渐成为一种 公众讨论的媒介,导致许多商业化上网服务如CompuServe、Genie与Prodigy 的成立。

    此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker社会,终於席卷整个 PDP-10的传统。它诞生在1969年,也就是ARPANET成立的那一年,有个在 AT&T Bell Labs的年轻小夥子Ken Thompson发明了Unix。 Thomspon曾经参与Multics的开发,Multics是源自ITS的作业系统,用来实 做当时一些较新的OS理论,如把作业系统较复杂的内部结构隐藏起来,提供一个 介面,使的programmer能不用深入了解作业系统与硬体设备,也能快速开发程 式。

    译:那时的programmer写个程式必须彻底了解作业系统内部,或硬体设备。比 方说写有IO的程式,对於硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才 行。

    在发现继续开发Multics是做白工时,Bell Labs很快的退出了(後来有一家公司 Honeywell出售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很快地在Bell Labs得到欢迎。1971年Thompson与Ritchie争取 到一个办公室自动化系统的专案,Unix开始在Bell Labs中流行。不过Thompson 与Ritchie的雄心壮志还不止於此。

    那时的传统是,一个作业系统必须完全用组合语言写成,始能让机器发挥最高的效 能。Thompson与Ritchie,是头几位领悟硬体与编译器的技术,已经进步到作 业系统可以完全用高阶语言如C来写,仍保有不错的效能。五年後,Unix已经成 功地移植到数种机器上。

    译:Ken Thompson与Dennis Ritchie是唯一两位获得Turing Award(电脑界 的诺贝尔奖)的工程师(其他都是学者)。

    这当时是一件不可思议的事!它意味著,如果Unix可以在各种平台上跑的话,Unix 软体就能移植到各种机器上。再也用不著为特定的机器写软体了,能在Unix上跑 最重要,重新发明轮子已经成为过去式了。

    除了跨平台的优点外,Unix与C还有许多显著的优势。Unix与C的设计哲学是 `Keep It Simple, Stupid‘。programmer可以轻易掌握整个C的逻辑结构(不 像其他之前或以後的程式语言)而不用一天到晚翻手册写程式。而Unix提供许多 有用的小工具程式,经过适当的组合(写成Shell script或Perl script),可以发 挥强大的威力。

    ※注:The C Programming Language是所有程式语言书最薄的一本,只有两 百多页哦。作者是Brian Kernighan与Dennis Ritchie,所以这本C语言的圣 经又称`K&R‘。

    ※注:`Keep It Simple, Stupid‘ 简称KISS,今日Unix已不follow这个原则, 几乎所有Unix都是要灌一堆有的没的utilities,唯一例外是MINIX。

    C与Unix的应用范围之广,出乎原设计者之意料,很多领域的研究要用到电脑时, 他们是最佳拍档。尽管缺乏一个正式支援的机构,它们仍在AT&T内部中疯狂的 散播。到了1980年,已蔓延到大学与研究机构,还有数以千计的hacker想把Unix 装在家里的机器上。

    当时跑Unix的主力机器是PDP-11、VAX系列的机器。不过由於UNIX的高移 植性,它几乎可安装在所有的电脑机型上。一旦新型机器上的UNIX安装好,把 软体的C原始码抓来重新编译就一切OK了,谁还要用组合语言来开发软体? 有一套专为UNIX设计的网路 --- UUCP:一种低速、不稳但很成本低廉的网路。 两台UNIX机器用条电话线连起来,就可以使用互传电子邮件。UUCP是内建在 UNIX系统中的,不用另外安装。於是UNIX站台连成了专属的一套网路,形成其 Hacker文化。在1980第一个USENET站台成立之後,组成了一个特大号的分 散式布告栏系统,吸引而来的人数很快地超过了ARPANET。

    少数UNIX站台有连上ARPANET。PDP-10与UNIX的Hacker文化开始交流, 不过一开始不怎麽愉快就是了。PDP-10的Hacker们觉得UNIX的拥护者都是 些什麽也不懂的新手,比起他们那复杂华丽,令人爱不释手的LISP与ITS,C与 UNIX简直原始的令人好笑。『一群穿兽皮拿石斧的野蛮人』他们咕哝著。 在这当时,又有另一股新潮流风行起来。第一部PC出现在1975年;苹果电脑在 1977年成立,以飞快的速度成长。微电脑的潜力,立刻吸引了另一批年轻的 Hackers。他们最爱的程式语言是BASIC,由於它过於简陋,PDP-10的死忠派 与UNIX迷们根本不屑用它,更看不起使用它的人。

    译:这群Hacker中有一位大家一定认识,他的名字叫Bill Gates,最初就是他在 8080上发展BASIC compiler的。

    1980年同时有三个Hacker文化在发展,尽管彼此偶有接触与交流,但还是各玩 各的。ARPANET/PDP-10文化,玩的是LISP、MACRO、TOPS-10与ITS。UNIX 与C的拥护者用电话线把他们的PDP-11与VAX机器串起来玩。还有另一群散乱 无秩序的微电脑迷,致力於将电脑科技平民化。

    三者中ITS文化(也就是以MIT AI LAB为中心的Hacker文化)可说在此时达 到全盛时期,但乌云逐渐笼罩这个实验室。ITS赖以维生的PDP-10逐渐过时, 开始有人离开实验室去外面开公司,将人工智慧的科技商业化。MIT AI Lab的高 手挡不住新公司的高薪挖角而纷纷出走,SAIL与CMU也遭遇到同样的问题。

    译:这个情况在GNU宣言中有详细的描述,请参阅: (特别感谢由yhsiao翻成中文) http://odie.csie.ntu.edu.tw/~chiron/GNU-Manifesto.txt


    致命一击终於来临,1983年DEC宣布:为了要集中在PDP-11与VAX生产线, 将停止生产PDP-10;ITS没搞头了,因为它无法移植到其他机器上,或说根本没 人办的到。而Berkeley Univeristy修改过的UNIX在新型的VAX跑得很顺,是 ITS理想的取代品。有远见的人都看得出,在快速成长的微电脑科技下,Unix一 统江湖是迟早的事。

    差不多在此时Steven Levy完成``Hackers‘‘ 这本书,主要的资料来源是Richard M. Stallman(RMS)的故事,他是MIT AI Lab领袖人物,坚决反对实验室的研 究成果商业化。

    Stallman接著创办了Free Software Foundation,全力投入写出高品质的自由 软体。Levy以哀悼的笔调描述他是`the last true hacker‘,还好事实证明Levy 完全错了。

    译:Richard M. Stallman的相关事迹请参考: http://odie.csie.ntu.edu.tw/~chiron/FSF.txt

    Stallman的宏大计划可说是80年代早期Hacker文化的缩影 -- 在1982年他 开始建构一个与UNIX相容但全新的作业系统,以C来写并完全免费。整个ITS 的精神与传统,经由RMS的努力,被整合在一个新的,UNIX与VAX机器上的 Hacker文化。

    微电脑与区域网路的科技,开始对Hacker文化产生影响。Motorola 68000 CPU 加Ethernet是个有力的组合,也有几家公司相继成立生产第一代的工作站。 1982年,一群Berkeley出来的UNIX Hacker成立了Sun Microsystems,他 们的算盘打的是:把UNIX架在以68000为CPU的机器,物美价廉又符合多数 应用程式的要求。他们的高瞻远嘱为整个工业界树立了新的里程碑。虽然对个人而 言,工作站仍太昂贵,不过在公司与学校眼中,工作站真是比迷你电脑便宜太多了。 在这些机构里,工作站(几乎是一人一台)很快地取代了老旧庞大的VAX等 timesharing机器。

    译:Sun一开始生产的工作站CPU是用Motorola 68000系列,到1989才 推出自行研发的以SPARC系列为CPU的SPARCstation。

    1984年AT&T解散了,UNIX正式成为一个商品。当时的Hacker文化分成两大 类,一类集中在Internet与USENET上(主要是跑UNIX的迷你电脑或工作站 连上网路),以及另一类PC迷,他们绝大多数没有连上Internet。

    ※译:台湾在1992年左右连上Internet前,玩家们主要以电话拨接BBS交换 资讯,但是有区域性的限制,发展性也大不如USENET。

    Sun与其他厂商制造的工作站为Hacker们开启了另一个美丽新世界。工作站诉 求的是高效能的绘图与网路,1980年代Hacker们致力为工作站撰写软体,不断 挑战及突破以求将这些功能发挥到百分之一百零一。Berkeley发展出一套内建支 援ARPANET protocols的UNIX,让UNIX能轻松连上网路,Internet也成长 的更加迅速。

    除了Berkeley让UNIX网路功能大幅提升外,尝试为工作站开发一套图形界面也 不少。最有名的要算MIT开发的X window了。X window成功的关键在完全公 开原始码,展现出Hacker一贯作风,并散播到Internet上。X成功的干掉其他 商业化的图形界面的例子,对数年後UNIX的发展有著深远的启发与影响。 少数ITS死忠派仍在顽抗著,到1990年最後一台ITS也永远关机长眠了;那些 死忠派在穷途末路下只有悻悻地投向UNIX的怀抱。

    UNIX们此时也分裂为Berkeley UNIX与AT&T两大阵营,也许你看过一些当时 的海报,上面画著一台钛翼战机全速飞离一个爆炸中、上面印著AT&T的商标的 死星。Berkeley UNIX的拥护者自喻为冷酷无情的公司帝国的反抗军。就销售量 来说,AT&T UNIX始终赶不上BSD/Sun,但它赢了标准制订的战争。到1990 年,AT&T与BSD版本已难明显区分,因为彼此都有采用对方的新发明。

    随著90年代的来到,工作站的地位逐渐受到新型廉价的高档PC的威胁,他们主 要是用Intel 80386系列CPU。第一次Hacker能买一台威力等同於十年前的迷 你电脑的机器,上面跑著一个完整的UNIX,且能轻易的连上网路。 沈浸在MS-DOS世界的井底蛙对这些巨变仍一无所知,从早期只有少数人对微电 脑有兴趣,到此时玩DOS与Mac的人数已超过所谓的“网路民族“的文化,但他 们始终没成什麽气候或搞出什麽飞机,虽然聊有佳作光芒乍现,却没有稳定发展出 统一的文化传统,术语字典,传奇故事与神话般的历史。它们没有真正的网路,只 能聚在小型的BBS站或一些失败的网路如FIDONET。

    提供上网服务的公司如CompuServe或Genie生意日益兴隆,事实显示non- UNIX的作业系统因为并没有内附如compiler等程式发展工具,很少有source 在网路上流传,也因此无法形成合作开发软体的风气。 Hacker文化的主力,是散布在Internet各地,几乎可说是玩UNIX的文化。他 们玩电脑才不在乎什麽售後服务之类,他们要的是更好的工具、更多的上网时间、 还有一台便宜32-bit PC。

    机器有了,可以上网了,但软体去哪找?商业的UNIX贵的要命,一套要好几千 大洋($)。90年代早期,开始有公司将AT&T 与BSD UNIX移植到PC上出售。 成功与否不论,价格并没有降下来,更要紧的是没有附原始码,你根本不能也不准 修改它,以符合自己的需要或拿去分享给别人。传统的商业软体并没有给Hacker 们真正想要的。

    即使是Free Software Foundation(FSF)也没有写出Hacker想要的作业系统, RMS承诺的GNU作业系统 -- HURD说了好久了,到1996年都没看到影子(虽 然1990年开始,FSF的软体已经可以在所有的UNIX平台执行)。

    在这空窗期中,1992年一位芬兰Helsinki University的学生 -- Linus Torvalds 开始在一台386PC上发展一个自由软体的UNIX kernel,使用FSF的程式开发工具。 他很快的写好简单的版本,丢到网路上分享给大家,吸引了非常多的Hacker来帮 忙一起发展Linux -- 一个功能完整的UNIX,完全免费且附上全部的原始码。

    Linux最大的特色,不是功能上的先进而是全新的软体开发模式。直到Linux的 成功前,人人都认为像作业系统这麽复杂的软体,非得要靠一个开发团队密切合作, 互相协调与分工才有可能写的出来。商业软体公司与80年代的Free Software Foundation所采用都是这种发展模式。

    Linux则迥异於前者。一开始它就是一大群Hacker在网路上一起涂涂抹抹出来 的。没有严格品质控制与高层决策发展方针,靠的是每周发表新版供大家下载测试, 测试者再把bug与patch贴到网路上改进下一版。一种全新的物竞天择、去芜存 菁的快速发展模式。令大夥傻眼的是,东修西改出来的Linux,跑的顺极了。

    1993年底,Linux发展趋於成熟稳定,能与商业的UNIX一分高下,渐渐有商业 应用软体移植到Linux上。不过小型UNIX厂商也因为Linux的出现而关门大吉  - 因为再没有人要买他们的东西。幸存者都是靠提供BSD为基础的UNIX的完整原 始码,有Hacker加入发展才能继续生存。

    Hacker文化,一次次被人预测即将毁灭,却在商业软体充斥的世界中,披荆斩棘, 筚路蓝缕,开创出另一番自己的天地。

    Linux能快速成长的来自令一个事实:Internet大受欢迎,90年代早期ISP如 雨後春笋般的冒出来,World-Wide Web的出现,使得Internet成长的速度, 快到有令人窒息的感觉。

    BSD专案在1994正式宣布结束,Hacker们用的主要是免费的UNIX(Linux与 一些4.4BSD的衍生版本)。而Linux CD-ROM销路非常好(好到像卖煎饼般)。

    近几年来Hacker们主要活跃在Linux与Internet发展上。World Wide Web 让Internet成为世界最大的传输媒体,很多80年代与90年代早期的Hacker 们现在都在经营ISP。

    Internet的盛行,Hacker文化受到重视并发挥其政治影响力。94、95年美国政 府打算把一些较安全、难解的编码学加以监控,不容许外流与使用。这个称为 Clipper proposal的专案引起了Hacker们的群起反对与强烈抗议而半途夭折。 96年Hacker又发起了另一项抗议运动对付那取名不当的“Communications Decency Act“,誓言维护Internet上的言论自由。

    电脑与Internet在21世纪将是大家不可或缺的生活用品,现代孩子在使用 Internet科技迟早会接触到Hacker文化。它的故事传奇与哲学,将吸引更多人 投入。未来对Hacker们是充满光明的。

    * * * * * * *

    Blinkenlight的笑话原文: Achtung! Alles Touristen Und Non-Tech-nischen Looken Peepers! Das Machine Control Is Nicht Fur Gerfingerpoken Und Mittengrabben. Oderwise Is Easy Schnappen Der Springwerk, Blowenfuse, Und Poppencorken Mit Spitzensparken. Der Machine Is Diggen By Expertzen Only. Is Nicht Fur Gerverken By Dummkopfen. Das Rubbernecken Sightseenen Keepen Das Kottenpicken Hands In Das Pockets. So Relaxen Und Watchen Das Blinkenlights.


    -- 黑暗夜空有流星划过 感叹生命一样短暂脆弱 爱过的人 那些逝去的梦 还有多少在你心中停泊 没人能担保没人有把握 失败和不如意总无声出没 但是别放弃心中熊熊一把火 好坏青春就一场 成与败都值得喝采 相信就去爱 不管未来或现在 不辜负真的爱

    Hacker文化简史

    故事一开始,我要介绍的是所谓的Real Programmer。

    他们从不自称是Real Programmer、Hacker或任何特殊的称号;`Real Programmer‘ 这个名词是在1980年代才出现,但早自1945年起,电脑科学 便不断地吸引世界上头脑最顶尖、想像力最丰富的人投入其中。从Eckert & Mauchly发明ENIAC後,便不断有狂热的programmer投入其中,他们以撰写 软体与玩弄各种程式设计技巧为乐,逐渐形成具有自我意识的一套科技文化。

    当时这批Real Programmers主要来自工程界与物理界,他们戴著厚厚的眼镜, 穿聚酯纤维T恤与纯白袜子,用机器语言、组合语言、FORTRAN及很多古老的 语言写程式。他们是Hacker时代的先驱者,默默贡献,却鲜为人知。 从二次大战结束後到1970早期,是打卡计算机与所谓“大铁块“的mainframes 流行的年代,由Real Programmer主宰电脑文化。Hacker传奇故事如有名的 Mel (收录在Jargon File中)、Murphy‘s Law的各种版本、mock- German`Blinkenlight‘ 文章都是流传久远的老掉牙笑话了。

    ※译: Jargon File亦是本文原作者所编写的,里面收录了很多Hacker用语、缩写意 义、传奇故事等等。Jargon File有出版成一本书:The New Hacker‘s Dictionary,MIT PRESS出版。也有Online版本: http://www.ccil.org/jargon ※译: 莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它。 它有很多衍生说法:比如一个程式在demo前测试几千几万次都正确无误,但demo 那一天偏偏就会搞飞机出bug。

    一些Real Programmer仍在世且十分活跃 (本文写在1996年)。超级电脑Cray 的设计者Seymour 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 Railroad Club(简 称TMRC)的Power and Signals Group买了这台机器後,把它当成最时髦的科 技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一直发展下去至今日。 这在Steven Levy的书`Hackers‘ 前段有详细的记载(Anchor/Doubleday 公 司,1984年出版,ISBN 0-385-19195-2)。

    ※译:Interactive computing并非指Windows、GUI、WYSIWYG等介面, 当时有terminal、有shell可以下指令就算是Interactive computing了。 最先使用Hacker这个字应该是MIT。1980年代早期学术界人工智慧的权威:MIT 的Artificial Intelligence Laboratory,其核心人物皆来自TMRC。从1969年 起,正好是ARPANET建置的第一年,这群人在电脑科学界便不断有重大突破与 贡献。

    ARPANET是第一个横跨美国的高速网路。由美国国防部所出资兴建,一个实验性 质的数位通讯网路,逐渐成长成联系各大学、国防部承包商及研究机构的大网路。 各地研究人员能以史无前例的速度与弹性交流资讯,超高效率的合作模式导致科技 的突飞猛进。

    ARPANET另一项好处是,资讯高速公路使得全世界的hackers能聚在一起,不 再像以前孤立在各地形成一股股的短命文化,网路把他们汇流成一股强大力量。 开始有人感受到Hacker文化的存在,动手整理术语放上网路,在网上发表讽刺文 学与讨论Hacker所应有的道德规范。(Jargon File的第一版出现在1973年, 就是一个好例子),Hacker文化在有接上ARPANET的各大学间快速发展,特别 是(但不全是)在资讯相关科系。

    一开始,整个Hacker文化的发展以MIT的AI Lab为中心,但Stanford University 的Artificial Intelligence Laboratory(简称SAIL)与稍後的Carnegie-Mellon University(简称CMU)正快速崛起中。三个都是大型的资讯科学研究中心及人工 智慧的权威,聚集著世界各地的精英,不论在技术上或精神层次上,对Hacker文 化都有极高的贡献。

    为能了解後来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角MIT AI Lab也从红极一时到最後淡出舞台。

    从MIT那台PDP-1开始,Hacker们主要程式开发平台都是Digital Equipment Corporation 的PDP迷你电脑系列。DEC率先发展出商业用途为主的interactive computing及time-sharing作业系统,当时许多的大学都是买DEC的机器, 因为它兼具弹性与速度,还很便宜(相对於较快的大型电脑mainframe)。 便宜的分时系统是Hacker文化能快速成长因素之一,在PDP流行的时代, ARPANET上是DEC机器的天下,其中最重要的便属PDP-10,PDP-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 界或图形使用者介面研发的要角。CMU的Hacker则开发出第一个实用的大型专 家系统与工业用机器人。

    另一个Hacker重镇是XEROX PARC公司的Palo Alto Research Center。从 1970初期到1980中期这十几年间,PARC不断出现惊人的突破与发明,不论质 或量,软体或硬体方面。如现今的视窗滑鼠介面,雷射印表机与区域网路;其D 系列的机器,催生了能与迷你电脑一较长短的强力个人电脑。不幸这群先知先觉者 并不受到公司高层的赏识;PARC是家专门提供好点子帮别人赚钱的公司成为众所 皆知的大笑话。即使如此,PARC这群人对Hacker文化仍有不可抹灭的贡献。 1970年代ARPANET与PDP-10文化迅速成长茁壮。Mailing list的出现使世界 各地的人得以组成许多SIG(Special-interest group),不只在电脑方面,也有 社会与娱乐方面的。DARPA对这些非`正当性‘活动睁一只眼闭一只眼,因为靠这 些活动会吸引更多的聪明小夥子们投入电脑领域呢。

    有名的非电脑技术相关的ARPANET mailing list首推科幻小说迷的,时至今日 ARPANET变成Internet,愈来愈多的读者参与讨论。Mailing list逐渐成为一种 公众讨论的媒介,导致许多商业化上网服务如CompuServe、Genie与Prodigy 的成立。

    此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker社会,终於席卷整个 PDP-10的传统。它诞生在1969年,也就是ARPANET成立的那一年,有个在 AT&T Bell Labs的年轻小夥子Ken Thompson发明了Unix。 Thomspon曾经参与Multics的开发,Multics是源自ITS的作业系统,用来实 做当时一些较新的OS理论,如把作业系统较复杂的内部结构隐藏起来,提供一个 介面,使的programmer能不用深入了解作业系统与硬体设备,也能快速开发程 式。

    译:那时的programmer写个程式必须彻底了解作业系统内部,或硬体设备。比 方说写有IO的程式,对於硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才 行。

    在发现继续开发Multics是做白工时,Bell Labs很快的退出了(後来有一家公司 Honeywell出售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很快地在Bell Labs得到欢迎。1971年Thompson与Ritchie争取 到一个办公室自动化系统的专案,Unix开始在Bell Labs中流行。不过Thompson 与Ritchie的雄心壮志还不止於此。

    那时的传统是,一个作业系统必须完全用组合语言写成,始能让机器发挥最高的效 能。Thompson与Ritchie,是头几位领悟硬体与编译器的技术,已经进步到作 业系统可以完全用高阶语言如C来写,仍保有不错的效能。五年後,Unix已经成 功地移植到数种机器上。

    译:Ken Thompson与Dennis Ritchie是唯一两位获得Turing Award(电脑界 的诺贝尔奖)的工程师(其他都是学者)。

    这当时是一件不可思议的事!它意味著,如果Unix可以在各种平台上跑的话,Unix 软体就能移植到各种机器上。再也用不著为特定的机器写软体了,能在Unix上跑 最重要,重新发明轮子已经成为过去式了。

    除了跨平台的优点外,Unix与C还有许多显著的优势。Unix与C的设计哲学是 `Keep It Simple, Stupid‘。programmer可以轻易掌握整个C的逻辑结构(不 像其他之前或以後的程式语言)而不用一天到晚翻手册写程式。而Unix提供许多 有用的小工具程式,经过适当的组合(写成Shell script或Perl script),可以发 挥强大的威力。

    ※注:The C Programming Language是所有程式语言书最薄的一本,只有两 百多页哦。作者是Brian Kernighan与Dennis Ritchie,所以这本C语言的圣 经又称`K&R‘。

    ※注:`Keep It Simple, Stupid‘ 简称KISS,今日Unix已不follow这个原则, 几乎所有Unix都是要灌一堆有的没的utilities,唯一例外是MINIX。

    C与Unix的应用范围之广,出乎原设计者之意料,很多领域的研究要用到电脑时, 他们是最佳拍档。尽管缺乏一个正式支援的机构,它们仍在AT&T内部中疯狂的 散播。到了1980年,已蔓延到大学与研究机构,还有数以千计的hacker想把Unix 装在家里的机器上。

    当时跑Unix的主力机器是PDP-11、VAX系列的机器。不过由於UNIX的高移 植性,它几乎可安装在所有的电脑机型上。一旦新型机器上的UNIX安装好,把 软体的C原始码抓来重新编译就一切OK了,谁还要用组合语言来开发软体? 有一套专为UNIX设计的网路 --- UUCP:一种低速、不稳但很成本低廉的网路。 两台UNIX机器用条电话线连起来,就可以使用互传电子邮件。UUCP是内建在 UNIX系统中的,不用另外安装。於是UNIX站台连成了专属的一套网路,形成其 Hacker文化。在1980第一个USENET站台成立之後,组成了一个特大号的分 散式布告栏系统,吸引而来的人数很快地超过了ARPANET。

    少数UNIX站台有连上ARPANET。PDP-10与UNIX的Hacker文化开始交流, 不过一开始不怎麽愉快就是了。PDP-10的Hacker们觉得UNIX的拥护者都是 些什麽也不懂的新手,比起他们那复杂华丽,令人爱不释手的LISP与ITS,C与 UNIX简直原始的令人好笑。『一群穿兽皮拿石斧的野蛮人』他们咕哝著。 在这当时,又有另一股新潮流风行起来。第一部PC出现在1975年;苹果电脑在 1977年成立,以飞快的速度成长。微电脑的潜力,立刻吸引了另一批年轻的 Hackers。他们最爱的程式语言是BASIC,由於它过於简陋,PDP-10的死忠派 与UNIX迷们根本不屑用它,更看不起使用它的人。

    译:这群Hacker中有一位大家一定认识,他的名字叫Bill Gates,最初就是他在 8080上发展BASIC compiler的。

    1980年同时有三个Hacker文化在发展,尽管彼此偶有接触与交流,但还是各玩 各的。ARPANET/PDP-10文化,玩的是LISP、MACRO、TOPS-10与ITS。UNIX 与C的拥护者用电话线把他们的PDP-11与VAX机器串起来玩。还有另一群散乱 无秩序的微电脑迷,致力於将电脑科技平民化。

    三者中ITS文化(也就是以MIT AI LAB为中心的Hacker文化)可说在此时达 到全盛时期,但乌云逐渐笼罩这个实验室。ITS赖以维生的PDP-10逐渐过时, 开始有人离开实验室去外面开公司,将人工智慧的科技商业化。MIT AI Lab的高 手挡不住新公司的高薪挖角而纷纷出走,SAIL与CMU也遭遇到同样的问题。

    译:这个情况在GNU宣言中有详细的描述,请参阅: (特别感谢由yhsiao翻成中文) http://odie.csie.ntu.edu.tw/~chiron/GNU-Manifesto.txt


    致命一击终於来临,1983年DEC宣布:为了要集中在PDP-11与VAX生产线, 将停止生产PDP-10;ITS没搞头了,因为它无法移植到其他机器上,或说根本没 人办的到。而Berkeley Univeristy修改过的UNIX在新型的VAX跑得很顺,是 ITS理想的取代品。有远见的人都看得出,在快速成长的微电脑科技下,Unix一 统江湖是迟早的事。

    差不多在此时Steven Levy完成``Hackers‘‘ 这本书,主要的资料来源是Richard M. Stallman(RMS)的故事,他是MIT AI Lab领袖人物,坚决反对实验室的研 究成果商业化。

    Stallman接著创办了Free Software Foundation,全力投入写出高品质的自由 软体。Levy以哀悼的笔调描述他是`the last true hacker‘,还好事实证明Levy 完全错了。

    译:Richard M. Stallman的相关事迹请参考: http://odie.csie.ntu.edu.tw/~chiron/FSF.txt

    Stallman的宏大计划可说是80年代早期Hacker文化的缩影 -- 在1982年他 开始建构一个与UNIX相容但全新的作业系统,以C来写并完全免费。整个ITS 的精神与传统,经由RMS的努力,被整合在一个新的,UNIX与VAX机器上的 Hacker文化。

    微电脑与区域网路的科技,开始对Hacker文化产生影响。Motorola 68000 CPU 加Ethernet是个有力的组合,也有几家公司相继成立生产第一代的工作站。 1982年,一群Berkeley出来的UNIX Hacker成立了Sun Microsystems,他 们的算盘打的是:把UNIX架在以68000为CPU的机器,物美价廉又符合多数 应用程式的要求。他们的高瞻远嘱为整个工业界树立了新的里程碑。虽然对个人而 言,工作站仍太昂贵,不过在公司与学校眼中,工作站真是比迷你电脑便宜太多了。 在这些机构里,工作站(几乎是一人一台)很快地取代了老旧庞大的VAX等 timesharing机器。

    译:Sun一开始生产的工作站CPU是用Motorola 68000系列,到1989才 推出自行研发的以SPARC系列为CPU的SPARCstation。

    1984年AT&T解散了,UNIX正式成为一个商品。当时的Hacker文化分成两大 类,一类集中在Internet与USENET上(主要是跑UNIX的迷你电脑或工作站 连上网路),以及另一类PC迷,他们绝大多数没有连上Internet。

    ※译:台湾在1992年左右连上Internet前,玩家们主要以电话拨接BBS交换 资讯,但是有区域性的限制,发展性也大不如USENET。

    Sun与其他厂商制造的工作站为Hacker们开启了另一个美丽新世界。工作站诉 求的是高效能的绘图与网路,1980年代Hacker们致力为工作站撰写软体,不断 挑战及突破以求将这些功能发挥到百分之一百零一。Berkeley发展出一套内建支 援ARPANET protocols的UNIX,让UNIX能轻松连上网路,Internet也成长 的更加迅速。

    除了Berkeley让UNIX网路功能大幅提升外,尝试为工作站开发一套图形界面也 不少。最有名的要算MIT开发的X window了。X window成功的关键在完全公 开原始码,展现出Hacker一贯作风,并散播到Internet上。X成功的干掉其他 商业化的图形界面的例子,对数年後UNIX的发展有著深远的启发与影响。 少数ITS死忠派仍在顽抗著,到1990年最後一台ITS也永远关机长眠了;那些 死忠派在穷途末路下只有悻悻地投向UNIX的怀抱。

    UNIX们此时也分裂为Berkeley UNIX与AT&T两大阵营,也许你看过一些当时 的海报,上面画著一台钛翼战机全速飞离一个爆炸中、上面印著AT&T的商标的 死星。Berkeley UNIX的拥护者自喻为冷酷无情的公司帝国的反抗军。就销售量 来说,AT&T UNIX始终赶不上BSD/Sun,但它赢了标准制订的战争。到1990 年,AT&T与BSD版本已难明显区分,因为彼此都有采用对方的新发明。

    随著90年代的来到,工作站的地位逐渐受到新型廉价的高档PC的威胁,他们主 要是用Intel 80386系列CPU。第一次Hacker能买一台威力等同於十年前的迷 你电脑的机器,上面跑著一个完整的UNIX,且能轻易的连上网路。 沈浸在MS-DOS世界的井底蛙对这些巨变仍一无所知,从早期只有少数人对微电 脑有兴趣,到此时玩DOS与Mac的人数已超过所谓的“网路民族“的文化,但他 们始终没成什麽气候或搞出什麽飞机,虽然聊有佳作光芒乍现,却没有稳定发展出 统一的文化传统,术语字典,传奇故事与神话般的历史。它们没有真正的网路,只 能聚在小型的BBS站或一些失败�
    发布人:netbull 来自:中国超级Unix联盟