`

遇到问题为什么应该自己动手

 
阅读更多
1. 遇到问题寻找捷径为什么是很聪明的做法

      我们在生活中总是在不停地试图做最优经济决策,只不过很多时候我们为适应远古社会而进化的大脑未必适用于现代工业社会(《Mean Genes》,《进化心理学》,《How We Decide》),所以很多时候我们可以在超市为选择哪一卷卫生纸斟酌半天(《Predictably Irrational》),却在面对生活中重大抉择的时候轻易就随波逐流(《Paradox Of Choice》)。

      我们的很多决策依赖于情绪系统的输出(从进化时间上比较“旧”的大脑部分)(《How We Decide》,《Synaptic Self》),这部分大脑属于典型的经过了漫长进化时间所雕琢过的,决策机制严重适应远古社会的模块(《Mean Genes》),比如在物质贫乏的远古时期,不管什么时候遇到富含热量的食物是必吃无误的,所以我们的情绪大脑只要闻到美食是绝对不去克制诱惑的,长出脂肪又如何?有的是饥寒交迫的时候去燃烧这些脂肪。然而这条规则到了现代这个物质充裕的社会却成了灾难(去查一下美国的肥胖比例?),可谓成也萧何败萧何。这样的例子在《Mean Genes》中还有不少。

      我们在学习新东西,遇到困难的时候,为什么会放弃?因为我们下意识中会对所面临的困难以及成功后所得的收益作一个评估(经典的cost/return分析),这里特别重要的是对面临的困难的评估:我们都知道学习任何一门技能,一开始可能还兴趣浓厚,捋袖子上阵,过了一阵子便会遇到一个典型的分水岭,你会发现未知的东西比你想象得要多,困难重重,似乎一眼看过去没法确信什么时候才能掌握,甚至觉得有点Mission Impossible,当觉知到的困难到一定程度之后,我们的大脑便会想:既然很大可能最终失败,甚至看不到成功的可能,为什么要白费力气去学一通呢?还不如省省呢。这是一个聪明的经济决策,去权衡性价比应该是每个经济个体的原则。然而,这个决策笨就笨在,它把困难评估得过高了,因此决策的前提就弄错了。为什么这么说呢?现代社会很多新东西是知识密集型的,而不像我们祖先生活的远古社会可能绝大部分是体力活。对体力活的评估我们很在行,大约能知道困难有多大,需要耗时多久,有没有可能完成。然而对学习新知识的困难程度的评估,我们却很不在行,因为大部分知识都是需要等你掌握了之后才会“豁然开朗”、“柳暗花明的”,而在这之前你会觉得这东西太难了,完全没有头绪,摸不着门道,觉得山重水复疑无路,你会想“既然无路,就别去碰得满头是包了吧?何苦呢?”。

      有一个很不错的概念叫做“Unknown Unknown”,大意是如果你不知道一个东西的话,你也不会知道你自己不知道它。很多时候新知识就有这个特性——掌握了之后觉得很明白,掌握之前却觉得“不可能啊”、“这简直没有解嘛”。在这样的认知之下,你自然会高估前方的困难、风险和不确定性,因为你不知道什么样的知识才能解决你的困惑。然而事实上呢?只要智商没有根本的差别,别人的大脑能够掌握的知识,你的大脑也能掌握,你所感觉到的巨大困难只不过是因为Unknown Unknown,你所需要的只是耐心地踏遍这块知识版图,当你掌握了那些你该掌握的知识之后自然会柳暗花明。


2. 遇到问题寻找捷径为什么只是小聪明

      我们在遇到困难的时候会试图去寻找捷径,心里的想法大概是:既然我自己解决可能需要耗费极大的精力,甚至连最终能否解决都无法判断,那么为什么要冒风险花费大量的时间去尝试呢?还不如想想其他法子。比如绕过问题,或者将问题外包给别人。

      这很聪明,很经济:用最小的代价解决手头的问题。看上去是一个寻求经济上最优解的法子。

      不过到底是局部最优还是全局最优呢?

      “用最小的代价解决手头的问题”——这里的问题在于,难道我们计算收益的时候仅仅考虑是否解决了手头的问题吗?如果解决的过程中得到了其他的收益呢?

  

      为了解决一个技术问题,你踏遍互联网,翻了若干教程、网站、书籍,最终解决了这个问题的同时还知道了以后遇到类似的问题该到哪儿最快最有效地找到参考,你还知道了哪些网站是寻找这个领域最有价值信息的地方,你还知道了哪些书是领域内最经典的书,说不定你在到处乱撞的过程中还会遇到其他若干意想不到的收益。
   
      为了解决一个内存泄漏的bug,你学习了一堆底层知识、了解了一堆调试工具、学习了若干wikipedia页面,表面上看来,仅仅为了解决这一个小bug你的时间花销未免太大了点,然而关键就在于,它的收益远远不止于解决了这一个小bug,下次你遇到任何类似的bug的时候就能够哐当两下就解决之了。

      生活或工作中,很大程度上你遇到的每个问题都不是孤立的,既然你遇到了某问题,那么很大的可能性你以后还会遇到类似的问题。当然,这个说法的另一面是,也有一些问题是一锤子买卖,即以后不会遇到类似的问题,因此只求速解决。不过按照我的经验这样的问题实在太少了,此外,你觉得你真的能够分辨你面对的问题是否属于这类问题吗?底线是,就算是这样的问题,你自己动手解决也能培养学习能力和思考能力。如果你判断它是一锤子问题,外包给别人解决,那么你就永远没机会发现这个问题背后蕴藏着哪些知识,这就成了一个自我实现的预言。

      如果选择总是问别人的话,下次你还得继续问别人,每次直接问到问题的答案的同时意味着你永远都要靠别人的大脑来获得答案。

      困难的路越走越容易,容易的路越走越难。


分享到:
评论

相关推荐

    自己动手写Java虚拟机.pdf

    《自己动手写Java虚拟机》是一本深入解析Java虚拟机(JVM)工作原理的书籍。作者通过指导读者亲自动手构建一个简单的JVM,...通过动手实践,你可以更有效地解决实际开发中遇到的JVM相关问题,并提升自己的编程技能。

    自己动手写操作系统光盘文件源码

    此外,"说明.txt"文件很可能是对项目的一份详细说明,包括编译指南、运行步骤、可能遇到的问题以及解决方法。而".url"文件可能是一个链接,指向额外的资源或讨论论坛,供学习者交流和获取更多帮助。 总的来说,这个...

    自己动手写操作系统完全版.pdf

    本书《自己动手写操作系统完全版.pdf》是一本介绍如何从零开始编写操作系统的实践指南。它详细分析了操作系统的原理,并通过丰富的实例代码,一步步地引导读者使用C语言和汇编语言创建出一个具有操作系统基本功能的...

    自己动手写操作系统

    操作系统是计算机科学中的核心组成部分,它管理硬件资源,提供服务给应用...实践过程中,你可能会遇到各种问题,但解决问题的过程正是你成长的契机。记得,动手实践是学习的最佳方式,祝你在操作系统的世界里探索愉快!

    《自己动手写操作系统》源码(0币)

    《自己动手写操作系统》是一本深受程序员喜爱的书籍,它以实践为导向,引导读者深入了解操作系统的工作原理,并通过编写操作系统来学习相关知识。源码的提供为读者提供了宝贵的实践机会,帮助他们将理论与实践相结合...

    自己动手做大数据系统.azw3

    , 如果你有上述疑惑或遇到相似问题,《自己动手做大数据系统》正好比较适合你。《自己动手做大数据系统》从OpenStack云平台搭建、软件部署、需求开发实现到结果展示,以纵向角度讲解了生产性大数据项目上线的整个...

    自己动手写网络爬虫 配书光盘

    如果在使用此光盘中遇到什么问题,您可以通过以下方式与我们联系: 通信地址:北京盈智星科技发展有限公司 邮政编码:102208 联 系 人:罗刚 联系电话:010-81727660 电子邮件:luogang@gmail.com

    自己动手写操作系统源代码.rar

    这对于初学者来说是一个很好的起点,能够避免在构建过程中遇到的许多常见问题。 其次,`Tinix`很可能是一个简化版的操作系统核心,用于教学目的。它可能包含了引导加载器、内核、进程管理、内存管理、设备驱动等...

    "自己动手写操作系统"光盘

    这个压缩包可能包含了这本书的电子版、源代码示例以及其他相关资源,为读者提供了动手实践的平台。 操作系统(Operating System, OS)是管理计算机硬件与软件资源的系统软件,它是计算机系统的核心。其主要功能包括...

    自己动手写操作系统+源码+工具

    在本案例中,它可能详细解释了如何使用提供的资源,包括如何安装工具,如何编译和运行源代码,以及可能遇到的问题和解决方法。 4. **Tinix**:这个名字可能指的是一个小型的操作系统实例,或者是一个教学操作系统...

    自己动手写操作系统-第二篇

    在尝试使用U盘启动操作系统的过程中,遇到了软件兼容性和硬件限制的问题。例如,Windows 7在检测到非标准格式的U盘时可能会提示格式化,这是由于操作系统预期的是常见的文件系统格式。此外,缺乏对特定硬件(如软驱...

    自己动手写操作系统(含源代码).part2

    那么为什么我又写作了第二版呢?原因有几个方面。第一,虽然第一版未曾涉及的进程间通信、文件系统等内容在许多书中都有讲解,但阅读的时候还是感觉有语焉不详的通病,作者本人可能很清楚原委,但写得太简略,以...

    自己动手写操作系统(含源代码)

    《自己动手写操作系统》这本书,通过源代码的形式,为我们提供了一个亲自动手实践的机会,来理解操作系统的运作机制。 首先,我们要了解操作系统的基本概念。操作系统(Operating System,简称OS)是计算机系统中...

    自己动手写爬虫pdf 和源码

    《自己动手写网络爬虫》是一本面向Java程序员的实战指南,旨在帮助读者深入理解网络爬虫的原理和实现过程。这本书涵盖了从基础到高级的爬虫技术,适合初学者和有一定编程经验的人群。通过阅读PDF文档和分析提供的...

    解决电脑问题,自己动手更方便

    在本文中,我们将探讨如何解决电脑问题以及在Excel中进行高级操作。首先,我们来看如何恢复...在日常使用电脑时,遇到问题不要急于求助他人,尝试自己动手解决,往往你会发现很多问题其实并不复杂,自己就能轻松解决。

    自己动手写操作系统 书以及iso

    《自己动手写操作系统》是一本深受技术爱好者喜爱的书籍,旨在引导读者深入理解操作系统的原理与实现。这本书的独特之处在于,它鼓励读者通过实践来学习,从而真正掌握操作系统的精髓。"自己动手"这一标签恰好体现了...

    自己动手写操作系统(配书源码).rar

    操作系统是计算机科学的基础组成部分,它管理着计算机的硬件资源,为用户提供服务,使得软件开发者能够高效地...在实践中遇到问题时,要勇于探索,查阅相关资料,甚至参与开源社区的讨论,这都是提升技能的有效途径。

    自己动手制作linux:lfs最新中文版

    总的来说,《自己动手制作Linux:LFS最新中文版》是一份宝贵的资源,它不仅可以帮助用户深入理解Linux操作系统,还可以培养解决问题和独立开发系统的能力。对于那些寻求技术挑战、渴望自我提升或者希望创造独特Linux...

    自己动手DIY.zip

    压缩包内只有一个文件名为“自己动手DIY.doc”的文档,这通常是一个Word文档,可能包含了详细的步骤和解释。 在IT行业中,“DIY”(Do It Yourself)常常指的是用户自行解决技术问题或进行硬件组装、软件安装等。...

Global site tag (gtag.js) - Google Analytics