第12节:代码勇士(5)
系列专题:《微软创建NT和未来的夺命狂奔:观止》
在数字计算机逐步成形的年代里,也就是在第二次世界大战之后,在设计者们眼里,无论是操作系统还是应用软件都是以后再考虑的事情。和由程序组成的“软件”不同,由电子电路组成的“硬件”太难了,以至于工程师们不敢想像何时能完成它。硬件中,最重要的一类是真正将执行送给计算机的指令的电路系统,也就是处理器。第二类设备用于数据输入输出的。第三类设备用来储存信息。第四类设备允许把信息通过专门的电缆或者电话线发给另一台计算机。 通常,只有在硬件到位后才考虑软件问题。因此,设计计算机时并不知道以后运行什么软件,程序员只能做电脑硬件允许做的事情。艾兹格·迪科斯彻(E. W. Dijkstra)是计算机编程方面的著名理论家,他曾经概括了在计算机形成时期人们对编写代码的普遍态度。他这样说:可怜的程序员是什么处境呢?说句实话,他们很难被注意到。首先,起初的计算机太大了,你根本就不能移动它们,除此之外,它们需要太多维护工作,以至于很自然地,机器是在哪里开发的,人们在哪里使用它。其次,程序员做的是(某种程度上来说)根本看不见的工作,没有什么魅力。你可以把机器展示给参观者们,那比几页代码的吸引力要大几个数量级。但最重要的是,程序员自己对所做工作的看法也很平常:他工作的意义来源于计算机这种超棒的机器的存在。因为这种机器是独一无二的,所以他知道他的编程只在本地有意义。因为机器只会使用不长一段时间,所以他知道他的编码的延续价值很少或者没有。编程工作表面上看起来很简单。只是写个请求给电脑。这种请求应该是以电脑能够明白的方式表达的。而且,这种方式只有特定的电脑能够明白。同样的请求,完全以同样的方式编写,送给有着不同设计和电路的计算机,就会变得莫名其妙。
除了成为特定计算机的奴隶外,最早的计算机程序是很简陋的。在第二次世界大战之前,当时的计算机主要是机械的,很多时候,程序的价值和人工反转开关、重新安排线路或切换齿轮的价值差不多。在20世纪30年代,要让那个时代最强大的机械电脑——微分分析仪(Differential Analyzer)——去解决一个新的问题,准备工作就要花很多天。十年之后,要让早期的数字计算机去解决一个比较难的问题,仍然要花几天时间做设置工作。 更灵活一些的机器从打孔卡片或者纸带上面读取用户的请求,不过卡片或者纸带还是手工反馈给机器的。这种初级的编程方式迫切需要改进。 在1944年发生了突破,约翰·冯·诺依曼(John von Neumann)是出生在匈牙利的数学家,居住在美国,他提出了存储程序的概念。这个概念与这个领域中的其他人的想法很相似,但是冯·诺依曼最清楚地看到了它的意义。使用存储程序,送给计算机执行的指令可以保存在机器自己的内存中,像对待数据一样。这将大大提高启动一个程序的速度,而且可以很容易地修改程序,或者从一个程序切换到另一个程序。
更多阅读
《团购内幕》第12节:明争暗斗
系列专题:团购模式研究 第12节:明争暗斗 有人的地方,就有江湖。 黄真真作为市场部经理,实打实的广州分公司三朝元老。在市场部之内,论资历,论能力,确实无人能与之匹敌。 悲催的是,在整个广州分公司之内,论资历,论能力,与黄真
第12节:火炉原则(5)
系列专题:《创业者必读圣经:山木方法》 自从有了《每周工作计划表》,每天的工作内容一看便知,外出宣传,大家头一天便准备妥当,再也不会出现忙活了半天还没有出发的窘况了。 尤其是山木培训后勤部门的车队,由于以前工作缺乏详尽的安
第12节:关于爱情(5)
系列专题:《30岁女人的心灵能量书:女人30+》 “标签”,就是人们对自我形象的界定和产生,而这些标签常常是被那些有意义的他人——例如父母、老师、同辈团体所贴上的。社会心理学家们认为,一个人如果一旦被贴上了有意义的标签,他的思想
第19节:代码勇士(12)
系列专题:《微软创建NT和未来的夺命狂奔:观止》 卡特勒是有远大志向的,但是人们对他的计划反响不一。他希望设计整个计算机。DEC同意把他的一款计算机推向市场,但是这种支持在1983年贝尔离开DEC后消失了。“当戈登离开时,我们在DEC的
第18节:代码勇士(11)
系列专题:《微软创建NT和未来的夺命狂奔:观止》 当卡特勒忙着做事时,这个项目的总经理(被卡特勒戏称为“老板”的男人)打算雇用一个高级程序员来帮助卡特勒把VMS软件弄成样子。当卡特勒离开一周去休假时,这个老板面试了最好的候选人,并