程序设计如何影响您的大脑:科学的三大真理

是真的:程序员与其他所有人的想法不同。

并不是说程序员通常比其他所有人更聪明,更逻辑或更理性。但是科学家们最近开始研究程序员的大脑,并得出了一些有趣的结论。

就像艺术性可以以各种方式塑造您的思想一样,计算机编程也可以影响您的大脑和思维方式-也许可以通过多种方式您可能没有想到。

1。编码可以塑造您的思维模型

您首先学习哪种编程语言有关系吗?是的!

这似乎有点不公平,不是吗?毕竟,我们大多数人都是在学校里第一次编程,因此我们不会选择哪种语言强加给我们。我从C开始。年龄比我大的人可能从FORTRAN,COBOL或BASIC开始。至于你们新人呢?您可能从Java或Python开始。

毫无疑问:编程语言的设计决定了您的想法。历史上最有影响力的计算机科学家之一埃德斯·迪杰斯特拉(Essger Dijkstra)在说道时就知道了这一点:

然后他继续说:

“使用COBOL会削弱大脑;因此,应将其教学视为刑事犯罪。"

并且:

“实际上,不可能向事先接触过BASIC的学生教授良好的编程方法:

哎呀。

从某种意义上说,所有编程语言都具有同等的能力,因为它们都是图灵完备的。但是从另一种意义上说,对一种语言的精通会导致另一种语言的毁灭。 Java程序员和Python程序员是两种不同的野兽,他们以两种完全不同的方式进行编码。

换句话说,您的第一种编程语言的范式和惯用法会影响甚至决定您如何看待数据结构,算法等等。

实际上,实际上,有可能采用匿名代码并仅根据处理任务的方式和代码的编写方式来确定谁编写了代码。任务越困难,就越容易“去匿名化"。

请参阅此代码样式学论文[不再可用]和此代码样式学讲稿:

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

在英语中,我们有一句谚语将其概括为一个易于理解的含义方式:“当您拥有的只是一把锤子时,一切看起来都像钉子。"同样,一旦您学会了如何以某种方式编程,就很容易以这种方式考虑所有问题。

所以选择编程语言时,要聪明并小心!

2。编程有助于增强大脑健康

人们经常说大脑就像一块肌肉,如果想要保持敏捷,就需要锻炼它。这是真的吗?如果是这样,编程是否算作精神锻炼,足以影响大脑健康?

1991年的一项元研究研究了“计算机编程对认知结果的影响",并发现具有计算机编程经验的学生

1999年的一项更大的研究发现并证实“智力上的参与活动有助于缓冲个人以防止[认知]下降",但也指出这是可能的认知能力下降可能导致较少参与智力活动。

2009年的一项更大研究得出了类似的结论,表明“在以后的几年中进行脑部刺激活动的人可以降低他们的风险。 (甚至延缓了阿尔茨海默氏病和其他类型的痴呆症的发作。)刺激大脑的活动包括阅读,写作,拼图,棋盘游戏和玩音乐。

最后,一家研究机构2013年ishish发现,实际上只有某些类型的心理参与才能使大脑更聪明,即涉及学习和智力困难的高需求认知活动。

当然,需要做更多的研究,但这是

此外,尽管所有这些研究都没有显示出从事智力活动能够使您变得更聪明或更能干,但他们确实表明,要求认知任务至少可以延长您当前的大脑健康并显着预防神经衰弱。

我们之前认为,开始学习如何编码永远不会太晚,而这些研究仅能巩固我们的地位。编程对您的心理健康有好处!

3。编码并非全是数学和逻辑

根据2014年的一项研究[PDF] [PDF],使用fMRI扫描来观察大脑活动,而程序员试图研究并理解代码片段,涉及大脑的五个不同区域在理解源代码中:

  • BA 6:中额回(注意力,语言,工作记忆)
  • BA 21:中颞回(语义记忆检索)
  • BA 44:下额回(工作记忆)
  • BA 47:下额回(语言,工作记忆)
  • 这意味着处理源代码主要使用通常与语言处理,记忆和注意力相关的大脑部分。

    通常与数学相关的大脑区域明显缺失和计算几乎没有记录,即使在理解涉及循环,条件,算术和其他算法操作的代码片段时也是如此

    当然,这项研究有些不完整,研究人员也承认:

  • 实验中的代码段是在20行代码和时间限制下进行的,这意味着它们并不足以真正挑战受试者。
  • 证据并不能说明编程语言就像外语,只是它们涉及大脑的相似区域。
  • 受试者自己没有编写任何代码,这可能比尝试理解现有代码可能涉及大脑的不同区域。
  • 但是,这是我们可以摆脱的:

    我们知道程序员会定期检查源代码,无论是自写代码还是其他代码。我们还知道,与从头开始编写新代码相比,程序员通常花费更多的时间来修复和重构代码。

    因此,这项研究并非没有意义。编程不仅是“左脑活动",甚至可能会争辩说,右脑程序员在这种意义上具有优势。

    学习如何成为更好的程序员

    编程技巧并不容易,但是如果您坚持练习,它们就会来。查看我们掌握任何编程语言的技巧,有关编程期刊的好处的文章,以及针对自学成才的编码人员的最喜欢的课程。如果您想尝试使用特定的编程语言,那么解决一个项目是个好主意。最后,我建议您观看针对程序员的TED演讲,其中包括各种技巧,思想,灵感,动机和历史,可能会对您有所帮助。 。

    标签: 编程 心理学