第13节:代码勇士(6)
系列专题:《微软创建NT和未来的夺命狂奔:观止》
随着存储程序的概念在初生的计算机文化中的广泛传播,编程变得越来越引人注目,很快吸引了一些拥护者。不过这是很艰难的一件事。数字计算机有两种状态,开或者关,所以它只能对只包含1(开)和0(关)的二进制的消息做出响应。程序中的所有元素最终必须使用这两个数字表示出来,这样使得即使普通的数学运算也很容易变得很复杂,令人眼花缭乱。正如一个观察家所说的,在20世纪40年代后期,为计算机编程是“令人发疯一般地困难”。 不久以后,程序员们找到了更简单的方法来产生二进制串。他们首先设计了特殊的打字机,可以自动输出二进制代码。后来,他们转移到更友好的“汇编”语言,用字符和符号来代表1和0。使用汇编写程序是一大进步,但是还需要严格遵循晦涩的计算机指令集。程序员必须深刻理解指令集才能写出高效的汇编代码。而且,不同型号的计算机使用的指令集是不同的,取决于它们的微处理器是如何设计的。这意味着一旦某种计算机废弃不用了,那么程序员费尽力气学会的这种汇编语言知识就会变得一钱不值了。 到20世纪50年代,严重依赖计算机的各种机构开始意识到了软件是令人头痛的事,而且是代价很高的,其中最主要的机构就是美国军方的三大分支。站在计算机领域前沿的程序员们开始寻找方法,以便可以更简单地编写出高效的程序。在1951年,格蕾丝·莫里·赫伯(Grace Murray Hopper),美国海军军械储备局的一名数学家,构思出了一种名为编译器的程序,它可以把程序员的指令翻译成二进制串,也就是最终控制计算机的机器语言。从理论上来说,编译器正是可以把程序员从硬件的限制和使大脑麻木的二进制代码中解放出来的东西。
赫伯的成果催生了无数人的努力,来降低编写代码的难度。或许,最主要的当属IBM开发的称为公式翻译器(Formula Translation)的编译器,也就是Fortran。它包含了三十二条指令,诸如PUNCH(打孔)、READ DRUM(读取磁鼓)和IF pIDE CHECK(除法检查),它们来源于计算机硬件需要的二进制术语。截止到20世纪50年代后期,Fortran产生了巨大的影响。“现在,任何人只要具有好的逻辑思维和愿望就可以学习计算机编程”。一个计算机历史学家曾经这样写道:“你不再必须是熟悉计算机内部原理和汇编语言的专家。使用Fortran的简单命令,你可以让计算机听从你的吩咐,而且编译器会自动地把你的指令翻译为高效的机器代码。” 尽管Fortran让程序员使用同一套指令来为任意数量的计算机编程,但是要在不同的机器上运行Fortran程序,经常还需要修改。而且,Fortran是针对科学计算和工程问题的。于是针对其他目标的其他语言出现了,比如面向商业的通用语言(Common Business?Oriented Language, Cobol)。没过多久,便有很多种语言可供程序员选择了。而且,很多时候他们的职业路线就是由他们所选择和学习的最好的编程语言所决定的。
更多阅读
第13节:火炉原则(6)
系列专题:《创业者必读圣经:山木方法》 山木的“03分制度” 纳米管理不只有涉及表格的管理,而是一整套讲究精细的制度。山木的时间管理也是十分有特色的,如“03分制度”,指山木培训不论是上下班、上下课、开会、开展活动等等,只要
第13节:马蹄莲不是百合花(1)
系列专题:《求职全攻略:面试,你的价值在哪里》 第4节马蹄莲不是百合花 ——职业定位很重要 小丫在外语出版社和时尚杂志社工作了近一年的时间,两份实习工作几乎占用了她全部的休息时间,很累,但同时也教会了她许多东西,让她学以致
第13节:关于爱情(6)
系列专题:《30岁女人的心灵能量书:女人30+》 我之所以这么说,是因为看见周遭总有聪明美丽的女孩,为了尚未寻得爱情而刻意降低自己已经获得的成就,或放弃追求更高的理想。我一直很担心,这样的牺牲,不仅不会带来爱情,反而会让自己不开心、
第19节:代码勇士(12)
系列专题:《微软创建NT和未来的夺命狂奔:观止》 卡特勒是有远大志向的,但是人们对他的计划反响不一。他希望设计整个计算机。DEC同意把他的一款计算机推向市场,但是这种支持在1983年贝尔离开DEC后消失了。“当戈登离开时,我们在DEC的
第18节:代码勇士(11)
系列专题:《微软创建NT和未来的夺命狂奔:观止》 当卡特勒忙着做事时,这个项目的总经理(被卡特勒戏称为“老板”的男人)打算雇用一个高级程序员来帮助卡特勒把VMS软件弄成样子。当卡特勒离开一周去休假时,这个老板面试了最好的候选人,并