程序员的思维修炼读书笔记(一)
来源:互联网 发布:db2数据库创建用户 编辑:程序博客网 时间:2024/05/01 10:10
制造问题的思维方式无法用来解决问题。
–爱因斯坦
德雷福斯技能获得模型
新手
新手在该技能领域经验很少或者根本没有经验。这里的经验是指,实施这项技术促进了思维的改变。
有些人声称拥有10年经验,但实际上只是一年的经验重复了九次。新手需要一份指令清单去做事。当“X发生时,执行Y;当A发生时,执行B……”。
高级新手
经历了新手的历练,开始变成高级新手。高级新手能够开始多多少少地摆脱固定的规则。他们可以独自尝试任务,但仍难以解决问题。
高级新手能够根据过去的经验,逐步在正确的情境中采纳建议,但比较吃力。同时,他们能开始形成一些总体原则,但不是“全貌”。他们没有全面的理解,而且的确不想有。当把一个更大的情境强加给高级新手,他们可能会认为该情境与那些原则不相关而忽略掉。
胜任者
能够建立问题域的概念模型,并有效地使用它们。他们可以独立解决自己遇到的问题,并开始考虑如何解决新的问题–那些他们之前没有遇到的问题。
胜任者会探寻和解决问题,他们的工作更多是基于谨慎的计划和过去的经验。如果没有更多的经验,在解决问题时,他们将难以确定关注哪些细节。还没有足够的能力反思和自我纠正。
精通者
需要有全局思维,他们将围绕这个技术,寻找并想了解更大的概念框架。他们能够纠正以往不好的工作表现。他们会反思以前是如何做的,并修改其做法,期望下一次表现得更好。
处于精通水平的人员知道什么地方有可能出错,或者更确切地说,什么地方非常有可能出错。他们具有经验和判断力,能够理解这句格言:在情境中意味着什么。
理解情境是成为专家的关键。
可以有效地运用设计模式。- 专家
凭直觉。
会痛苦地意识到,自己知道的有多少。
大多数人都是高级新手。
执行他们需要做的任务并根据需求学习新任务,但是从来没有对任务环境获取更广泛的、概念上的理解。
证据:从复制-粘贴式编程的兴起(把Google作为IDE的一部分),到设计模式的普遍误用。
有效地使用德雷福斯模型
积极实践需要四个条件:
- 需要一个明确定义的任务
- 任务需要有适当的难度 – 有挑战性但可行
- 任务环境可以提供大量反馈,便于采取行动
- 提供重复犯错和纠正错误的机会
通过观察和模仿来学习,没有实践就没有技能。
大脑的结构
双CPU模式:
- 1号CPU,负责线性、逻辑思维和语言处理。如果1号CPU没有处理任何其他的指令,它就只会生成一个语言的内部流,这就是你大脑中的那个微弱的声音。
- 2号CPU,像是大脑中的Google,把它想象成一个超级正则表达式的搜索引擎,负责处理搜索和模式匹配。当你“思考”其他事情时,它可以去寻找搜索,然后异步地返回结果集–可能是数天之后了。由于2号CPU不做任何语言处理,这意味着它的结果也不是言语可以表达的。
这两个CPU共享通往内存核心的总线,每次只有一个CPU可以访问内存。这意味着如果1号CPU占用总线,2号CPU则无法获取内存执行搜索。同样,如果2号CPU在进行一个高级优先的搜索,1号CPU也无法访问内存。它们互相干扰。
做个定义:我们把1号CPU的线性处理风格成为线性模式,简称L模式。把2号CPU的异步、综合处理风格成为富模式,简称R模式。
对于复杂的问题,R型搜索引擎不受你直接意识的控制。
tips:
你可能会认为脑子里的叙述声音受你的控制,是有意识的,是真的你。它不是。实际上,当这些词语在你的脑海中形成时,背后的想法已经存在多时了。而在用口说出这些词语之前,又经过了相当长的时间了。
从最初的想法到你明白它不仅有时间延迟,而且电脑中没有思想中心轨迹。各种想法层出不穷,互相竞争,不论何时,只有胜利者才会成为你的意识。
L型处理特点
L型处理令人感到、熟悉而轻松。L型提供以下九种能力。
- 语言能力
使用词语来命名、描述和定义。
分析能力
有理有节分析事情。
符号能力
用符号表示事物
抽象能力
抽取小部分信息(本质),并用其表示事物整体。
时间能力
遵时循序。
推理能力
基于理智和事实得到结论
数字能力
使用数字计数
逻辑能力
基于逻辑(定理、明确的论点)得出结论
线性思维能力
按照关联、依序推演问题和思考,经常会得出收敛性结论。
这种能力非常符合计算机系统。然而,毕加索说过一句话:
计算机一无是处,它们只能给你答案。
R型处理特点
- 非语言
- 非理性
- 综合
- 空间性
- 具体
- 直觉
- 分析
- 全面
- 非线性
R型是非语言的,它可以获取语言但是不能创建语言。它喜欢综合学习:集合事物形成整体。它总是如实地反应事物,从这一点来说,它非常具体实在,至少目前是。它使用类比来评价事物之间的关系。它喜欢听好听的,而且不愿意为守时而费心。它不受理性的约束,因为它不需要基于原因或已知事实来处理输入–因而,它完全愿意暂时不作任何判断。
R型绝对是注重整体的,总是希望一次就能看到实物整体,感知整体的模式结构。它具有空间性,喜欢弄清楚事物之前的空间关系,部分如何形成整体。重要的是,它是直觉性的、跳跃性的思维,通常基友不完整的模式、直觉、感觉或者视觉影像来做判断。
面对复杂的设计问题或者难以修改的bug,优秀的程序员通常都有冲动去编码和构建,由此可以从中学习。这就是R型的综合,而不是L型的分析。这就是为什么我们喜欢原型和独立的单元测试。它们给我们综合学习的机会–通过构建。
他不是在谈论汽车,他在谈论美学。
有吸引力的用户界面要比不具吸引力的界面更易于使用。
积极的情感对学习和创造性思维非常关键。处于“高兴”的状态可以拓展你的思维过程,激活更多的大脑物质。
美学可以改变这些,不论是用户界面、代码和注释布局,还是变量名的选择和桌面的整理,还是别的任何方面。
路易·康:
设计并不是创造美,美来自于选择、共鸣、同化和爱。
艺术并不是来自于创造本身,而是来自选择,从几乎无限的可选项中进行选择。
想成为一名更好的程序员吗?那就多编码,深思熟虑,专注实践。想学一门外语吗?那就投入进去,不停地说,用它思考。大脑会很快意识到并调整自己为这种新用途提供更多方便。
- 程序员的思维修炼读书笔记(一)
- 程序员的思维修炼读书笔记(二)
- 《程序员的思维修炼》读书笔记
- 《程序员的思维修炼》读书笔记
- 《程序员的思维修炼》读书笔记
- 《程序员的思维修炼》读书笔记(思维的重生)
- 《程序员思维修炼》读书笔记
- 读书笔记:《程序员修炼之道》《程序员的思维修炼》
- 《程序员的思维修炼》读书笔记以及感悟
- 程序员思维修炼读书笔记(三)
- 程序员的思维修炼-读书笔记-思维导图
- 程序员的思维修炼 开发认知潜能的九堂课 读书笔记
- 程序员的思维修炼
- 《程序员的思维修炼》
- 程序员的思维修炼
- 程序员的思维修炼
- 程序员的思维修炼
- 《程序员的思维修炼--开发认知潜能》读书笔记
- POJ
- SSM二级缓存ehcache
- 面试总结(一)
- 官网适配手机诀窍
- 基于fedora的.ks文件结构汇总
- 程序员的思维修炼读书笔记(一)
- HTML5-java-web基础-eclipse
- stm32学习笔记(七)定时器中断
- poj3252组合数学
- idea常用快捷键总结
- OGNL特殊符号的使用
- JVM学习笔记-03-常量池
- MATLAB小波去噪
- Unity实现图片的上传和下载