设为首页 加入收藏

TOP

引言:软件和编程艺术的兴起(3)
2014-06-23 11:30:22 来源: 作者: 【 】 浏览:152
Tags:引言 软件和 编程 艺术 兴起

 

引言:软件和编程艺术的兴起(3)

计算机投入应用很长一段时间之后,“软件”这个词才出现,可见人们对这种相当麻烦的技术只是勉强认同。1958年,在《美国数学月刊》上,“软件”作为计算机术语首次在出版物上使用。[10]普林斯顿大学的数学家约翰·杜奇在文中这样写道:“如今的‘软件’已包括精心设计的解释路径、编译器以及自动化编程的其他方面,对于现代电子计算器而言,其重要性丝毫不亚于那些由晶体管、转换器和线缆等构成的‘硬件’。”但这样的观点在当时并不普遍。

在当时的计算机工程文化氛围下,程序员曾长期被硬件人员轻视。后者认为程序员只不过是从事计算行业的一群放荡不羁的人,硬件才是真正的学科,因为硬件人员大都来自发展较完善的电子工程领域。那时,各个大学都已开设电子工程系,而且硬件的表现也符合物理、化学之类“硬科学”的严谨准则。虽然有些数学家也对计算机和编程着迷,但是他们往往沉迷于理论的高度,而不是编写代码和排查程序。直到20世纪60年代,随着计算机科学系的成立,编程才被学术界正式认可,并从此稳步发展。

在20世纪50年代以及此后的一段时间里,程序员的招聘和雇用几乎没有任何科学性可言。那时亟需编程技能:新员工必须经过培训,但是并没有可靠的方法测试其是否具备编程技能。“在报纸的广告里发现某个人,还没了解清楚,你可能就已经决定要雇用这个人了。在编程的早期就是这样,就像是在讲故事,”在20世纪50年代后期担任IBM编程研究部经理的罗伯特·贝莫这样说道,“我们就好像直接从大街上招人回来一样。”[11]刚刚从瓦萨学院毕业的洛伊丝·海波特于1955年加入IBM,成为FORTRAN编程语言开发团队的一员,该团队共有10人。她回忆道:“任何一个人,如桥牌玩家、象棋手,甚至是女性,只要看起来具备解决问题的能力,就会被他们招入麾下。”[12]作为IBM的经理,贝莫广泛撒网招揽人才。“我曾经决定以登广告的方式招募象棋手,因为我认为他们会成为相当出色的程序员。这招非常奏效。我们甚至招募到了全美象棋冠军亚瑟·比斯盖尔。此前,他大部分时间都在下棋,几乎没编过程序。”但是,事实证明,在编程领域,象棋手并不比常人更出色。1957年刊登在《纽约时报》《洛杉矶时报》以及《科学美国人》杂志上的广告,最终帮助贝莫招到了四五个合适的人,收获还算不错。贝莫估计,当时美国大概有1.5万名专业的程序员,约占全世界代码编写人员的80%。

如今,这种情况已大为改观。软件行业有了巨大的发展,全球拥有近900万名专业程序员。[13]在学术界,计算机科学已经成为受人尊重的领域,科研人员投入大量研究资金来探索软件的奥秘。我们有充分的理由相信,软件不仅赋予了个人电脑和互联网活力,还推动了电话、信用卡网络、机票预订系统、车辆燃料加注系统以及厨房用具等领域的发展。1999年,总统的科技顾问团队发现,软件已经成为“信息时代全新的物理基础设施”,是一种不可或缺的原材料,“对经济发展、科技研究以及国家安全至关重要”[14]。

的确,现代经济建立在软件基础之上,而且这种依赖性还会继续增强。商业周期和华尔街的狂热周而复始,转瞬即逝,但对软件的需求却从未间断。程序员就是信息时代的技师、工匠、砌砖工和建筑师。这些在早期都是难以想象的,因为没有人能预见迅猛的技术变革会带来什么——依赖硬件和软件的进步,计算领域得到了前所未有的拓展。约翰·冯·诺依曼和赫尔曼·高德斯汀是当时计算机领域的卓有远见者,他们在1946年写道,大约1000行的程序指令是“解决目前可以想见的复杂问题的合理上限”[15]。如今,一个电动牙刷就可能有3000行代码,而个人计算机程序则有数百万行的代码。

抛开其重要性不提,对于大多数人来说,计算机编程仍然很神秘。这不足为奇,毕竟,软件几乎是完全看不见、摸不着的东西,无法被人感知。但正是软件使计算机能够完成那些有用的、有趣的、令人愉悦的事情。计算机只不过是机器,它很强大,但也很愚蠢。在它们的世界里只有1和0、开或关。20世纪70年代的视频游戏Pong(《乒乓球》),用两条光束作为“球拍”,击打一个像光标一样的“球”,运行这款游戏的简单计算机所能看到的世界是这个样子的:

0011101010101000011100011010101000

而曾在1997年击败世界象棋冠军加里·卡斯帕罗夫的IBM超级计算机“深蓝”,它所看到的世界也是这个样子的:

0011101010101000011100011010101000

从本质上讲,这两台计算机只有两点区别。一是涡轮增压的位处理引擎使“深蓝”在速度和动力上占有优势,再就是软件。软件是人类智能的体现,是人和机器之间的中介,把我们的问题或命令传达给计算机。
 


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇第1章 引言:软件和编程艺术的兴.. 下一篇引言:软件和编程艺术的兴起(4)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言指针从入门到基 (2025-12-26 05:21:36)
·【C语言指针初阶】C (2025-12-26 05:21:33)
·C语言指针的定义和使 (2025-12-26 05:21:31)
·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)