一直以来,我们都认可数学在编程学习中的重要性,虽然我们很多程序员对这个话题有不同的理解,不过学好编程就要有扎实的数学功底,这个观点大家可能殊途,但往往同归,对它并没有多大的异议。不过最近的MIT神经科学家在eLife期刊发表了一项新研究,则给出了不同的观点。
这个研究结论是:我们阅读学习代码的时候,并不会激活人类大脑涉及语言处理的区域,而是激活的是一个叫做多需求(multiple demand,MD)网络的分布式网络。而MD网络往往在人们处理诸如数学等问题上会被激活?
可能你觉得很正常,这不就是和数学有关嘛,怎么会没关系。不过别急,科学家进一步发现,它其实和数学没关系,而更依赖于MD网络的其他部分。换句话说,我们人类在理解计算机编程语言的时候,并不同于处理数学和逻辑关系,而是独立的。
这就有意思了吧。瞧,编程语言,还挺独一无二的。据了解,此次研究人员测试的编程语言主要有2个:一个是Python;另一个是在少儿编程较火的可视化编程语言ScratchJr。被测试对象都是精通编程语言的年轻人。在测试过程中,通过对受试者大脑进行检测扫描并分析,发现在代码阅读过程中,大脑的语言区域并没有反应,主要激活MD网络左右两部分,活动分布在大脑的额叶和顶叶。
而这个新发现是和以前的研究有出入的。而之前我们的认知是数学和逻辑问题似乎主要依赖于左脑的MD区域。阅读编程代码,和数学逻辑无关。相信计算机编程这些问题,还会一直在研究,也一直存在不同的观点。看起来似乎会让我们很多人松一口气,学编程和数学没那么大的关系吧。可能,并非如此吧。
毕竟,此次研究是在较少数据和实验中从一个侧面得出编程语言的阅读学习并不依赖于数学逻辑。虽然它的结论的确有信服度,给我们一些启发,不过机智客还是觉得,这个并不能成为我们在编程学习中忽略数学问题的借口。必要的数学知识还是要学的,而且即便从这个实验出发,它也只是在区区两种编程语言和部分编程代码中对若干个精通编程的年轻人测试,并没有涉及到学习编程中数学起到的作用,当然也没有涉及所有和数学有关的算法(尽管我们不知道所有实验细节),所以假如涉及到C/C++这些更底层的系统语言的编码或者跟踪初学者并研究,个人觉得这个过程势必和数学无法脱离。
领取专属 10元无门槛券
私享最新 技术干货