Learn new programming language – another try

真正认真学过的程序设计语言有两个:C++和Perl。学习方式都很简单:读遍当时市面上能找到的名著,然后写代码。C++的书多是在学校里读的,当时全国上下掀起一片学习C++的热潮,我也没落下。只是书读得多,代码却写得少,很担心自己眼高手低,于是在做毕业设计的时候拼命实践书上的知识。幸好工作后的项目是用C++实现的,这么多年就这样实践着,只是读书的兴趣全无,反正也用不上。学习Perl应该是从2004年开始的,和学C++不同的是,这回是边看书边写程序,加上工作后读书的时间本就有限,所以到现在还有几本名著被打在冷宫,比如Perl Cookbook和Pro Perl Parsing。

其实,我很喜欢尝试学习新的程序设计语言,但是学习Ruby、Scheme、Javascript、以及Emacs Lisp都半途而废了,关键原因是无法做到学而时习之,书读得断断续续,程序也没机会写,时间拖得久了热情也就没了。

这一次又没忍住,成天看着“Lisp”、“Haskell”这些词儿在programming.reddit.com上蹦出来,甚向往之,几经权衡,还是选了Common Lisp。主要理由如下:

Practical Common Lisp已经读了6章,谈两点感受,

  1. 书写得很好,很好读,毕竟得过Productivity Award at the 16th Annual Jolt Product Excellence Awards
  2. 稍嫌罗嗦。:-)

也许这本书主要面向没有任何Lisp经验的人,某些理念对于没有接触过的人来说相当晦涩,因此需要反复解释。而我在读过《程序设计语言——实践之路》,甚至硬啃过Emacs Lisp Reference Manual的前半部分之后,已经掌握了基本的语法和概念,关键是不会用,不知道怎么写出一个程序来。幸好Practical Common Lisp有相当多的章节是程序实例,只是放在后面而已,暂时没有读到。期待中……

顺便说说我的学习方式。我属于三分钟热血的那种,兴致高的时候什么都想学,兴致没了也就不学了,真是“乘兴而来,兴尽而返”。所以我是很不喜欢学校的。说不好究竟是我这种方式浪费的时间多,还是在学校里学习浪费的时间多,但至少按照自己的方式学习,心情很好,不会觉得累。心情好,就愿意学更多的东西,知识相互关联的可能性也就越大,收获自然越多。

7 thoughts on “Learn new programming language – another try

  1. Emacs 本身不是有很棒的 online help 吗,可以查看函数还有变量等等的说明,再加上强大的 google,几乎就用不到手边的 manual 了。

  2. 我刚看到 19 章。之前学过点 Scheme。但是和它的简约纯粹不同(听说 R6RS 要复杂得多),Common Lisp 就是用来干活的语言,各种机制很完备。内容也比较多,学起来稍微有些头痛。
    第 19 章里提到的 condition 概念,就让我有点摸不着头脑。看上去象 exception,用起来却又不是那回事。只得提起键盘乖乖记笔记。

  3. 还请理解我爱书之切,恕不外借。

    豆瓣上也有人曾向我借……,看来好学之人还是不少的啊!这么好的书为什么没有出版社组织翻译一下,能出影印版就更好了。

  4. 我看过 Emacs Lisp Reference Manual 的前300页左右,我把它打印出来了,一共好像是不到1000页。这个手册讲的还是比较清楚比较好读的。
    我还看过 On Lisp 的开头几章,感觉比较难懂,很快就看不下去了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据