对心理学专业者来说，哪些编程语言是应该学习和掌握的？
一谈到编程，各大编程语言帮派很容易陷入无穷无尽的“鄙视链”（程序员的鄙视链是什么？ - 知乎；鄙视链现象普遍存在的深层原因是什么？ - 知乎）。鄙视链有百害而无一利，害的是对各种编程语言尚且理解不深的初学者，害的也是自己。 所以下面的回答尽量做到客观和全面（当然，受限于我的个人水平，一些方面可能涉及不到，还请大家补充）。 我会从每款软件或语言入手，尝试分析它们能被心理学研究者最大化利用的地方。而在这之前想先阐述一下学习编程或技术的几个基本原则。 学心理的人都知道，“人类的大脑只被开发了10%”是一个myth、一个错误的言论。然而，“Excel的功能只被大多数人使用了10%”却是一个相对的事实。学Excel的人其实也有一条“鄙视链”（转自“Excel之家ExcelHome”微信公众号）：搞笑的EXCEL水平等级划分,看看你是哪一级？。 Excel是心理学研究者的基础必备技能： “Excel的功能只被大多数人使用了10%”，“SPSS的功能只被大多数人使用了50%”，剩下的50%是SPSS的Syntax（语句）。 除了结构方程模型和其他更高级的多元统计，SPSS已经能满足心理学研究者大部分的统计需求了，而且具有操作简便、掌握容易的优点。但是，如果只是满足于菜单化的“点点点”操作，那么还不算真正掌握SPSS。 一个比较好的习惯是：保留原始数据，然后记录下每一步分析的syntax（可以在菜单里面点paste粘贴，熟练之后也可以自己写），再保存这个syntax文件。这样，无论是再做一遍分析，还是以后自己回过头来看当时做了什么分析，抑或是给别人看分析的流程，都是极方便的。每一次分析都只需打开原始数据和syntax文件，运行语句就OK了。这其实已经是所谓的“编程”，远比菜单操作高效和规范。 SPSS的优势主要有： R语言是比SPSS功能更强大的数据分析工具，也是比Excel功能更强大的数据可视化工具，还能满足其他的很多功能需求（比如网络爬虫、机器学习）。一般需要配上RStudio编辑器使用。 R的优势主要有： Mplus是众多的专门用于结构方程模型的统计软件里，相对优秀而高效的一款。 AMOS虽然是图形化界面操作，但是变量一多绝对会很麻烦，容易出错；LISREL输出的指标多一些，但是编程难度比较大，不容易掌握。而Mplus只需要一点点的编程，就可以灵活方便地实现大多数的多元统计，输出的指标也是足够研究者使用的，性价比非常高。 Python是目前很热门的语言，免费开源、代码简洁、开发高效，利用Python可以完成很多事情。不过Python 2.x 和 3.x 的各种差异还是挺让人无奈的。Python虽然也能做统计分析，但是R在统计方面似乎更友好一些。 对于心理学研究者而言，Python的可利用价值主要在： PsychoPy目前使用的人并不很多，它的特点主要有： MATLAB+PsychToolBox能实现非常灵活的实验编程，也能对数据进行预处理和输出（当然Python也行）。MATLAB本身也是非常优秀的科学软件，擅长对矩阵的操作和计算。 总结起来，MATLAB+PTB的搭配能满足的就是一项心理学实验从无到有的“一条龙”服务（从被试信息采集，到完成实验，再到数据预处理和输出；当然Python也行）。 基于MATLAB的EEG、fMRI等功能包也非常优秀（当然Python也有类似的功能）。 最基本和普及的实验软件，菜单操作，偶尔需要一点编程（也就是里面的inline，语法和VB相似）。虽然掌握起来更简单，但是软件不是免费的，可实现的功能也少一些，不够灵活。 总的来看，实验编程，学MATLAB或者Python的性价比更高一些。但对于心理学初学者而言，E-Prime还是有必要学习和掌握的，有利于在头脑里形成一套心理学实验流程框架的原型。 Excel是万事之基础。 统计：SPSS入门，R提升，Mplus可选。 实验：E-Prime入门，MATLAB或Python提升。 （这里只涉及了最基本的研究需要，如果你的研究有比较特殊的要求，当然就需要学习更专门化的、领域特殊的技能了）
感谢 @刘柯 的邀请。 这个问题特别好，感觉的出来，这是专业领域的人才能问出来的问题。 我特别喜欢这个问题下不少回答，很清晰的把软件列成了按照目的的排列。那我就也说一说自己的看法。难免会有重复，但是其实在这个问题下重复才是好事。我还记得Bruce and Young 在1986年的那篇“面孔加工模型”的开山论文中，其实并没有把当时所有最“新”的研究攘括。是因为这两位读的少还是懒惰了么？都不是。其实在他们2011年，发表模型25年的总结和回忆时，他们说起原因：因为在当时科研突破风起云涌时候，他们谨慎的选择那些常被重复，结果可信的成果。 而对于学习实验心理学、从事科学心理学科研的人而言，也要去找往往被重复的软件去学习：这些软件常被提起，可见其重要性和广泛接受度。 回到话题中，我觉得需要的软件其实不多。 第一，当属Matlab。如果通晓了它，那么实验、分析、制图都可以一并解决。俗话说的好：“Matlab除了生孩子，啥都能干。”事实上也是如此。 当然，Matlab的学习曲线还是陡峭的。倘若有C的经验倒是可以省时省力。对于初学者，倒是推荐两本教材: 2. 网络材料《Matlab for Psychologist》。需要一定的英文能力，但是学会了会事半功倍。  第二，当属SPSS。SPSS作为常用的统计软件，大家可能觉得简单的拖拽和勾选就可以了。那需要什么语言呢？其实SPSS的Syntax还是很好用的。用好了之后，可以运行一些复杂的统计运算。但是在这，我个人比较支持不用SPSS这个付费软件，而是使用JASP这一个免费替代软件。它基本可以替代SPSS的绝大多数功能，而且开源和免费。最大的优点，也是可以方便的运行贝叶斯因子分析。它的基底，其实正是我要说的R。  R。做统计的谁不知道R？通过R，你可以更轻松的做出比Matlab能做出的更好看的图。你也可以运算一些Matlab上需要亲自写代码的分析，还可以利用它优秀的社区，找到各种全新的分析方法。比如我之前回答中提到过的重复测量相关分析（repeated measures correlation）就可以用R轻松计算。  所以说，Matlab+R正是现在心理学工作者的必修课。