发新话题
打印

黑客文化简史(二)

黑客文化简史(二)

Unix 的兴起

  此时在新泽西州的郊外,另一股神秘力量积极入侵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来玩。他同事Bria_n 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'。programm_er可以轻易掌握整个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的H_acker们觉得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宣言中有详细的描述,请参阅:(特别感谢由AKA的chuhaibo翻成中文) http://www.aka.citf.net/Magazine/Gnu/manifesto.html

  致命一击终于来临,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以哀悼的笔调描述他是t_he last true hacker',还好事实证明Levy完全错了。

  译:Richard M. Stallman的相关事迹请参考: http://www.aka.citf.net/Magazine/Gnu/cover.htm

  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的SPARCst_ation。

TOP

发新话题