如何成为一个优秀的程序员( 八 )

争论哪种语言能做的事情更多、功能更强是没有意义的 。 从理论上说 , 任何一种符合图灵机模型的编程语言 , 加上适当的I/O扩展都可以做任何事情 , 用 shell脚本也可以写出很像样的游戏来 。 只不过各种语言的设计目标不同 , 表达能力不同 , 做不同的事情所需的代码量不同而已 。

另外一种错误认识是:哪种语言的市场最大 , 开发人员最多 , 哪种语言就最好 。 单从这种意义上说 , Java的确比C更好 , 所以往届有学员问我们为什么只教C语 言 。 请你注意 , 操作系统内核是用C写的 , 各种底层的应用程序包括Java虚拟机也是用C写的 。 如果你想学Java , 在亚嵌的学习完成后你将有能力分析 Java虚拟机的实现 , 站在计算机系统的高度来学Java才会使你成为真正的Java高手 。 如果你只想速成 , 想早点学成一门技术去做拧螺丝的工作 , 那么亚 嵌不适合你 。

在FAQ3里说过 , 世界上有C和LISP两种编程语言 , 你现在学了C , 以后学了C++、Java、.NET等等 , 也仍然只认识了半个世界 。 LISP和 Haskell构成了另外半个世界 , 现在很常见的Python和JavaScript等解释型语言也借用了functional programming的思想 。 如果你只管闷着头写代码 , 而不去广泛涉猎 , 那么你将错过很多精彩 。

推荐阅读