对心理学专业者来说，哪些编程语言是应该学习和掌握的？
感谢 @刘柯 的邀请。 这个问题特别好，感觉的出来，这是专业领域的人才能问出来的问题。 我特别喜欢这个问题下不少回答，很清晰的把软件列成了按照目的的排列。那我就也说一说自己的看法。难免会有重复，但是其实在这个问题下重复才是好事。我还记得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正是现在心理学工作者的必修课。