程序设计如何影响大脑和思维



程序员的思想与其他人的思想确实是不同的。 并不是说它们必然比其他方法更聪明,更逻辑或更理性。 然而,不久前,科学家开始研究编程对大脑的影响,并得出有趣的结论。

就像美术课可以以不同的方式改变您的思维一样,编程也会影响您的思维方式-可能不会以您期望的方式来影响。

1.编程会影响您的认知方式。


在该行业中您以哪种编程语言开始您的职业是否重要? 是的
听起来不诚实,对吧? 不管喜欢与否,我们大多数人回到学校后就开始熟悉编程,并且第一语言被强加给我们。 我从C开始。年龄比我大的人从FORTRAN,COBOL或BASIC开始。 和那些年轻? 您可能从Java或Python开始。

毫无疑问,编程语言的结构会影响思维方式。 Edsger Dijkstra是计算机科学领域最有影响力的科学家之一, 他在谈到这一点时就知道

我们使用的工具会对我们的思维习惯,进而对我们的思维能力产生深远(和深远)的影响。

然后他说:

COBOL弄乱了思想; 他的教导应被视为刑事犯罪。

并且:

几乎不可能教那些学习过BASIC的学生进行良好的编程:作为潜在的程序员,他们是智障人士,没有康复的希望。

哎呀

从某种意义上说,所有编程语言都是平等的,因为它们是图灵完整的 。 另一方面,掌握一种语言会导致另一种问题。 Java和Python程序员是两种不同类型的专家,他们有非常不同的编程方法。

换句话说,您的第一门编程语言的范式和习惯用法会影响甚至决定您对数据结构,算法等的思维方式。

此外,您可以采用匿名代码并确定谁编写了该代码,仅依靠选择的解决问题的方法和编写代码的方式即可。 任务越困难,对代码进行“去匿名”就越容易。

注意对代码样式的研究以及有关相同问题讲座的笔录:

程序员可以混淆变量或函数名称,但不能混淆他们下意识喜欢使用的结构,或者他们喜欢的增量运算符。

用英语来说,有一句谚语将以上所有内容概括为一个易于理解的短语:“ 当您只有一把锤子时,一切看起来都像钉子 。” 也就是说,以某种方式学习编程之后,您在解决所有问题上的方法将相似。

因此,明智地选择您的编程语言!

2.编程有助于改善大脑健康


通常将大脑与需要不断训练以保持精明的肌肉进行比较。 是这样吗 如果可以,编程是否可以视为足以增强大脑健康的智力锻炼?

1991年的荟萃研究的作者希望找出“计算机程序设计对认知结果的影响”,并发现具有程序设计经验的学生在测试认知能力时比没有编程经验的学生获得16%的得分。

1999年的一项更大的研究证实“智力活动可以防止[认知]能力的下降”。 但是作者还指出,也许认知能力的下降可能导致对智力活动的参与减少。

2009年进行的一项更大研究的作者得出了相同的结论,并提出“在未来几年中参与脑部刺激活动的人们可能会降低阿尔茨海默氏病和其他类型痴呆症的发生率,甚至延缓其发作”。 刺激大脑的活动包括阅读,写作,拼图,棋盘游戏和玩音乐。

最后,在2013年发表的一项研究中 ,据说只有严格定义的心理活动类型才能真正改善我们的大脑,即强烈的认知活动,这种活动在智力上是困难的,需要学习一些东西。



当然,这个主题需要更多的研究,但是仍然很难想象这样的智力活动,与编程相比,这种精神活动需要更多的精力并且更加专注于学习。

尽管以上所有研究都没有证明智力活动使我们变得更聪明或更能力,但结果表明,困难的认知任务至少可以改善大脑的当前状态并显着降低退化的可能性。
有一种观点认为,学习编程永远不会太晚,并且所描述的研究仅证实了这一观点。 编程好!

3.编程不仅仅是具有逻辑的数学


2014年的一项研究中,功能性大脑MRI检查了试图理解和制定代码片段的程序员的大脑活动。 事实证明,在研究源代码时,涉及大脑的五个区域:
  • BA 6:中额回(注意力,语言,工作记忆)
  • BA 21:中颞回(语义记忆搜索)
  • BA 40:下顶叶(工作记忆)
  • BA 44:下额回(工作记忆)
  • BA 47:下额回(舌,工作记忆)

也就是说,在使用源代码时,通常涉及大脑中通常与语言处理,记忆和注意力相关的那些部分。



请注意,在这种情况下,几乎不涉及与数学和计算有关的大脑部分-即使在使用循环,条件和算术计算以及其他算法运算来分析片段时也是如此。

当然,这项研究并不全面,其作者指出

  • 实验使用少于20行的代码片段,并且使用它们的时间有限,也就是说,对于受试者而言,这段代码并不是特别困难。
  • 研究结果并不表明编程语言类似于外语,而仅涉及大脑同一部分的参与。
  • 受试者没有编写代码,并且与分析现有代码时相比,同时可能涉及大脑的其他区域。

但是这里需要注意的是。 我们知道程序员会定期分析自己或他人编写的源代码。 我们还知道,与从头编写新代码相比,程序员通常花费更多的时间来修复和重构现有代码。

因此,这项研究根本没有意义。 编程不仅是“大脑左半球的活动”,甚至可以假设“右半球”程序员具有一定的优势。

Source: https://habr.com/ru/post/zh-CN411307/


All Articles