zoukankan      html  css  js  c++  java
  • 为什么写程序的时候可以坚持很久,但是学习数学就很难保持注意力?

    转载:https://www.zhihu.com/question/38588444/answer/77121848

    根据我自身和周围人的反馈,“写程序的时候可以坚持很久,但是学习数学就很难保持注意力”的情况的确存在,而且我认为,这种现象是可以被科学解释的。经过思考,我发现,可以从四个方面来解释这个有趣的现象:思考闽值、反馈机制、思路连贯性和有效思维长度。

    【1】思考闽值
    什么是思考闽值呢?就是启动或维持一件事情所需要动用的脑细胞数。
    写代码在【大部分时间】是不用动用太多脑细胞的,在确定了整个程序的框架(这需要费点脑细胞)后,大部分时间我们做的事无非是:写顺序语句、写循环语句、写条件判断。这些东西对一个经验丰富的程序员来说很轻松,加上很多代码本来就比较相似,所以并不需要集中太多的精力——
    一边看电影一边写代码都行。
    但学高等数学一样,做一道难题时,我们常常有让周围保持绝对安静的想法。因为它太费神了——每一个关键的解答步骤,都需要经过大量的思考来完成。当然了,也有人能做得很熟练,可是,既然都很熟练了,就该进入下一个章节了,有何必要再刷下去呢?
    如图所示。“思考闽值”之上代表的是“有效的思考”,而在闽值之下,则是“无效的思考”。

    对于同样的思考深度曲线,对于写程序来说,由于思考闽值低,所以在大部分时间,自身的思考是有效果的,对于学数学来说,由于思考闽值高,所以我们很多时间自己毫无进展。
    “有收获”是前行的鼓励师。在状态不好的时候,写程序尚有一战之力,而学数学则完全歇菜了。
    而人不可能总是状态好,所以学数学也就难以持续了。

    【2】反馈机制
    代码编辑器和编译器是程序员的福音。有了它们,你一边写代码,一边发现自己哪里代码写错了,运行一下,就知道代码的逻辑是否通顺——这个反馈是实时的。
    但学数学可没这样的编辑器。在你出答案前,没有人会警告你哪一步算错了。直到解完题目,对标准答案,你才会发现自己的错误——这个反馈是延时的。更何况,很多时候我们并没有答案(比如证明题),反馈都不一定有。学了半天,你都不知道自己掌握了多少。
    实践表明,及时的反馈能激励我们前行。这是写代码比学数学的优势所在。

    【3】思路连贯性
    如果有一段代码大概需要连续写十个小时才能完成,给你五天,每天两小时,你能完成吗?
    恐怕不能。因为写程序需要思路的连贯性。到了第二天,我可能要花上二十分钟来回顾第一天写了什么。到了第三天,我可能又要花上二十分钟来回顾第二天写了什么……把编程任务分割开,需要较高的边际成本。为什么程序员宁愿加班也不想把事情拖到第二天?因为它们想保持连贯思维的高效。
    如果有一系列数学证明大概需要你连续做十个小时才能完成,给你五天,每天两小时,你能完成吗?
    通常还是可以的。这不是说学数学的没有连贯性,而是它的连贯性没有那么强。而且,在两小时的高强度思考后,继续思考效率会明显降低,适当的休息反而会使大脑保持一个较好的学习状态中。

    【4】有效思维长度
    不知道你是否有这样的体会:
    ·辛辛苦苦写了一天代码,回顾一下,哇,居然写了那么多,好有成就感!
    ·辛辛苦苦学了一天数学,回顾一下,啊,只学了那么点东西,我怎么这么笨?
    为什么会有这种感觉呢?因为写程序和学数学的有效思维长度是不一样的。
    如下图所示:

    ·写程序的时候,虽然我们会遇到一个个“坑”,但是大部分“坑”都相对较小,不会浪费自己太多的时间。所以一天下来,完成的有效工作还是很多的;
    ·做数学的时候,我们也会遇到一个个“坑”,但很多时候,我们并不知道它们是“坑”,会一条路走到黑,才发现行不通,这就花费了我们较多的时间。所以一天下来,完成的有效工作相对较少。
    “有效思维长度”的长短,直接影响到我们的成就感,写程序容易积累有效思维长度,所以促使我们前行。而学数学容易长时间没有进步,所以容易让我们泄气。

    “有效思维长度”的长短,直接影响到我们的成就感,写程序容易积累有效思维长度,所以促使我们前行。而学数学容易长时间没有进步,所以容易让我们泄气。
    综上所述,写程序思考闽值低、反馈及时、比较需要思维连贯、“小成就”接连而至,所以容易让我们沉迷其中;学数学起步费劲、反馈较慢、对思维连贯性要求不那么高、又容易长时间一无所获,所以对大部分人来说,不容易沉迷进去。

  • 相关阅读:
    验证码破解 | Selenium模拟登陆12306
    验证码破解 | Selenium模拟登录知乎
    Numpy | 16 算术函数
    Numpy | 15 数学函数
    Numpy | 14 字符串函数
    Numpy | 13 位运算
    Numpy | 12 数组操作
    Numpy | 11 迭代数组
    Numpy | 10 广播(Broadcast)
    Numpy | 09 高级索引
  • 原文地址:https://www.cnblogs.com/RoyalGuardsTomCat/p/14694494.html
Copyright © 2011-2022 走看看