【delphi开源代码栏目提醒】:网学会员,鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“为什么打造超卓软件那么难——推荐《梦断代码》 - 交通运输”一文,供大家参考学习!
第15期 计算机教育 2010年8月10日 Computer Education No.15 Aug.102010 153 为什么打造超卓软件那么难 ——推荐《梦断代码》 周 苏 我最初是在一位教程序设计的大学老师手上看到《梦断代码》这本书他眉飞色舞兴奋地向我推荐这本书他称之为“必读书”。
《梦断代码》的作者司各特罗森伯格Scott Rosenberg在其书中一开始就指出“这世上有太多给软件开发者看的指导书。
这本书并不是其中之一。
……我期望 程序员喜欢这本书但这本书对其他人也不无益处。
它提出问题讲述故事。
为什么好软件如此难做因为看来无人能有确定答案。
……我以亲涉踏勘的方式写出这个做软件的故事——关于一队人马并肩托起代码大石、欲将其推上山顶虽历经磨难但仍奋力创造某种有用、丰富且持久之物的故事。
” 1 内容简介 软件乃是人类自以为最有把握实则最难掌控的技术。
人类文明运行于软件之上但创造软件的艺术却仍旧藏身于暗处秘不示人即便对于那些专家也是如此。
而且做软件的野心越大败状也就越惨烈。
《梦断代码》是一本代码史。
本书讲了一个非常有益有趣且发在软件领域稍有经验的技术人员看完本书必掩卷长叹做软件难 作者罗森伯格深入OSAF主持的Chandler开源项目旨在打造全新的电子邮件和日程安排软件开发过程耗时三年。
书中讲述了该项目和开发者的许多故事试图借Chandler的开发过程揭示软件开发中的一些根本性大问题以此来回答“为什么打造超卓软件那么难”。
难以做好难以按时交付难以使用。
Chandler项目持续六年半的时间耗费上百万美元几十号顶尖高手却只换来幻梦一场。
“这里躺着一个野心勃勃的开源项目。
它曾立志超越Outlook最后却无疾而终。
慷慨 作者简介周苏浙江大学城市学院计算机与计算科学学院教授主要研究领域为计算机应用、软件工程、高教管理等。
计算机教育 Computer Education 154 2010的Mitch Kapor带给它生命又把命脉从它身上取走。
许多程序员以心血养育它惜乎全不见成效。
它是温室中的花儿有过绚烂的梦想还未绽放即已枯萎。
那软件的花园中还有多少花朵会渐次凋零呢”《梦断代码》的副标题很长也很吸引人“两打程序员三年4 732个缺陷只为打人深思的软件开发故事。
任何一个造卓越软件”。
Mitch Kapor和他的程序员们曾经打造过最伟大的软件现在他们有了近乎奢侈的资源为了“用代码改变世界”的梦想共襄盛举。
可惜他们遇到了“软件时间”的黑洞泥足深陷、举步维艰。
在描写Chandler项目进展的段落之间温伯格、布鲁克斯等大师级研究者Linus Torvalds和Joel等实践者纷纷现身说法还有来自各机构、媒体、作者的大量资料从“软件时间”入手兼及各种方法论、积木式编程、软件设计、项目管理所有这些都是最后一个大话题的铺垫。
在《结语》部分罗森伯格提出了这个大话题人工智能有没有可能超越人类在这个问题上Mitch Kapor打了个20 000美金的大赌。
他打赌到2029年为止都不可能造出能通过图灵测试的机器。
2 打造超卓软件为什么难 在基础教育小学、初中、高中之后职业教育中职、高职和高等教育的各级各类院校中计算机技术类恐怕是招收学生数最多的专业之一了。
但是相当高比例的计算机类专业学生甚至在读书的时候就声称未来不会从事计算机专业的工作即使是愿意从事这个行业的有很多对本专业的了解也只是个朦胧的大概。
认真阅读《梦断代码》有助于从整体的角度去观察和认识软件产业——这个行业是朝阳行业和其他各行各业一样工作中充满着巨大的快乐但也充斥着障碍与困难。
学生在学习过程中会遇到一些麻烦但这种困难往往是局部的、个别的。
现行的计算机专业课程设置试图教导学生最终通过对分散的专业知识的抽象与整合体悟出全面的专业感受但实际能做到的学生并不多。
程序设计、软件开发等课程所教所实践的都好比是零件甚至连零件也够不上而梦断代码以故事形式提供了一个完整的案例。
作者在本书第0章中写道“如果你和计算机编程打过交道就很难不对它又爱又恨。
作为少年游戏玩家我品味过编写代码的巨大快乐。
作为媒体工作者我见证了软件世界中无数个悲惨故事——无论是跨国公司、政府机构都曾一头撞上过代码的冰山而作为一个经理人我也得对付自己桌面上的泰坦尼克号。
” 确实《梦断代码》一书的作者以其丰富和多角度的视野生动地向读者展示了软件项目的全过程阅读该书再辅以认真思考已算是一项专业综合实践活动。
《梦短代码》之所以被我们推荐为“必读书”其意义正在于此。
《梦断代码》可以作为软件工程课程的课外读物以生动地了解软件工程的全过程可以作为项目管理课程的课外读物以深刻了解相关管理知识及其应用贯穿于各个项目的始终对程序设计类课程也有着重要的影响读者可以正确认识程序设计能力在软件开发中的重要作用深刻理解程序设计工作在软件项目中的地位和作用正视困难发展技术。
我们来更详细地了解本书前面几章的内容。
“软件危机”常常是软件工程课程内容的开始各种教材总结了造成软件危机的诸多原因其中典型的是软件需求不明确软件开发无法按时完成。
在本书的第1章中作者以开发小组中“软件缺陷列表”的讨论为例表现软件下一版本开发需求的确定之困难一如我们所经历过的众多软件的开发初期。
因为开发早期留下的问题足以影响整个开发过程甚至软件产品能否成功所以作者为这一章加上的标题是“死定了”。
本书第2章中作者再现了当年Microsoft Exchange、Lotus 1-2-3等早期重要Office软件的竞争以描述新软件项目开发的理由和 读 书 专 栏 155第15期 进步的目标。
1988年莲花Lotus 公司发布了Agenda软件开发小组从这个软件的突出特性入手进行分析Chandler项目的萌芽开始了。
因此这一章的标题是“Agenda之魂”。
项目需求基本明确后项目团队选择程序设计语言和技术。
“对语言和技术的选择初时无关大局重选亦可转而变得如混凝土般坚如铁石、关系重大”。
在第2章中确定了开发原型——音乐库用例和程序语言Python。
第2章就叫“原型和Python”。
乐高玩具是发源于丹麦的一种寓学于玩的高级积木。
品牌“乐高”“LEGO”是丹麦语“leg godt”的合成品意思是“play well”玩得好在拉丁语里这个词的意思是“I put together”我把它们砌好了。
随着一些优秀程序员的加入对技术例如面向对象方法等的深入讨论众说纷纭一如本书第3章的名字“乐高王国”。
项目组成员“脑中灵光一闪找到了熟悉、适用和自己可把握的方案。
我明白问题所在。
我以前做过类似的东西。
我能搞掂。
” ……就这样《梦断代码》带领着读者从项目的开始走向项目的终结。
本书的内容技术性很强牢牢地扣紧了程序设计、软件开 发、软件工程、项目管理等知识要点但故事化的描写过程又让技术变得通俗易懂。
另一方面全书的软件开发案例十分真实可信但作者写作描述的态度过于灰色是本书的缺陷之处。
事实上尽管软件的发展经历了重重困难但软件产品所取得的成绩却是广大计算机用户有目共睹的。
各章根据内容不同在很多地方插入了一条二进制代码图符“101010101010101011010110110”想来这样排版是为了帮助读者更好的阅读但太多的这些图符却每每打断我的阅读进程让我看得头都晕了。
3 读者的网络书评 CSDN1总裁蒋涛推荐说“大多数技术书籍知识讲技术和理论但我们不知道在真实的软件开发过程中这些技术和
上一篇:
Xen源代码分析
下一篇:
网络能耗监测系统管理端的研究与实现