下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 程序员的思维修炼_开发认知潜能的九堂课

程序员的思维修炼_开发认知潜能的九堂课.pdf

程序员的思维修炼_开发认知潜能的九堂课

lmg20111129
2011-12-13 0人阅读 举报 0 0 暂无简介

简介:本文档为《程序员的思维修炼_开发认知潜能的九堂课pdf》,可适用于IT/计算机领域

再提“实用”绪论欢迎大家!感谢选择这本书。我们将共同经历一次有关认知科学、神经学、学习和行为理论的旅程。你将看到人类大脑令人惊奇的工作机制并研究如何克服这一系统的局限来提高自己的学习和思考技能。我们将开始重构你的“湿件”对大脑进行“重新设计”和“重新连线”使你更高效地工作。不论你是程序员、管理者、“知识工人”、技术奇人还是思想家或者你只是想让你的大脑聪明一点这本书对你都会有所帮助。我是一名程序员所以我的例子和言论都离不开软件开发领域。但是如果你不是开发人员也不必担心实际上程序设计与使用神秘、深奥的编程语言编写软件没有多大关系(尽管我们总是习惯性地认为它们很相关)。程序设计其实就是解决问题它需要发明、创造和灵感。不论你从事什么第章第章绪论职业可能都需要创造性地去解决问题。然而对于程序员来说既要受到数字计算机系统的严格约束又要展开丰富而灵活的人类思考这就会展示二者的强大力量又会深深地暴露二者的缺陷。无论你是一名程序员还是一位心灰意冷的用户可能都曾认为软件开发是人类可以想象和遇到的最艰难的工作。它的复杂性耗尽了我们的全部智慧而一旦失败则后果是可怕的且往往极具新闻价值。我们曾经让宇宙飞船偏离了轨道撞向遥远的星球让昂贵的火箭爆炸蒙受无法弥补的实验损失给消费者寄去索要零美元的催款信搞得人家莫名其妙时不时还让航空旅客滞留在机场。适才我们发现:这完全是我们自己的错误造成的。我们自身往往增加了程序设计的难度。随着软件行业的不断发展我们似乎失去了作为一名软件开发人员所必需的最基础、最重要的技能。不过好在我们此时此地就能改正这个错误。本书将告诉你如何去做。过去年中程序员引入到程序中的缺陷的数量已经基本保持不变。尽管程序设计语言、技术、项目方法论等都在不断改进但缺陷发生的频率仍然保再提“实用”持在同一水平没能得到改善①。也许这是因为我们一直关注着错误的事情。尽管技术上有了很多显著的改变但有一样东西却始终没变:我们自己作为开发人员的人。软件并不是在集成开发环境(IDE)或其他工具上设计出来的它是在我们的大脑中想象和创造出来的。思想和概念是需要在团队(也包括付钱让我们开发软件的人)中分享和交流的。我们已经在改进基础技术程序设计语言、工具、方法上花费了很多时间当然这也是十分必要的但现在是我们更进一步的时候了。现在我们需要研究的真正难题是团队内部和团队间的交流甚至更困难的问题是完全陈旧的思想。没有任何项目是孤岛软件不可能孤立地创建或者运行。FrederickBrooks在他的里程碑式的文章《没有银弹》Bro中提出:“软件产品处于应用、用户、规则和硬件②的合力之下。这些因素总是在不断变化迫使软件产品也随之改变。”①引自BobBinder基于CapersJones的研究成果。②也就是平台。软件是在头脑中创建的。Softwareiscreatedinyourhead第章绪论Brooks的言论把我们推向了社会漩涡的中心。考虑到社会中各个相关团体的复杂交互影响和社会的持续变化在我看来当前最重要的两项技能就是:沟通能力学习和思考能力。软件行业正在逐步提高沟通能力。特别是敏捷方法(见注解栏)强调了团队成员之间、最终客户和开发团队之间的沟通交流。类似《演说之禅:职场必知的幻灯片秘技》Rey这样的大众图书突然热卖表明越来越多的人意识到简单、有效的沟通非常重要。这是个好的开始。不过提高学习和思考能力要更难一些。程序员需要不断地学习不仅仅是学习新技术还包括应用的问题域、用户社区的奇思妙想、同事的古怪习惯、行业的八卦新闻和项目演进的重要特征我们必须学习学习再学习持续不断地学习然后把学习成果应用到解决日常遇到的一切新旧问题上。也许这些听起来都相当容易但学习能力、批判性的思考能力和创造力所有这些扩展思维的能力都取决于你自己。没有人教你这些东西你必再提“实用”须自己学习。我们往往错误地看待老师和学生的关系:不光是老师在教学生也要学。学习完全取决于你自己。我希望本书能够帮你获得又快又强的学习能力和更实用的思考能力。什么是敏捷方法“敏捷方法”这个词最早出现在年月的一次峰会上与会的个人都是软件开发行业领军人物他们创建了各种开发方法如极限编程、Scrum、Crystal当然也包括我们的注重实效的编程。敏捷方法在很多重要的方面都与传统的基于计划的方法不同最显著的就是摆脱了死板的规则丢弃了陈旧的日程表注重实时的反馈。我在本书中会经常提到敏捷方法因为很多敏捷思想和实践都是与良好的认知习惯相融合的。再提“实用”从最初的《程序员修炼之道:从小工到专家》HT到现在的Pragmatic系列图书你会注意到我们一直在冠以实用(pragmatic)这个词。实用主义第章绪论(pragmatism)的本质就是做对你有用的事情。在开始讨论之前请牢记:每个人都是不同的。虽然我引用的很多研究成果都已经被大部分人所沿用但也有一些还未广为使用。我会运用大量不同的材料既有通过对人脑的功能性核磁共振扫描证实的科学事实又有一般概念性理论既有荒诞故事也有“嘿Fred做了尝试这对他管用”的日常生活中的例子。在很多情况下尤其是在讨论大脑时根本的科学依据是未知的或不可知的。但你不必为此担心:如果某种方法是有效的那么它就是实用的我就会写入书中供你思考。我希望这些方法中的大多数对你都有用。不过总有些人与众不同你可能就是其中一员。这也没关系不要盲目地听从任何建议包括我的建议。你可以用开放的思维来阅读本书尝试执行一些建议再判断哪些对你有用。什么是湿件wet•ware|wet,we(e)r|词源:wetsoftware切忌随波逐流。Onlydeadfishgowiththeflow关注情境名词谐语。指人脑细胞或思维过程与计算机系统相对应。也就是说利用计算机模型类比人类的思维过程。随着不断成长和适应人们需要改变自己的习惯和方法。生命中没有什么是恒久不变的只有死鱼才随波逐流尝试改变自己。请把本书当作改变的开始。我将会分享在我的经历中发现的实用思想和方法剩下的就看你的了!关注情境万事万物都是相互联系的:自然界、社会系统、你内心的想法、计算机的逻辑所有事物构成了一个庞大的相互联系的现实世界。没有什么事物是孤立存在的一切都是系统和更大的情境的一部分。由于现实世界的相关性小的事物可能会有意想不到的巨大影响。这种不成比例的影响作用是非线性系统的标志也许你并未注意到现实世界毫无疑问是非线性的。当我们试图将某个事物单独挑出来时我们发现它与宇宙中的其他事物是息息相关的。第章绪论约翰·缪尔(美国作家)年《山间夏日》在本书中你会发现一些活动只有不起眼的差异看不出它们之间能有什么区别。比如冥想与大声说出你的想法或者在纸上写一句话与在计算机编辑器中输入这句话。抽象地讲这些事情应当是完全等价的。然而事实并非如此。这些活动使用了人脑中完全不同的思维路径这些思维路径深受人类思想和思考方式的影响。思想并没有与大脑或身体的其他部分切断它们相互间是密切相连的。这只是一个例子(在本书的后面章节将会讨论更多关于人脑的话题)但它有助于说明理解这些相互作用的系统的重要性。在《第五项修炼》Sen一书中PeterSenge推广了系统思维(systemsthinking)这个词语描述了另外一种观察世界的方法。在系统思维中人们试图将一个事物看作几个系统的连接点而不是一个独立的个体。例如你可能把一棵树看作一个单独、离散的对象立在地面。但事实上一棵树至少是两个主要系统的连接点:树叶和空气的处理循环与根和泥土的处一切都是互相关联的。Everythingisinterconnected所有人都关注这些技能理循环。树不是静止的也不是孤立的。更有趣的是几乎没有人只是系统的一个观察者不论你是否意识到很可能你就是这个系统的一部分①。将这句话写下来贴在你的墙上、书桌上、会议室里、白板上甚至任何你独立思考或与他人共同思考的地方。我们将会在本书后面讨论这个主题。所有人都关注这些技能在我构思如何写这本书的时候我发现很多不同领域的人都在谈论这些我感兴趣的话题。这些领域包括:MBA和高级管理人员的培训认知科学研究学习理论护理、卫生保健、航空以及其他行业瑜伽和冥想编程、抽象和问题解决①来源于Heisenberg的测不准原理更一般性的观察者效应(observereffect)认为人必须通过诀窍始终关注情境。第章绪论人工智能研究。当你从以上各个领域发现事物虽有不同的表象却有着相通之处这其实是一个信号。在如此众多的不同情境下却拥有类似的思想那么必然存在某些根本和重要的东西。瑜伽和冥想训练近来相当流行却似乎想不出有什么明确的原因。大约年月前后我曾经在飞机上看到杂志上的标题醒目地写着“公司提供瑜伽和冥想训练以减少不断增加的保健成本”。大公司以前从没有提供过类似活动但是医疗费用的急速增长迫使它们去寻找一切解决办法。很显然它们相信瑜伽和冥想的练习者会比普通人拥有更强健的体魄。在本书中我们更关心这些方法与认知相关的地方当然如果能获得全面健康那也是很不错的收获。我也注意到MBA和高级管理人员的很多教程都在提倡各种思考性的、创造性的、直觉性的技能这些东西都是当前已有的研究成果不过还没有普及到奋战在第一线的员工包括我们这些知识型工作者。改变系统来认识它。有些东西是基础的、各领域相通的。There’ssomethingfundamentalhere本书结构但是不要担心我会在本书中讨论这些话题非MBA也能享受这些成果。本书结构每一次美好的旅程都由一幅地图开始我们的地图就在本节。尽管本书的章节是按顺序依次排列的但这些章节却是相互关联的。毕竟一切事物都是相互联系的但是当你面对一本顺序写成的书时却不容易领悟到这个观点。你也许无法通过书中各章节中无数个“又见”的提示去体会到这种关联性。那么通过本节内容我希望你能稍微明白一些各主题之间的联系。请记住以下的主题就是本书的方向虽然讨论中我们还会说些别的话题。从新手到专家的历程在本书的第一部分我们将研究一下大脑为何如此运转一开始就引入一个流行的专业模型。技能获取领域的德雷福斯模型(Dreyfusmodel)是研究如何超越新手层次、如何不断精通技术的有效方法。我们将会探讨德雷福斯模型并特别关注成为一名专家的关键要素:应用你自己的实践经验、理解情境和利用直觉。第章绪论认识你的大脑当然在软件开发中最重要的工具就是你自己的大脑。我们将会讨论一些认知科学和神经系统科学的基本知识因为它们与软件开发人员的兴趣密切相关比如把人脑模型可以类比成双CPU、共享总线设计以及如何对你自己的大脑作“手术”。正确使用大脑一旦对大脑有了更深的认识我们将想方设法提高创造力和问题解决能力以及更有效地获取经验。我们还将探讨直觉从何而来。直觉是专家的基本特征事实上难以驾驭。你需要它依赖它但或许也莫名其妙地反对经常使用它。你可能总会怀疑自己或其他人的直觉错误地认为它是“非科学的”。我们将探讨如何转变这种思想给直觉更大的活动空间。调试你的大脑直觉是非常奇妙的技能当然直觉出错时除外。在人类思考中存在着许多“已知的缺陷”:个人认知偏见、时代及同代人的影响、固有的个性甚至是大本书结构脑底层的生物性缺陷。这些缺陷经常会误导人们做出错误的判断甚至走向灾难性的深渊。了解这些常见缺陷是消除其影响的第一步。积极学习既然我们对大脑的工作方式有了深入了解那么接着我们开始研究如何利用这个系统引入有关学习的话题。请注意这里我所说的学习具有广泛的含义不仅指对新的技术、程序设计语言之类的学习也包括对所在团队的变化、所开发软件的重要新功能等内容的学习。在当今时代我们必须不断地学习。但是我们绝大部分人并没有学习过如何去学习只是凭自我感觉。我将告诉你一些具体的技巧来帮助你改进学习能力。我们将探讨做计划的技能、思维导图、阅读技巧(SQR)以及教学和写作的认知重要性。拥有了这些技能后你将会更快、更容易地吸收新的信息获得更强的洞察力更好地融会贯通新的知识。积累经验第章绪论积累经验是学习和成长的关键实践出真知。但单纯的“实践”并不是成功的保证你需要从实践中学习其中的价值而一些常见障碍会让这个过程很艰难。但你也不要刻意地拼命实践过犹不及。我们将研究如何利用反馈、乐趣和失败来创造更有效的学习环境关注设定最后期限的危害并体会如何通过自我引导积累经验。控制注意力控制注意力是此次旅程的关键下一步。我将分享一些技巧帮助你管理需要学习和实践的大量知识、信息和见解。我们生活在信息丰富的时代而且日常工作很容易搞得你焦头烂额你没有机会推进自己的职业生涯。让我们共同解决这个问题加强你的注意力。我们将研究如何优化你当前的情境如何更好地处理烦人的打扰并看一看打扰为何有害。我们还将探讨为何需要分散一些注意力以便更好地聚焦于思维浸泡之中并以更积极的方式管理你的知识。超越专家本书结构最后我们将快速讨论一下为何改变自己比想象中的困难并且我会提供一个你可以立即付诸行动的建议。我将分享专家之上还有什么层次并告诉你如何达到。现在请坐下端起你的可口饮料让我们揭开本书的神秘面纱。实践单元在本书中我会设立一个“实践单元”可以让你加深印象并真正掌握所学内容。这部分会包括练习、实验或者培养习惯。我使用多选框标记这样当你完成一项后可以画个勾就像下面这样。认真思考一下你的项目的当前问题。你能指出它所涉及的不同系统吗?这些系统是在何处交互的?这些交互点是否与你当前的问题相关呢?找出情境中导致你的问题出现的三个因素。在你的显示器周围的某个地方贴上一个标签“关注情境”。关于插图你可能注意到本书中的插图并不像通常采用AdobeIllustrator或类似软件制作出来的精致图片那样这是我故意的。第章绪论从ForrestMMims的电子书到敏捷开发人员所钟爱的小纸片上的设计文档手绘插图具有独特的作用我们会在本书后面的内容中看到。致谢非常感谢EllieHunt向我介绍了德雷福斯模型以及相关的护理方面的知识帮助修改我不通顺的文字确保了本书的进度同时打理着我们的公司。编辑的工作通常非常艰苦且不讨好仅仅在前言中表示感谢远远不够。集编辑、母亲和管理者的角色于一身她展示了高超的技巧和极大的耐心。感谢在PragmaticWetware邮件列表中的朋友们及审阅人包括BertBates、DonGray、RonGreen、ShawnHartstock、DierkKoenig、NiclasNilsson、PaulOakes、JaredRichardson、LindaRising、JohannaRothman、JeremySydik、StephThompson以及所有分享过他们的想法、经验和文章的人们。这些经验的碰撞极其宝贵。特别感谢JuneKim对整本书的众多贡献他告诉了我许多研究线索和他本人学习与思考的经验并且他在本书孕育的各个阶段均做出了积极反馈。致谢同样要特别感谢PatriciaBenner博士她将德雷福斯模型引入到护理行业中感谢她的支持允许我引用她的研究成果还感谢她对学习能力研究的巨大热情。感谢BettyEdwards博士她是开展人脑半球研究的实际应用的急先锋感谢她的支持允许我引用她的研究成果。感谢SaraLynnEastler为本书做索引感谢KimWimpsett为本书校正单词和语法感谢StevePeter为本书做了精美排版。最后感谢你购买了本书并和我一起开始这个旅程。让我们的事业沿着正确的方向不断前进运用我们的经验和直觉创造适合学习的新环境。

用户评价(2)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/17

程序员的思维修炼_开发认知潜能的九堂课

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利