读《黑客与画家》

读完就觉得很喜欢,非常愿意把它推荐给身边的朋友,不管TA是否懂编程。

正文

全书共15章,章章之间并没有很强的逻辑关联。就挑一些自己印象深刻的写一写。

有关lisp

书中多次提到了lisp,并认为这是一门非常值得去学习的语言,虽然在工作中你可能很少使用到它。

Lisp is worth learning for the profound enlightment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.

特意在GitHub上搜了下,有关common lisp的项目并不多,而sbcl截止目前的star竟然1K都不到,这个诞生于1958年的古老语言已经退出主流语言的阵营。

lisp wiki 里,提到目前Lisp的两大主流方言是common lisp 和scheme,两者的语法有些不一样。

初学者容易懵,学哪个?有什么参考书籍推荐?Paul Graham在他自己的blog Lisp FAQ里面给了回复:

Which should I learn, Common Lisp or Scheme? What’s the difference?

Common Lisp is powerful but ugly. Scheme is small and clean, but the standard only defines the inner core of the language. If I had to deliver an application I’d probably use Common Lisp; if I were teaching a course I might use Scheme (but with Common Lisp macros).

同时也给出了学习common lisp的参考书籍:正是他本人操刀的那本《ansi common lisp》。

此外,Google有一个lisp-koan, 2K多star,用于练习common lisp。

如果你使用atom编辑器,练习lisp-koan时,推荐下载package: language-lisp,代码敲起来会舒服很多。

上面都是说common lisp,来看看scheme。

GitHub上找到的有关scheme的项目中,比较醒目的是思科的ChezScheme, 但它并不是纯粹的scheme,C的身影处处可见。

相比common lisp,你会发现scheme的语法看着更清爽,更舒服。

如果想了解scheme的话,强烈推荐Daniel P.Friedman和Matthias Felleisen的那本《The little schemer》,最新版本是第4版,呃,貌似应该不会有更新了。整本书写得非常通俗易懂,作者还会时不时的幽默下,对于我这样完全的Lisp小白来说,这种风格的书籍不要太友好啊。

有关hacker

我记得很久之前看过一个纪录片系列:《互联网时代》,里面采访了一些计算机界的大牛们,大多已经年老,看的时候会觉得这些人真的很伟大,像上古时代那些开疆拓土的英雄们,硬生生辟出了一个完全不一样的时代,撬动一个点,真的改变了整个世界。陡然生出一种脑残粉式的崇拜。

Raymond在How to become a Hacker上写了一系列很经典的文章,其中有一首Zen诗:

to follow the path
look to the master
follow the master
walk with the master
see through the master
become the master

可站在金字塔尖儿的master毕竟是少数,大部分是小花小草,不过小花小草也是可以仰望参天,努力成长的嘛。

牛逼也是时间积累出来的。

作者本人做为一名hacker,在书中并没有什么说教的内容,倒是实实在在的说了些自己知道的,特别是第三章-不能说的话,能把大实话这么说出来的,还真的挺需要勇气的,当然,这也许跟作者当时已经把Viaweb卖了有关,没卖之前他应该还是会有所顾忌吧。

很喜欢第三章的结尾处那段话,阮一峰老师翻译得也很好:

Everyone encourages you to grow up to the point where you can discount your own bad moods. Few encourages you to continue to the point where you can discount society’s bad moods.
小时候,每个人都会鼓励你不断成长,变成一个心智成熟,不再耍小孩子脾气的人。但是,没有人鼓励你继续成长,变成一个怀疑和抵制社会错误潮流的人。

变成一个怀疑和抵制社会错误潮流的人很难,毕竟,独立思考本身就不是一件轻松的事。

书中有些章节看得还挺鸡汤的,很客观很现实,比如下面这碗:

In our world, you sink or swim, and there are no excuses.
我们这个世界,你向下沉沦或者向上奋进都取决于你自己,不能把原因推给别人。

汤味浓郁,喝完很滋补。

后记

之前写读书笔记,我都会顺着章节一一总结,比如这本,常规整理思路会是这样:

本书一共xxx章,每章主要说了xxx。这一章xxxx最让我印象深刻。

最典型的例子就是之前整理《beyond feelings》。

这样的整理方式,唯一的好处大概就是帮助回忆,让人迅速对每一章的内容建起一个大致的轮廓,但是,这样整理下来后,满屏的文字读起来费劲不说,更让我在事后回看时,不知道重点在哪。

我开始反感这样的方式。

所以这次只记录读后的感觉,脑子里能回想起来的内容,其他略去。

这样想之后,写起来就顺了很多。

某种程度上,也算是一种变相的偷懒了。

Paul Graham在书中提过这么一句:如果你有两个选择,那就选择较难的那个。

但他也说了:并非所有的艰苦都是值得的。

所以,呃,或许,选择更适合的那一个也不错。

参考

lisp wiki

how to become a hacker

Paul Graham essays