新書推薦:
《
异域回声——晚近海外汉学之文史互动研究
》
售價:NT$
500.0
《
世界文明中的作物迁徙:聚焦亚洲、中东和南美洲被忽视的本土农业文明
》
售價:NT$
454.0
《
无端欢喜
》
售價:NT$
347.0
《
股票大作手操盘术
》
售價:NT$
245.0
《
何以中国·何谓唐代:东欧亚帝国的兴亡与转型
》
售價:NT$
398.0
《
一间只属于自己的房间 女性主义先锋伍尔夫代表作 女性精神独立与经济独立的象征,做自己,比任何事都更重要
》
售價:NT$
203.0
《
泉舆日志 幻想世界宝石生物图鉴
》
售價:NT$
611.0
《
养育女孩 : 官方升级版
》
售價:NT$
230.0
|
編輯推薦: |
本书深受普利策获奖作品的启发,是一部难得的跨界佳作,娓娓道来的写实风格,可以帮助我们每一个人纵览计算机与软件发展史,横向整合关联行业全景,洞察蕴藏于其中的价值与商机。本书引人入胜,读起来让人难以释卷,是一本见微知著,令人醍醐灌顶的通史,适合软件工程、信息技术、计算机、大数据等专业人员阅读和参考,是一本可以帮助他们实现科技创新与创业的重要指南。
|
內容簡介: |
在软件主宰世界的当下,软件行业发展迅猛,成为*让人关注的领域。从史前的计算需求,从1930年到2019年,作者从大历史观的角度追古鉴今,从大趋势,典型企业,赢家和输家,新技术,生产力质量问题,方法,工具,语言,风险等角度,勾勒出波澜壮阔的软件工程发展史,检视软件工程发展史上的重要发明,把脉软件行业并指出企业、职业兴衰的底层原因,同时还对一些优秀的软件企业商业模式有所涉猎。 本书引人入胜,读起来让人娓娓难以释卷,是一本见微知著、令人醍醐灌顶的通史,非常适合软件工程和信息技术相关专业的学生、从业人员与有志于科技创新创业的人阅读和参考。
|
關於作者: |
作者简介卡珀斯琼斯(Capers Jones)2014年国际软件测试卓越奖(ISTQB)得主著名软件工程方法论专家软件经济数据与度量专家软件工程发展史的参与者与见证人Namcook Analytics联合创始人、副总裁兼首席技术官软件生产力研究中心(SPR)总裁兼主席ITT公司第一个软件度量项目负责人IBM加州总部管理人员和软件研究人员IBM第一个软件成本估算工具的设计师设计过7个专利性软件估算工具和4个商业软件估算工具出版过15本软件工程和软件管理著作,比如《软件质量经济学》
译者简介李建昊光环国际副总裁,咨询合伙人,企业转型顾问,SAFe(规模化敏捷)中国社群创始人。曾担任雅各布森国际咨询公司和ThoughtWorks公司中国区首席咨询顾问,参与SEMAT(软件工程方法和理论)中国分会以及OMG国际标准Essence相关论文的中文翻译等工作。目前专注于企业转型、产品创新和人员能力培养,在电信、传统IT、金融保险银行等领域从事敏捷培训、咨询和教练工作。傅庆冬PMP,PMI-ACP,SPC4,CSM,资深敏捷教练,企业级敏捷转型专家。他专注于敏捷培训、实施及企业级转型工作已经超过8年。在帮助大型IT系统开发和管理、企业战略转型和流程变革、IT部门绩效管理等领域拥有丰富的经验。他指导团队和组织理解敏捷思想,帮助他们快速持续改进工作流程与工作效率。他具有15年以上专业软件工程经验,包括极限编程、测试驱动开发(TDD)、以及大型软件系统的持续集成与持续交付等。他也为需要提高工程技术能力的企业进行工程实践培训及辅导。戴波北京石油化工学院信息工程学院院长,教授,硕士生导师,主要研究领域为安全生产信息技术及大数据分析、现代检测技术、长输管道检测等。
|
目錄:
|
目 录 第1章 序曲:从古到今话计算... 1
人类对计算的需要... 2
对数字序列的早期认识... 4
那些为数学发展提供原动力的发明... 8
数学和计算... 10
信息的记录... 13
信息的交流... 15
信息的存储... 17
使计算机和软件成为可能... 19
软件相关的关键发明... 22
字母语言... 22
二进制和十进制数字以及零... 23
数字计算机... 24
高级编程语言... 24
随机存取存储器... 24
软件对人类和社会的影响... 25
造福社会的工具和应用程序... 25
有害的发明... 34
权衡风险... 36
小结... 37
第2章 19301939:数字计算的基础... 39
现代计算的先驱... 39
小型数学应用程序... 43
小结... 45
第3章 19401949:二战及战后计算机的使用... 47
全球冲突与计算机的使用... 47
战争期间的技术创新... 49
二战期间的模拟计算机... 50
二战期间德国的计算机... 51
二战期间日本的计算机... 54
二战期间波兰的计算机... 56
二战期间法国的计算机... 57
二战期间澳大利亚的计算机... 58
二战期间俄罗斯的计算机... 58
二战期间英国的计算机... 59
二战期间美国的计算机... 64
战后的计算机... 73
冷战开始... 74
战后计算机的发展... 75
这十年的贡献... 78
1945年的软件开发... 81
小结... 82
第4章 19501959:数字计算机和软件开始崛起... 83
20世纪50年代的军用与国防计算机... 83
赛其系统SAGE. 84
波马克地空导弹(BOMARC)... 86
20世纪50年代的创新者... 87
20世纪50年代的编程语言... 90
第一台商用计算机... 91
英国的LEO牌计算机... 91
IBM... 93
计算机的其他商业实现... 94
20世纪50年代的软件应用... 96
1955年的功能点... 97
小结... 98
第5章 19601969:商用计算机和商用软件的兴起... 99
劳动力演进... 100
早期的专业外包... 102
20世纪60年代的计算机程序员... 103
成为程序员... 103
对程序员的需求呈现出井喷的态势... 107
软件工程师的出现... 109
IBM系统360. 111
图灵奖... 113
信用卡的发明... 117
自动化和新的职业... 118
DEC的PDP-1小型机... 119
20世纪60年代的编程语言... 120
20世纪60年代的计算机业务... 123
诉讼永久改变了计算机世界... 126
太空里的计算机和软件... 127
20世纪60年代的计算机和软件的增长... 129
1965年逆向的功能点... 131
小结... 132
第6章 19701979:计算机和软件开始创造财富... 133
软件在70年代的发展... 133
软件发展趋势... 134
政策失败... 135
计算机公司的快速增长... 136
20世纪70年代期间成立的大公司... 137
美国联邦快递... 137
纳斯达克... 138
西南航空... 138
20世纪70年代成立的计算机公司和软件公司... 139
牵牛星... 139
苹果... 140
巴安... 141
CA.. 141
克雷计算机... 142
卡利南... 143
Digital Research. 144
Galorath. 146
IMSAI Computers. 146
InterSystems. 147
Lawson Software. 148
微软... 148
甲骨文... 149
Price Systems. 150
Prime Computers. 150
SAP. 151
天腾... 152
Yourdon. 154
20世纪70年代新创公司的影响力... 155
应用软件发展曲折... 156
大量零散的软件细分类别... 157
先进的实验性软件... 157
商业软件... 157
通信软件... 158
网络犯罪和黑客软件... 158
数据库软件... 159
教育软件... 159
嵌入式软件... 160
游戏和娱乐软件... 161
制造业软件... 161
中间件... 162
军事软件... 162
开源软件... 163
个人软件... 164
编程工具软件... 165
项目管理软件... 165
科学和数学软件... 165
安全防护软件... 166
社交网络软件... 166
问卷调查工具... 167
可用性软件... 167
改变计算机历史的法律诉讼... 168
推动软件行业迅速发展的辅助性发明... 169
1975年的功能点... 173
小结... 174
第7章 19801989:PC和个人软件崛起... 175
计算的变化加速... 176
20世纪80年代成立的公司... 178
埃森哲... 181
Adobe. 183
美国在线... 184
小红伞... 185
黑莓... 185
宝兰... 186
CAI 188
思科... 190
DCI 190
华为... 192
财捷集团... 195
毕马威会计师事务所... 196
莲花... 197
NeXT. 199
仁科... 201
Rational 202
软件工程研究所(SEI)... 204
软件生产力研究所... 207
StepStone. 209
TechSoup. 212
Wolfram Research. 214
20世纪80年代软件应用的发展... 217
大约1985年1000个功能点的结果... 217
小结... 218
第8章 19901999:万维网的发展和网络公司的兴起... 221
万维网的出现... 222
20世纪90年代的其他发明... 224
20世纪90年代成立的公司... 226
阿卡迈... 229
亚马逊... 229
Apache. 231
Craigslist 231
Digital Playground. 232
易趣... 233
GoDaddy. 235
谷歌... 237
哈特兰支付系统... 239
投资公司Insight Venture Partners. 240
国际软件基准组织... 240
招聘网站Monster.com.. 243
网景... 244
在线旅游服务公司Priceline. 245
红帽软件... 246
红色风暴娱乐公司... 247
天狼星卫星广播公司... 248
思特沃克... 250
Visio. 251
VMware. 253
大规模更新和遗留软件老化... 254
国际日期格式不兼容... 256
外包业务迅速扩张... 260
20世纪90年代期间软件应用的发展... 260
1995年1000个功能点的结果... 261
小结... 262
第9章 20002009:社交网络和经济危机的出现... 265
互联网泡沫... 266
大衰退... 268
21世纪00年代的创新... 272
21世纪00年代建立的公司... 275
市场分析公司AbsolutData Research. 279
硅谷风投公司Andreesen Horowitz. 279
Archon Information Systems. 280
私企Canonical 281
Facebook. 282
Freelanthropy. 284
Global Insight 285
HIVE Group. 286
高智发明... 287
互联网营销协会(IMA)... 289
会议服务公司Meeting Zone. 290
穆迪分析... 291
Mozilla基金会... 292
开源发展实验室(OSDL)... 294
PerfectMatch. 295
RPX.. 296
SolveIT软件公司... 297
社交网络Twitter 298
YouTube. 300
房地产评估公司Zillow.. 301
20002010年软件的增长... 303
大约2005年1000个功能点的结果... 304
小结... 305
第10章 20102019:云、众、博客、大数据和预测分析... 307
预测未来... 308
软件工程的专业地位... 309
21世纪10年代可能的软件工程改进... 313
21世纪10年代早期成立的公司... 315
创业孵化器AngelPad. 317
写作众筹网站Authr 318
云迁移平台厂商CloudVelox. 319
众筹公司CrowdCube. 320
任务众包平台Fiverr 321
微捐赠平台Flattr 322
垂直招聘网站Geekli.St 323
众筹网站GoFundMe. 324
预测分析公司Namcook Analytics. 324
智能家居设备公司Nest Labs. 328
社交数据分析服务公司Peer Index. 329
信息聚合公司Unified Inbox. 330
营销软件公司Yesware. 331
预测2013年到2019年的新公司和新产品... 332
大数据... 332
众智和众筹... 333
网络犯罪和网络安全... 333
教育... 334
智能代理... 341
医疗设备... 342
预测分析... 343
可穿戴式计算机... 346
2010年到2019年的软件预期增长... 348
大约2015年1000个功能点的结果... 348
小结... 349
第11章 现代软件的问题... 351
对影响比较大的软件故障进行分析... 351
1962年,水手1号探测器的导航软件出现故障... 353
1978年,哈特福德体育馆倒塌... 353
1983年,苏联早期预警系统误报... 354
1986年,Therac 25放射治疗仪的灼伤事故... 354
1987年,华尔街股市崩盘... 355
1990年,美国电话电报公司电话线路关闭... 356
1991年:爱国者导弹对准失误... 356
1993年,英特尔芯片问题... 357
1993年,丹佛机场项目延期交付... 358
1996年,阿丽亚娜5号火箭爆炸... 359
1998年,火星气候轨道探测器坠落... 359
1999年,英国护照系统出故障... 360
2000年,千年虫问题... 361
2004年,洛杉矶机场(LAX)空中交通管制关闭... 362
2005年,美国联邦调查局Trilogy项目被停... 362
2005年,索尼防拷贝版权保护软件... 363
2006年,空客A380线路问题... 364
2010年,迈克菲杀毒软件错误关闭了用户的计算机... 365
2011年,罗德岛38号工作室投资失败... 366
2012年,骑士资本的股票交易软件问题... 368
2012年,软件问题所引起的汽车召回事件... 369
小结... 370
第12章 网络犯罪和网络战简史... 373
一种新的犯罪形式... 374
黑客入侵... 375
准备防御... 376
网络攻击日益加剧... 379
受害者越来越多... 381
网络攻击的种类... 385
蓝牙劫持... 386
僵尸网络... 386
浏览器劫持... 388
计算机投票欺诈... 389
针对民用目标的网络战... 393
公司资料失窃... 395
无安保网络的数据失窃... 396
拒绝服务攻击... 397
电磁脉冲(EMP)... 397
电子邮箱地址获取... 399
身份盗窃... 400
Java漏洞攻击... 402
键盘跟踪器... 403
针对Word和Excel文件的宏攻击... 403
嫁接... 404
网络钓鱼... 404
Rootkits. 406
略读... 407
智能卡劫持... 408
垃圾邮件... 410
SQL注入... 411
木马... 412
病毒... 413
蠕虫... 414
零日安全攻击... 416
受攻击的可能性... 416
加强对网络攻击的防御... 418
提高我们对网络攻击的免疫力... 420
访问控制... 424
验证控制... 424
电磁脉冲防护... 425
加密... 426
估算网络攻击后的恢复成本... 427
针对网络盗窃和网络攻击损害的保险... 427
安全的编程语言... 428
美国,网络攻击的频率和成本日益增加... 429
小结... 430
参考文献与网络及其他资源... 431
书籍资源... 431
网络及其他资源... 440
|
內容試閱:
|
沃克罗伊斯推荐序IBM首席软件经济师Walker Royce在过去的几十年里,软件行业一直在高速发展。很少有人停下脚步去反思软件行业的基石和突破性进展,搞清楚它们是如何使软件成为世界上最有统治力的产品的。现在我们的世界已经离不开软件。软件普遍存在于各种人工制品中,几乎人人都在用软件。软件这种无形的东西,在我们的手机、汽车、小工具、银行、医院中都有应用,一度被看作是不可思议的。现在软件理所当然地被认为是必不可少的服务或特性,成为我们生活的一部分。难道你不诧异这一切是如何发展演变的吗?软件从何而来?为什么要构建软件?如果你很想知道软件这一神奇技术的演变史,完全可以看看这本书提供的权威软件编年史,从中一睹为快。如果你的职业依赖于软件(现在很少有人完全不用软件吧),你会发现这本书无异于一堂有价值、有教育和启发意义的历史课。这本书也包含性能的量化基准,别的文献中可是找不到这些内容的。当我还是一名年轻的工程师时,我通过卡珀斯琼斯(Capers Jones)先生的软件度量的书籍和论文认识了他。卡珀斯琼斯先生是软件经济学领域的思想领袖之一,他大胆公布了软件项目方面的事实和数字,推动了对挑战和机遇进行量化的工作。到现在,他至少出版了12本书。20世纪90年代,当我在写第一本书时,卡珀斯是审稿的最佳人选之一。那时候,我们在一定程度上是竞争对手,他给我的审稿意见呃这么说吧,真的很犀利。然而,他的评审意见却是迄今为止最有价值、最有见地和最具建设性的。他就是知道怎么写作。由于他为不同行业软件的质量和效率写过大量的资料和数据,所以他坚定的信念是非常可靠的。他给我上过一堂很重要的课:软件世界充满着不确定性,谁能掌握最好的数据,谁就最有话语权。他的评论有效地把我引到一个更好的方向,从此,我们一直频繁地交换意见,相互交流,阐述针锋相对的立场,保持着极好的私人关系。在大多数软件组织中,对进度、质量和商业趋势的度量与预测,更像是政客们剽窃的统计数据,而不是工程师和科学家实事求是的表述。这个说法太苛刻了?才不呢!政客有一个当之无愧的声誉和类似于软件行业的记录,那就是他们永远也无法兑现自己对预测和提高生产力所做出的承诺。软件市场到处都是愤世嫉俗的客户,因为他们在提高软件生产率的过程中,饱受夸张和自我陶醉的困扰,不管是从内部员工,还是从外部供应商,无一例外。软件交付工作有着很高的不确定性和复杂性。通过更好地测量,可以降低不确定性,以此来增加消费者、供应商和开发商之间的信任。卡珀斯琼斯几十年的度量工作,为我们今天所信任的软件行业做出了巨大的贡献。他是一个伟大的作者,是软件历史的权威。他是软件起步阶段到发展的亲身参与者。这本书把他的研究、知识和大量深刻的见解综合成一堂历史课,每一个软件工作者都能从中找到有用之处,每一个软件的用户都能从中得到启发。他的文笔流畅明快,引人入胜。让我们一边享受,一边聊一聊软件发展史的那些事儿吧。
托尼萨尔瓦奇奥推荐序CAI公司CEO兼董事长Tony Salvaggio上个80年代早期,CAI公司创立之初,我们曾宣布公司的使命是努力成为软件工程领域、软件开发生产力领域、应用程序支持生产力领域的思想领袖。我们CAI公司的每个创始人都有一个强大的信念,只要坚持以正确的方式方法重复做事,就能为我们未来的客户释放巨大的商业价值。尽管我们的一些团队对软件工程以及大型项目的设计和开发有着丰富的经验,但我们同时也明白,仅仅拥有这些经验就宣称我们是思想领袖是不够的。牛顿有一则众所周知的关于科学家如何站在巨人的肩膀上的名言。牛顿说他所有的科学发现和科技进步特别是他个人的历史性突破都建立在前人的辛勤工作和远见之上。在CAI公司,我们的团队成员和助理都稳稳地站立在卡珀斯琼斯先生的肩膀上。在CAI公司30年的历史进程中,甚至在计算机的整个历史长河中,卡珀斯都是软件工程界最渊博、最高产的发现者。他至少写过18本书,主题涉及所有信息技术管理范围,每本书都给工程师和管理者揭示了新的见解。我曾经手里挥舞着卡珀斯厚厚的黄皮书原著,发表过无数次产品生产力和过程改进的管理层报告。毫无疑问,卡珀斯收集了软件工程方方面面的数据,并且完成了最科学的数据分析。可以说,他所忘记的东西,比一般的高级软件工作者学到手的都要多得多,甚至这种说法也有些过于轻描淡写。在他的新书里,卡珀斯为我们软件行业,也是为现在每一位同仁和以后的IT专业人士提供了另一项宝贵的服务,那就是第一次用文字的形式把信息技术这段漫长而精彩的历史记录下来了。IT行业,在上个世纪60年代和70年代时还鲜为人知,而现在我的人生中已经经历了这么多戏剧性的变化。我看到软件行业引领企业重组的革命,见证了软件如何彻底改变地球上几十亿人的生活。无论我们是否研究,历史都会重演。从这个意义上讲,卡珀斯的新书是每个软件工程学生和IT从业者的必读书。尽管我们屡屡创新成功,但IT行业却始终没有人曾经勤勉地钻研过以往的教训,这些历史教训的记录率先是在卡珀斯最初的黄皮书里出现的。在过去的30年里,卡珀斯已经成为我最有价值的朋友,我的一天通常都是在和他的邮件开始的,在邮件中我们讨论质量管理,删除早期缺陷,避免项目失败。在这30年中,他清晰而富有洞察力的话语一直萦绕在我耳边,指导着我们CAI公司的业务工作。我极力推荐卡珀斯的新书,包括他以前的很多著作,他的这些书有收藏价值。
前言我出生于第二次世界大战之前,刚好在计算机纪元的黎明到来之前。从儿时起,我就记得自己读过一些介绍集成电路的书刊,记得晶体管的发明,我还记得电视的诞生以及后来的彩色电视。我当年进入佛罗里达大学时,学校里还没有电脑,没有计算机科学课程,更不要说软件工程了。事实上,工科生仍然在使用计算尺,当时还有一个激烈的辩论是考试时能否使用新型的电子计算器。那个时候,没有个人电脑,没有个人音乐播放器,没有社交网络,只有兄弟联谊会或者姐妹联谊会,当然更没有智能手机。没有嵌入式软件应用,也没有人工电子耳蜗这种嵌入式医疗设备,所有这些东西都是后来才出现的。年纪稍长的读者经历了整个计算史和软件行业的起步阶段。发明创造突飞猛进,相关公司如雨后春笋般先后涌现和合并,我们生活在一个技术进步日新月异的黄金时代。这是我写的第十五本书。尽管我在上个世纪60年代是一名专业的程序员,但我的前第11本书,包括《编程生产力》《软件风险的评估和控制》《应用软件测量》以及《软件成本估算》,都是关于软件管理这个主题的。我对管理主题的兴趣开始于在IBM工作的时候,那是在1973年,我受命和同事查尔斯图尔克(Charles Turk)博士一起,着手开发IBM的第一个软件估算工具。我在IBM时出版了自己的第一本书,随后,我到ITT创办自己的软件公司,当ITT出售电子商务业务时,我一般每两年出版一本书。作为《科学美国人》(Scientific American)杂志的终身读者,我喜欢和科技主题与时俱进。(我出版生涯的一个亮点是在1998年11月在《科学美国人》杂志上发表了一篇关于软件规模度量的文章,文章的特色是功能点度量)1998年,我卖掉自己的第一个软件公司,随妻子搬到罗德岛州,我从来没有在这里生活过,但我妻子在这里土生土长,而且当地还有很多亲戚。我们搬到这里之后不久,我就被这个州的历史深深吸引了。罗德岛州的经济史简直就是美国经济的缩影,开始于轮船制造业和轮船贸易,然后是制造业,再转向以劳动力为成本的服务业。2006年,我出版了《纳拉干塞特湾的历史和未来》(The History and Future of Narragansett Bay),这是我的第一本非软件相关书籍,也是我的第一本历史类书籍。罗德岛州一书中的未来这一部分内容,涉及当下正蔚然成风的问题:税收增加;政府养老保险不可持续;海湾和淡水层污染;政治冲突;新型外来疾病如(西尼罗河病毒和莱姆病);医生和牙医等专业技师的数量减少;不断膨胀的官僚主义,他们支持的不是广大人民,而是利益集团。这些不仅是州和地方上的问题,也是民族问题。不管怎样,通过写罗德岛州的历史对我思考软件工程领域的历史似乎也是有用的,只不过那时我已经在构思其他的书,分别是《软件工程最佳实践》(Software Engineering Best Practices)和《软件质量经济学》(The Economics of Software Quality)。我还和我的商业合作伙伴特德马洛尼(Ted Maroney)一起,忙着创办一家新的软件公司Namcook Analytics。说到直接促成这本书的特殊事件,就是有一次去罗德岛州大学附近一个常去的书店闲逛,我偶然拿起一本书,它有一个有趣的标题,是保罗斯塔尔(Paul Starr)的《美国医疗的社会转型》(The Social Transformation of American Medicine)。这本书获得了1984年的普利策奖,我要向软件工作者强力推荐。它描述医学从一门个人技艺如何转变为一个受人尊敬的职业、从勉强进行的专业训练到可能拥有任何专业都无法比拟的最好培训。斯塔尔的这本书激发了我写作本书的灵感。软件工程仍然只是一门个人技艺,正在逐渐趋向于成为一种真正的职业。例如,软件许可才刚刚开始;正式专业化和委员会认证仍然有待于将来的实现,不法行为的监控也需要在未来加以完善。斯塔尔的这个书给出了一个清晰的路线图,有待软件工程去完成。我对医疗主题一直很感兴趣,因为我的第一份编程工作就是在华盛顿的美国公共卫生服务外科医生办公室进行的。我们致力于为国家卫生研究院开发软件。事实上,我早期在1994年写的一本书就命名为《软件风险的评估与控制》(Assessment and Control of Software Risks),这本书使用的具体结构和格式来自于《人类传染病控制》(Control of Communicable Diseases in Man)这本医学教科书。医学格式在讨论软件问题时也很适用。在计算机和软件领域,新发明和公司的涌现犹如雨后春笋,以至于这本新书需要一个更切实可用的结构。我决定以每十年的时间为一章(从1930年开始直到2012年,再到以后),以此来观察软件的创新、发明和公司。社会团体和专业机构,比如电气与电子工程师学会(IEEE),计算机机械协会(ACM),信息管理协会(the Society for Information Management)和人类进步社会治理工程协会(SHARE)等,都会有所涉及。最后一章开始于2010年,直到2019年,包括对潜在未来进展的预测。这来源于罗德岛历史的未来篇章的回忆录,也预测了此书完成后的十年。然而,开始于1930年似乎有点太突然了。因此,我决定增加一个序曲,总结人类从古代走向现代的快速计算的历程。全书一共包括12章。第1章是计算学从古代到当代的序曲。这一章论述了几个相互关联的主题,包括数学运算的演变,用机械传动装置加快数学计算速度的原因;人类交流数学结论的方法;出于历史目的存储和归档数学结果的方法,包括古代著名的图书馆。第2章论述20世纪30年代数字计算和软件的基础。介绍了阿兰图灵(Alan Turing)、克兰德楚泽(Konrad Zuse)和其他一些先驱者所做的开创性工作。在这个十年中,受经济大萧条的影响,很多公司都倒闭了。IBM公司也差点失败,但是1935年社会保障的来临及时挽救了IBM,并使IBM迎来了连续45年的成长。没有社会保障,IBM公司可能挺不过那十年,那么计算机和软件的历史与今天相比,就将完全不同了。第3章论述20世纪40年代,介绍了二战和战后交战国中的计算机和软件。讨论了著名的英国布莱奇利公园解码器,德国克兰德楚泽的电脑。但是在二战期间,模拟计算机才是真正的老黄牛,因此这本书也讨论了船载炮控制、鱼雷瞄准计算机、投弹瞄准器和其他模拟计算机装置。本章的末尾涉及早期的电子数字计算机和我们现在熟知的编程的开端。第4章论述20世纪50年代,这个十年见证了计算机和软件从军事和科研目的转向商业用途的过程。十年中,两项巨大的成就是年代初期建成的半自动地面防空警备系统和年代末期建成的机载轰炸雷达安全设备,它们是当时最大的两个系统。许多发明由此产生,比如晶体三极管和集成电路。COBOL等高级编程语言开始出现。第5章论述20世纪60年代。这个十年见证了计算机和软件变成上百个企业的商业工具。随着晶体管和集成电路替换管道和离散布线,计算机的实际尺寸有所减小。这个十年同样见证了IBM的快速成长,这归功于IBM 1401型计算机和之后的System 360型计算机。小型计算机和特殊计算机也出现了。操作系统软件和数据库应用技术软件的扩充也使计算机更便于使用。一些大学开始提供计算机科学和软件工程学位课程。软件职位需求的数量剧增。第6章论述20世纪70年代。这个十年见证了苹果公司和微软公司的诞生,以及商业软件包的发展趋势。一些公司开始使用软件创造新的业务模型,比如美国西南航空公司和美国联邦快递公司,采用独特的中心辐射式编排来优化物流配送。软件工程成为大学里一门普遍的学科。编程工作快速扩展,随着应用软件越来越大,变得难以管理,用来控制软件混乱状况的结构化开发应运而生。一些公司创立于这个十年,很快成长壮大并创造了超乎想象的财富,成为全球龙头,苹果和微软就是其中的两个。嵌入式医疗装置出现了,比如人工电子耳蜗。第7章论述20世纪80年代。占据主导地位的显然是IBM的个人电脑和DOS、Windows操作系统的出现。专业的软件公司如雨后春笋般涌现出来。编程的工作职位需求继续快速增长。面向对象的开发和面向对象的语言开始出现。由于编程语言难以理解,其数量从几十个发展到了几百个。个人电脑也开始趋于便携性,但当时第一个这样的电脑重达25磅。为了协助军事部门使用更好、更可靠的软件,美国成立了软件工程学会(SEI)。第8章论述20世纪90年代。这个时代最大的新闻是因特网和万维网的发展和快速膨胀。在这个时代末期,随着许许多多公司设法通过网络出售产品和服务,著名的网络公司泡沫(dot-com bubble,又称稻糠泡沫)开始迅速膨胀,并在下个十年的初期破灭。互联网导致远程黑客很容易入侵数据中心,滋生了网络犯罪。软件外包业务特别是国际外包业务迅速发展,因为公司已经意识到自己进行软件编程其实并不划算。第9章论述21世纪初期,这个十年的开始见证了网络公司泡沫的破碎,然而那些幸存下来的网络公司,比如亚马逊(Amazon),就成长为巨头。社交网络出现了,还有新型搜索引擎和新型的网站浏览器。敏捷开发方法开始流行,其他方法也同样流行,比如团队软件过程(TSP)和Rational统一过程(RUP)。到本年代末,编程语言的数量高达2500种之多,而且还在继续增长,几乎每个月都有新语言产生。所有的这些程序语言和软件老化使得维护费用变得十分昂贵。对遗留软件应用的维护和支持超越了新软件的开发,成为这个时期本行业最主要的工作。专利流氓这个新的细分行业出现了,专利诉讼在电脑公司、软件公司和电信公司之间形成风气,因为他们都在较劲,想方设法用专利来摧毁竞争者,推动发展。第10章论述21世纪10年代,这是个推测未来可能发明的时代。云、集群(crowd)、大数据和预测分析技术都是当前的发展趋势。一些将来潜在的发明可能是可穿戴式的计算机、虚拟教育和嵌入式医疗设备的重大进步,速度更快且体积更小的量子计算可能会出现。智能代理(Intelligent agent)用于在多样化的大数据源中提取有用信息,会变得日益强大。网络犯罪自然会有所增加,甚至网络战已经悄然发生。全世界现在已经有正式的网络战组织,他们发起的对工业、财政和军事部门的攻击已经很常见。第11章论述的主题很难定性为一个特殊的时代。这章再一次讨论一些著名的软件失败案例,发生的经过,如何做可以避免当初的失败。将这些内容放在一起讲述似乎比将它们按照年代来讲述更好。第12章概述网络犯罪和网络战问题的本质和形式,这些问题正在变得日趋严重和普遍。这里与前一章一样,因为网络攻击形形色色,为了突出它们的量级和严重程度,最好将它们放在一起讲。历史书的作者很享受写作的过程,但我也希望这本书能够让你也喜欢读。很显然,如果试图将年代框架中出现的每个公司的每一项发明娓娓道来,这本书的篇幅会达到1000多页,可能没有出版社想要出版,更没有读者愿意读了。因此,由于篇幅所限,有相当一部分公司略过未讲。当许多公司拥有相似的利基(niche)时,本书只引用一两个来解释这个利基。举个例子,没有必要一一列出50个数据分析公司、50个电脑游戏公司、25个网络研讨会工具公司或者25个抗病毒软件公司的名字。说明软件行业有个有趣的社会属性,就是一旦一个新利基变成热门,就会有大量相似的公司和产品风起云涌。有时,一个新发明想得到风险投资很难,但对同一个领域的下一批公司来说,就容易得多了。把时间线和日期串起来之后,一些信息源就会前后矛盾,对于同一个公司,一个信息源可能说其创建于1982年,另一个引用的时间却是1983年。我希望这本书在时间线和日期上是大概正确的,但也很容易有一年前后的偏差。这本书的目的是展示整体的发展历程以及不断涌现的发明创造。软件工程领域已经成为人类历史上最富有创造性和激情的领域之一。我希望年轻的读者有兴趣了解可能在他们出生之前出现的旧发明,希望年长的读者能喜欢阅读这许多新型的发明,比如社交网络和穿戴式计算机(很快会出现①)。
致谢像以往一样,我要感谢我的妻子艾琳(Eileen),感谢她在过去30年中对我写作15本书所给予的支持。同样感谢我的合作伙伴,特德马洛尼(Ted Maroney),感谢他对我的各种专利和发明表示兴趣并提供支持。感谢本书的策划编辑贝纳德古德温(Bernard Goodwin)对这本书和我之前一些书的支持。同时还要感谢为编辑和出版此书付出努力的所有工作人员。非常感谢这本书以及之前我其他书的评审人员,因为他们审过我的很多书。感谢雷克斯布莱克(Rex Black)、加里盖克(Gary Gack)、彼得希尔(Peter Hill)、里昂卡贝曼(Leom Kappelman)、阿历克斯佩提特(Alex Pettit)、沃克罗伊斯(Walker Royce)和乔司各菲尔德(Joe Schofield。还有一些非正式的评审人员,比如汤姆德佩特里罗(Tom DePetrillo)、蓬特斯约翰逊(Pontus Johnson)、托尼萨尔瓦吉奥(Tony Salvaggio)、保罗斯特拉斯曼(Paul Strassmann)和杰瑞温伯格(Jerry Weinberg),同样在此表示感谢。还要感谢Dr. Dobbs Journal的编辑安德鲁宾斯多克(Andrew Binstock),注册企业风险管理学院的格雷格哈钦斯(Greg Hutchins),InfoQ的本林达斯(Ben Linders)以及信息技术度量和生产力研究所的迈克尔米拉蒂斯(Michael Milutis),他们出版了这本书和我之前书的精选特辑。我们软件领域的所有人都要向这一领域的先驱者和创造者致谢,他们使得这个领域如此有趣,他们是阿尔阿尔布雷希特(Al Albrecht)、巴里鲍伊姆(Barry Boehm)、弗雷德布鲁克斯(Fred Brooks)、沃德坎宁汉(Ward Cunningham)、艾瑟戴森(Esther Dyson)、比尔盖茨(Bill Gates)、格雷丝霍普(Grace Hopper)、瓦兹汉弗莱(Watts Humphrey)、斯蒂夫乔布斯(Steve Jobs)、斯蒂夫坎(Steve Kan)、米奇卡珀(Mitch Kapor)、肯奥尔森(Ken Olson)、阿兰图灵(Alan Turing)、王安(An Wang)、杰瑞温伯格(Jerry Weinberg)、斯蒂芬沃尔夫勒姆(Stephen Wolfram),等等,恕不一一道来。过去的这些年,我有幸接触到一些高层主管,他们懂得软件对公司及对世界的价值。这些高管为提高软件方法和实践专门投资建立研究中心,而我有幸得以进入其中一些地方工作。这些顶级企业的高管分别是有IBM早期的托马斯沃森(Thomas J. Watson),ITT公司的哈罗德杰宁(Harold Geneen)和兰德阿拉斯库格(Rand Araskog),Electronic Data Systems公司的莫特迈尔森(Mort Myerson)以及构造计划研究所(Kozo Keikaku Engineering)的富野尚志(Hishahi Tomino)博士。富野博士的公司已经将我之前的大多数书翻译成日语,他们的翻译团队做得非常出色。我也希望这本新书也能找到合适的途径,翻译成日语和其他语言。软件和计算机已经深刻改变了人类的通信方式。今天,许多人拥有的虚拟朋友多于真实朋友。一些年轻人花在发短信和社交网络上的时间多过面对面的交谈。互联网和万维网已经打开巨大的信息量集合,超过世界上所有图书馆的总和。现在,几乎每一个复杂设备都由嵌入式软件来操控,包括汽车、飞行器甚至智能应用设备。计算机和软件已经改变了世界,未来还有更多的改变等待着我们。
① 编注:在2017年5月微软年度开发者大会上,有一个特殊的腕部可穿戴设备叫Emma,可以帮助帕金森患者正常地绘画和书写。
第1章序曲:从古到今话计算我们人类对计算的需要,可能起源于逐渐开始积累物质财产这个大的背景。这样的需要很快演变成为我们需要记录家庭或部落所拥有的财产,比如多少头牛和羊,等等。一旦可以做简单的加减法,与之相关的记录信息的需要也随之而来,有了记录,信息保存的时间可以更长,而且还可以分享给其他的人。早期用来记录信息的载体是鹅卵石或实物,但发展到后来,人们发现可以用符号来代替。人类不断进化并开始以部落的方式定居之后,产生了其他的需要,比如需要测量砖瓦的尺寸和标定地界。一旦有空闲时间,我们人类又在好奇心的驱使下想要计算时空的距离和恒星的位置。很快,与计算有关的活儿被视为是一种繁重而乏味的体力活儿。于是,很快出现了可以帮助提高计算速度的机械装置。算盘是第一个具有开创性的计算器。最后,不同的决策支持工具先后问世。对快速计算、永久性数据存储和复杂决策的需要是最终启发我们人类设计和开发计算机及相关软件的关键因素。
人类对计算的需要这样一本讲软件工程和计算机发展史的书,不应该开门见山就直接从某个具体的时间(比如1930年)开始。没错,数字计算机和软件设计的确是1930年到1939年之间才首次明确提出来的,但它们的出现实际上离不开历史上几千年以来的许多发明。古往今来,人类对计算有不同形式和类型的需要。当然,更需要以固定格式来保存计算结果。还有一种不太容易明确的需要是对不同的选项进行逻辑分析。一个典型的例子是产品的市场化是走平稳的长线还是走快而陡峭的短线。再比如,某块特定的土地最适合种植哪一种农作物?更重要的决策还有某个部落是否应该对另一个部落发动战争。在今天,有些决策关系到健康,甚至生死攸关,比如,对付抗药性肺结核这一类大病,究竟用什么疗法才最有效?再有就是影响到经济发展的决策。一个典型的例子是共和党与民主党。哪些选择对美国经济最有利,双方的观点截然不同。要在不同的对立选项之间做出选择,虽然不可能双方都对,但双方显然都有可能选错。(也可能有其他更好的选择或压根儿就没有什么更好的选择)通过对民主党与共和党的辩论进行分析,我们发现双方貌似都是错的,而且,无论采取哪个党派的执政路线,最后都可能不利于美国经济健康发展。
|
|