出版时间:2009-5 出版社:人民邮电出版社 作者:刘朝阳 页数:166
Tag标签:无
前言
今天,从奥运会到波音飞机,从宝马汽车的身份识别系统到火星探月车的操作系统,从股票交易到移动电话,从药物测试到汽车碰撞模拟,软件的身影已经无处不在,并在各行各业中成为竞争的核心要素之一。斯坦福大学经济学家罗默曾经表示:软件是改变商业模型,理解经济的最佳场所。无疑,软件已经成为整个社会经济中不可或缺的黏合剂和催化剂,也是越来越多的传统企业的核心竞争力所在。这就意味着,全面了解软件产业的历史,已经不仅仅局限于软件人才的兴趣范围。正如《人月神话》曾经是软件工程人员的专业书籍,却同样能够成为工商管理的绝佳教材。 《软件的黄金时代》用通俗易懂的文字勾勒出了世界软件业60年来波澜壮阔、跌宕起伏的发展史,同时也用独特的视角和资料编排方式诠释了软件业永恒的生存法则——创新。更重要的是,该书对软件业在21世纪社会经济中的重大意义和发展趋势进行了深入解读,为各行各业的技术和管理人员了解世界软件产业的发展历程提供了一个简明扼要的读本。作者在书中穿插了大量丰富有趣的知识、独特的观点和鲜活史料,将深奥庞杂的软件技术史和商业史交织呈现给不同知识背景的读者,虽然其中个别观点我并不能完全赞同,但这确实是一次很有意义的尝试。一方面,国内的软件用户和软件企业可以“以史为鉴”,另一方面我们可以在历史经验中找到解决问题的思路和方法,这对于企业界和学术界来说同样重要。 21世纪随着互联网基础设施的高度发展,软件正在成为信息技术行业革命的领导力量。然而,软件业自身的技术与产业革命历程,对于大部分人来说依然是迷雾重重,作为“让lT业变得如此重要”的关键力量,软件的价值远没有硬件那么直观,同时也更难以评估。当人们惊呼“世界是平的”时,我们迫切需要了解下一代电子商务和互联网应用的主要技术动力——软件,自身的工业化、全球化、服务化、智能化、标准化和开放化进程。同时也需要了解在当今全球化大规模协作时代,企业如何锻造“随需应变”的生存和发展能力,而这与软件业60年进化中所演绎的生存法则之间有什么内在联系? 今天,全球软件产业正在经历着一场从技术到经营模式的深刻的变革。“软件服务化”大潮正在改变软件的制造、交付和应用模式,同时软件的服务化正在成为传统经济和互联网商业创新的重要动力。有变化才会有机遇,新的软件服务模式为我们塑造自主品牌,做大做强,突破知识产权困局,实现跨越式发展提供了机会。在这样一个重大的软件产业转型历史时期,我们的软件业不但需要学习国外的先进技术和方法,同时也需要及时转变观念,把握产业转型中的技术趋势、企业战略、商业模式、人才知识结构等关键变量,对世界软件业不同阶段的成败得失做到心中有数。 我非常高兴能在“畅销”指挥一切的今天看到《软件的黄金时代》这样一本视野开阔、条理清晰的软件科普读本。直到阅读完《软件的黄金时代》的书稿,我才意识到此前国内尚未见到系统介绍软件业历史的普及性中文读本,这也表明,写作这样一本看似轻松的书确实是一项极为艰巨的挑战。作者并非软件技术人员,但是得益于在科技媒体、国外软件公司、本土上市公司以及信息产业国家标准化组织中的多重经历,他对软件产业的理解和归纳已经超越了职业局限和行业边界。因此,这并不是一本充满生词,毫无人文气息,让非软件专业人士望而生畏的技术编年史。对于专业人士而言,《软件的黄金时代》也提供了翔实的史料和新颖的思路。虽然我在软件业内打拼了这么多年,依然从书中收获不少有趣的,新鲜的故事和观点,其中很多都能够引起人们的深思,相信更多不同背景的读者也能够从中获得乐趣和感悟。
内容概要
《软件的黄金时代》描述了软件行业技术、市场、产业、商业价值、关键事件、人物事迹的历史运行轨迹,以及软件已经改变的和将要改变的人类生活与商业创新之间的逻辑分析和价值判断。在内容上,《软件的黄金时代》涉及了软件历史的几乎所有重要技术:程序语言、操作系统、数据库、中间件、应用软件和开源软件、人工智能、软件工程、网络安全、Web2.0、移动互联网、企业管理、个人数据处理等,并在横向话题分类中进行灵活组合。在构架上,以史鉴今,糅合话题式和模块式的内容编排,迎合当今读者多元化的阅读取向,使不同身份的读者都能够轻松找到兴趣点和舒适的阅读方式。在风格上,《软件的黄金时代》通俗、活泼、充满矛盾和尖锐的思想火花;书中挖掘了足够多的新闻历史事件的背景关联和更多重量级人物的对话和思想碰撞,内容具备足够的思想张力和启迪性,与当今IT业的热点话题和趋势息息相关,使得各行各业的非技术背景读者也能从软件的技术史和商业史汲取养分。
书籍目录
1 计算机语言的“巴别塔”从织布机到火星车编程语言的五代十国程序员的钥匙语言的战争“面向用户”的FORTRAN与COBOLJava的涅槃互联网的快言快语2 操作系统的世纪大战进化与轮回OS/360——50亿美元的赌注DOS的身世之谜棋王的噩梦与UNIX传奇Linux的开源盛世Web:桌面操作系统的终结者3 数据库演义巨人的藏经阁群雄逐鹿互联网的新引擎企业的数字水晶球4 软件开发的达尔文进化前言:软件的柏林墙《人月神话》与工艺革命开源社区的效率之谜5 中间件推动商业创新软件的底盘决胜流程企业的智能管家企业的软件化生存6 软件互联网沃森的预言云端的唤雨巫师Web2.0:软件的第二人生第三次办公革命7 中国的机遇三十而立蓝色隐形冠军多赢的生态系统软件的蓝海
章节摘录
1 计算机语言的“巴别塔” 引言: “巴别塔”这个词源自于《圣经》第十一章,讲的是洪荒之后,诺亚方舟上留下的人类妄自尊大,竟然想修一座通天塔与上帝见面,于是上帝非常搓火,混乱了他们的语言,造成思想无法统一,文化产生差异,分歧、猜嫉等各种问题接踵而来。于是,这座塔也便成了一个泡影。在希伯莱语中,“巴别”干脆就是“混乱”的代名词。 如果我们为《圣经》中记载的巴别塔故事寻找一个活生生的范型(Paradigm),那么计算机语言,或者说编程语言(Programming Language)的发展就是一个绝佳的例子。从1955年约翰·巴克斯(John Bucks)发明高级语言FORTRAN而引发软件的第一次工业化革命以来,经过几十年的发展,编程语言超过了2000种,语言之间的战争也从未停止过。 计算机语言与软件制造业的全球化运动紧密相关,也是人们参与下一代DIY(Do It Yourself)互联网的关键。因此,理解语言进化所遵循的生存法则是我们探寻软件2.0革命趋势的第一步。即使在今天,对于程序开发人员来说,掌握什么样的程序语言与就业前景 和薪水高低之间的关系依然众说纷纭,这方面的误区和口水大战也从来也没有停止过。 从FORTRAN到如今互联网上流行的动态语言,程序语言作为人类软件工程的核心技术已经经历了数次变革,而每一次变革,都深刻地影响到整个软件产业的技术和产业格局演变。在互联网时代的软件工业化和全球化趋势中,程序语言已经进入了一个全新的发展阶段,易于掌握、能够进行敏捷的Web开发的成为一种潮流,而类似IBM推动的Project Zer0互联网应用开发平台则有望使“软件盲”也能够参与企业级软件的开发和定制,这将意味着以大规模协作为特征的第二次软件工业化革命已经拉开序幕。同时,这也让人们看到了平息编程语言“巴别塔”的希望。 从织布机到火星车 “如果你想成为周游世界的旅行家,那么你大概需要学习用6912种语言说:‘你好,厕所在哪里?’根据Ethnologue.com的统计,地球上现存的人类语言种类高达6912种。对于一个程序员来说,每周都会有一门新的编程语言问世。” ——Brian Hayes《分号的战争》 勇气号的困惑 2004年1月份,Java之父詹姆斯·高斯林(James Gosling)博士端坐在美国航空航天总署(NASA)的喷气推进实验室,目不转睛地观察着勇气号探测器在火星上的一举一动,这可能是人类有史以来最慢的一次互联网远程通信(有高达9分钟的延迟和只有数KB的数据带宽)。 也许有人会发问:“火星上怎么会有互联网?”当时,虽然只有地球、火星探测车和地球空间站等少数几个通信节点,但谷歌的首席科学家、互联网之父温瑟夫(Vin Cerf)依然认为这是星际互联网的雏形(早在2001年,温瑟夫来北京布道下一代互联网,我曾有幸向温瑟夫求证过类似的问题)。而Java语言,则再一次充当了互联网先锋的角色。在距离地球1亿2000万公里之外的红色星球上,勇气号的Java控制系统经受住了绵延千里的火星风暴的考验,从未死机。勇气号最初设计的使用寿命是3个月,能够在火星表面“自驾游”600米;但出人意料的是,“勇气号”最终在火星上超期服役18个月,在火星上留下了一串足足7公里长的“脚印”,这让人们对勇气号的科技水平大加赞赏。 Java语言漫游火星,成为1995年以来Java最为成功的一次品牌宣传,NASA的网站提供一款名叫Maestro的软件供全球网民下载,用以观看勇气号传回的火星三维画面。根据美国《Associated Press》报道,自1月4日成功登陆火星之后的24小时内,NASA网站首页和相关网站创造了1 09亿次的点击记录。这导致NASA不得不增加网站服务器带宽,以应付潮水般涌来的访问请求。 勇气号让大众对计算机语言的兴趣大增。人们想知道计算机语言是如何诞生、繁衍、变异、进化和消亡的,人们也对全世界程序员数十年来关于语言优劣的唇枪舌剑深感不解?为什么他们不说同一种语言?为什么语言不但没有实现统一,新的语言反倒是如雨后春笋一般破土而出?为什么Java是火星上唯一通用的计算机语言,而在地球上却不能一统天下?计算机语言,这个在开源运动先驱Richard Stallman眼中用来控制那些掌管人类信息社会的冰冷机器的神秘力量,从哪里来?到哪里去? 在探讨语言的巴别塔之前,我们首先要搞清楚什么是计算机语言?维基百科上的解释是:计算机语言是用来控制计算机行为的人工语言。 解释编程语言起源的最好例证也许是自动提花织布机,人们在卡片上编制好针脚顺序,织布机就能编织出人们想要的布料花纹,织布机好比是电脑,而布料的花纹则是计算机语言“编织”出的应用程序。 提花编织机最早出现在中国。据史书记载,西汉年间,钜鹿县纺织工匠陈宝光的妻子,能熟练地掌握提花机操作技术,她的机器配置了120根经线,平均60天即可织成一匹花布,每匹价值万钱。明朝刻印的《天工开物》一书中还赫然地印着一幅提花机的示意图。可以想象,当欧洲的王公贵族对从“丝绸之路”传入的美丽绸缎赞叹不已时,中国的提花机也必定会沿着“丝绸之路”传入欧洲。 不过,用当时的编织机编织图案相当费事。若要织出花样,织工们必须细心地按照预先设计的图案,在适当位置“提”起一部分经线,以便让滑梭牵引着不同颜色的纬线通过。机器当然不可能自己“想”到该在何处提线,只能靠人手“提”起一根又一根经线,不厌其烦地重复这种操作。 1725年,法国纺织机械师布乔(B.Bouchon)突发奇想,想出了一个“穿孔纸带”的绝妙主意。布乔首先设法用一排编织针控制所有的经线运动,然后在一卷纸带上根据编织图案打出一排排小孔。启动机器后,正对着小孔的编织针能穿过去钩起经线,其他的针则被纸带挡住不动。这样一来,编织针就自动按照预先设计的图案去挑选经线,布乔的“思想”于是“传递”给了编织机,而编织图案的“程序”也就“储存”在穿孔纸带的小孔之中。 在高级语言发明之前,指挥计算机工作的程序是机器语言、汇编语言这样的针对特定计算机的“低级语言”写成的,“低级语言”由0和1这样的二进制码或者生涩的符号构成,以方便机器解读,这种非常不直观的语言害惨了程序员,他们需要像操作手工提花织布机那样不厌其烦地把自己的“命令”翻译成机器语言,其繁琐程度不亚于教导一个幼儿园小朋友:鸡蛋要剥了皮吃。在今天使用高级语言的程序员眼里,低级语言程序员同时也兼任着“人肉编译器”的苦差。最初的程序记录和输入方式现在看来也很原始,往往是通过打孔卡片、纸带、继电器开关旋钮这样的模拟介质(这比织布机的打孔卡先进不到哪里去)。 与低级语言对应的“高级语言”,拥有一个抽象层(在人类算法语言与机器语言之间充当翻译的编译器),使得程序员无需操心某一台具体的电脑硬件结构,而是把主要精力放在解决问题上。高级语言及编译技术彻底把程序员从繁重枯燥的机器代码中解放出来,同时也为软件生产从手工作坊走向工业化大规模生产提供了可能。所以说,高级语言是现代计算机科学的重要基石之一,也是最为核心的软件技术。早在1955年,IBM的约翰·巴克斯发明了最早的高级语言FORTRAN,随后开发了世界上最早的语言编译系统KOMPILER,这被看作是软件业历史上划时代的一刻。 编程语言的五代十国 Noam Chomsky坚信所有的人类语言都有共同的“深层架构”,这与大脑的“硬件”结构紧密相关。但是非常遗憾的是,计算机的硬件和算法始终处于高速的分化整合发展中,而计算机语言之间的差异也远比任何两种人类语言之间的差异要大。这一点,从最早的高级语言FORTRAN与LISP的分化就已经体现出来。 FORTRAN问世之后,另外一位IBM员工麦卡锡想改造FORTRAN的功能,使它支持递归运算,但是由于改造的过程过于复杂,麦卡锡只好另起炉灶开发了表处理程序LISP,麦卡锡希望他的LISP成为“制造一台拥有人类智慧的机器”的工具,LISP后来也成为人工智能的标准语言之一,至今仍然有人使用。 FORTRAN广泛运用的时候,还没有一种可以用于商业计算的语言。美国国防部注意到这种情况,1959年5月,五角大楼委托格雷斯·霍波(G.Hopper)博士领导一个委员会,开始设计面向商业的通用语言(Common Business Oriented Langauge),即COBOL语言。 1958年,一个国际商业和学术界计算机科学家组成的委员会在瑞士苏黎世开会,探讨如何改进FORTRAN,并且设计一种标准化的电脑语言,巴克斯、麦卡锡都参加了这个委员会。1960年,该委员会在1958年的设计基础上,定义了一种新的语言版本——国际代数语言ALGOL 60,首次引进了麦卡锡提出的递归和条件表达式的思想。ALGOL语言虽然没有被广泛运用,但它演变为其他程序语言的概念基础。 ALGOL语言诞生之后,计算级高级语言的大家族逐渐人丁兴旺起来,人们对计算机语言的分类方法也见仁见智。通常,我们将计算机语言分为四类:命令式语言、功能性语言、面向对象语言和表述性语言。 命令式语言由一堆命令构成,组合起来完成一件特定的任务。打一个不那么形象的比方:一个生活缺乏规律的程序员早晨起床后,他的妈妈往往会对他发出这样一系列的“命令”:刷牙,冲咖啡,叠被子,打领带,然后到办公室打卡报到。最早的高级编程语言都是命令式的,比如FORTRAN、COBOL和AIGOL。 功能性语言的鼻祖是麦卡锡发明的LISP。FORTRAN语言之父,约翰·巴克斯在发明FORTRAN之后也成为功能性语言的倡导者,在他的推动下,一些纯粹的功能性语言先后诞生,包括ML、Miranda和Haskell等。 面向对象编程语言的核心思想是把命令语句和它们调用的数据封装成一个个“对象”,人们不需要再为“对象”中的数据操作费心,这好比人们把金属丸、炸药、引信用金属壳封装起来,变成一颗子弹,显然,现代自动武器所使用的子弹远比早期需要每次射击前都人工装填火药的火绳枪能更快更好地“解决问题”,这也是面向对象技术流行至今的原因。面向对象语言的另一个重要特征是继承性,前辈们定义好的“对象”功能会得到继承,如此一直能追溯到面向对象语言的开山鼻祖——SIMULA67。
媒体关注与评论
“软件行业60年的历史比一些传统行业数百年的历史更为主富、更加激动人心作者提炼出这60年历史的精华集于一书,使人们在轻松悠闲的阅读中得以将软件的大千世界尽收眼底。” ——中国工程院院土 倪光南 “读史可以使人明智,以史为鉴。可以知未来,因为,历史中蕴含着未来的逻辑,未来不过是历史的延伸读完本书,您不仅可以从软件60年技术史和商业史中汲取智慧,还会了解软件史上名副其实的巨人——IBM” ——中国计算机报社常务副社长兼总编辑 刘保华 “在某种程度上,软件引领巷IT行业的发展,甚至改变着世界的运行轨迹,这是一个充满变数、充满竞争、充满新鲜感的行业作者在变数中洞察规律,并融汇在故事中娓娓道来。读者不仅可以领略软件的发展脉络,更可以知道软件在实现企业改革和业务需求时的重大价值。” ——《IT时代周刊》总编辑 曹健
编辑推荐
《软件的黄金时代》通俗、活泼、充满矛盾和尖锐的思想火花。软件作为产业虽然只有短短几十年的历史,但却是段最难为大众所理解的“秘史”,可偏偏这个神秘的产业正在越来越深八地渗透并左右我们的生活、商业乃至社会行为方式。二战时期的科学天才到20世纪末的商业Geek文化,再到21世纪的“我们”。软件的创造者和使用者的群体在不断地融台与扩张。从亚马逊书店的云计算到智能手机、吸尘器和大众汽车中的Linux系统。软件已经成为21世纪企业的核心竞争要素,同时也在彻底改变人们的数字生活方式的今天,在互联网经历了轮牛市之后,那些在信息技术大潮中努力寻找前行方向的人们,需要紧紧抓住软件这条产业缰绳。软件60年,从哪里来?到哪里去?《软件的黄金时代》也许将为你打开一扇通往这个最鲜为人知的产业历史的大门。
图书封面
图书标签Tags
无
评论、评分、阅读与下载