如何学习一门新的编程语言
随着时间的推移,因不同项目需要而学习的编程语言种类会逐渐增多——就我个人而言,到目前为止使用过的语言就有十几种,包括C、C++、Octave/MATLAB、Maxima、R、Perl、Bash、Emacs Lisp、Tcl、Python、JavaScript、PHP、C#。这个时候人就会不由得闭塞起来:一方面觉得大脑似乎再也塞不进去新东西,另一方面则会一边执迷于已经熟悉的技术,一边鄙视他人使用的语言和工具。然而,这种疲了的状态与“苟日新,日日新”的原则相违背,亦不利于在面对新任务时理性而不受羁绊地选择最适当的技术。为此,我将个人的想法和体会总结如下,以克服这种“自满”和“浮躁”的情绪,不断学习新知。
在面对一门新的编程语言时,首先不能怕!一是不要怕有难度,二是不要怕新学的技术会加重自己大脑的负担。应当将自己清零,积极学习适合解决当前问题的语言。
在确定了编程语言后,便应着手搜索核心语法书籍、资料,以求学习和掌握语法的基本要素,tokens、statements、operators、expressions、functions等。这类书籍以简明和全面为好,比如O’Reilly出版的Nutshell一类的书籍。而对于像是《Programming Perl》这样有太多细节和方法性的书,因为不利于把握语法的全貌并加以实践,因此不适合初学。
在学习基本语法的过程中,推荐使用Markdown整理笔记,并随时编写和运行测试代码,以巩固和加深自己对于语法的理解。正所谓“纸上得来终觉浅,绝知此事要躬行”。之后,则可以用新学的语言来解决实际问题了。其间需要实现什么具体的功能,再回到书本中阅读相关章节或者在网上搜索样例代码即可。
依照上述方法,基本上花上六到八个小时就可以学会一门新的语言了。而且,随着掌握的语言越来越多,便会发现它们的共性与不同,学习效率也会因此得到进一步提升。