编程语言的学习挑选
前世
以前发现自己有个规律,就是学的东西太杂的话,容易造成不精,搞的全部没学会。后来就是通俗的那套,术业有专攻,例如编程语言,选了 C++,就一直只想搞这个,其余的了解都不想了解。
学校的时候学过 ASP,JavaScript,VB 等毫无用处的语言,非 211 的二本开的课,你懂的。这些课都是为了应付考试,没有花太多力气去费心钻研。 用心学和用的(貌似大二的寒假开始)就只 C/C++ 了。
因为对自己的那个总结,所以学生时代逛 ChinaUnix 论坛时,某次跟 flw 等大牛们讨论是否应该多学几个语言,我自己基本不想多学别的语言,例如 flw 强烈推荐的文本处理利器 Perl。我是想等自己把 C++学精,把整个软件开发过程和编程思想搞熟透再碰别的语言。为此 flw 还鄙视我「把饭吃完才吃菜」吗?
今生
后来实习 1 年结束,同时毕业了。去了那家当时很兴奋现在爱恨交加很是纠结的公司,一呆就是 3 年。这是一家游戏公司(业内 Top5 的上市公司,开发模式却是作坊式的),做的是端游,所以以 C++ 和 Lua 来开发。这是工作需要,就由不得自己的喜好了,所以也没什么说的。
后来换项目,我的一个比较重要的任务里包含分析重要日志的部分,就刚好趁机挑选一门脚本语言来学。如是开始学 Perl。当时选 Perl,就是调研了下,看 Perl 社区的创造性强,Python 太严谨。两个语言的哲学,我比较喜欢 Perl 的。
随着岁月的流失,见识的增长,就不再是当初那样执着于一种语言了。C++ 和 Lua 主菜,Perl 辅助。顺便还了解了 AHK,写点 Windows 下小工具。
现在
由于种种原因,今天 5 月应朋友的邀请(刚好自己也想早日从老东家滚蛋——企业文化太虚假了)来了现在公司。说好让我来写 C++ 的。然后就莫名其妙的主菜换成了 Java,还有 PHP 和 AS。
一开始心理上没什么准备。本来就对 Java 没什么好感,突然不写 C++ 了,主语言变成 Java 了,嗐……
这种不爽可能更多的是一种惯性思维吧。工作三四了,快速学习使用一门语言的能力还是不缺的。我的不爽,更多的是担心未来几年会对 C++ 的知识遗忘掉一些,并且没有强力的进步,会被我的朋友们甩的远远的。另外现在轻量级游戏用 Java,对我以后可能会换互联网行业没有太多帮助,而且阻止了进步。
现在感觉稍好, Java 开发速度快,能很快应用设计模式,能些许提高研发的迭代速度。
Java 虽然开发快,但是还在学校里学生不建议编程入门就学这个。编程入门还是 C/C++ 比较好,多知道些底层的东西,指针等,以后如果学 Java 才能理解 Java 的哲学、JVM、GC那些,等等。
将来
想了解学习下 Ruby 和 Lisp。 Ruby 号称快速迭代利器,创业者的首选。 Lisp,现代很多语言的设计都借鉴了他,而且一直想挑一门 FP 语言学习下。《黑客与画家》里也很推荐 Lisp,所以很想学习下。