学计算机语言，是先一门语言学精通，还是学各种语言?
编程语言我接触到的一共三种：面向过程的(C)、面向对象的(C++ Java C#)、以及函数式(Haskell)。我自己对于前两者很熟悉，而在读博期间也现学现教了函数式语言的一个典范Haskell所以对其有些了解。 我的感受是，这三类需要每个接触一种以便于了解各种基础概念，然后选择一门面对对象的编程语言深入学习其特性即可。 之后你会发现无论什么编程语言你都能触类旁通了。 其实还有一类简化了的语言比如脚本语言，它们通常看上去很像编程语言，但会摄取一些通用性质从而大大简化编程难度。典型的是当年横行天下的PerL和其衍生品PHP，还有JavaScript，Phython等。他们因为舍去了一些语言的通用特性所以上手快、出活儿快，但也因此带来了局限性，比如大规模项目开发和维护难度很大。 所以我建议在粗浅了解了三类编程语言以后，还是深入了解其中一个编程语言，再回去学一个受欢迎的脚本语言即可。 最后，其实语言知识粗浅的入门拳脚功夫，真正的内功和魔法是基于这些语言之上的算法、数据结构、并发编程、设计模式和大型项目架构几个方面的相关知识。但因为这些覆盖面太广，需要根据自己的职业发展来有针对地深入学习。