黑客与画家:硅谷创业之父Paul Graham文集 (阮一峰)

你选择什么语言,决定了你能说什么话。编程语言就是程序员的思维方式。

添加于 2016年4月26日星期二 下午8:37:48 您在位置 #311-312的标注

如果你喜欢思考,阅读此书应该会带给你很多乐趣。虽然黑客从外表看上去一般都是呆呆的,但是他们的大脑内部却是一个有趣得让你吃惊的地方。

添加于 2016年4月26日星期二 下午8:39:20 您在位置 #329-330的标注

黑客与画家的共同之处,在于他们都是创作者。与作曲家、建筑师、作家一样,黑客和画家都是试图创作出优秀的作品。他们本质上都不是在做研究,虽然在创作过程中,他们可能会发现一些新技术(那样当然更好)

添加于 2016年5月4日星期三 上午11:33:20 您在位置 #644-646的标注

当然,“做什么”和“怎么做”不应该分得太开。如果你决定做一件事,却不知道怎么做,你就是在自找麻烦

添加于 2016年5月4日星期三 上午11:34:59 您在位置 #655-656的标注

明白这一点对软件设计有重大影响。它意味着,编程语言首要的特性应该是允许动态扩展(malleable)。编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。它应该是一支铅笔,而不是一支钢笔。

添加于 2016年5月4日星期三 上午11:40:47 您在位置 #707-709的标注

黑客就像画家,工作起来是有心理周期的。有时候,你有了一个令人兴奋的新项目,你会愿意为它一天工作16个小时。等过了这一阵,你又会觉得百无聊赖,对所有事情都提不起兴趣。

添加于 2016年6月3日星期五 下午12:45:13 您在位置 #816-818的标注

关于面向对象编程优劣的争论并不像静态类型与动态类型之争那样壁垒分明,因为编程的时候你只能在静态类型和动态类型之中选一种。但是,面向对象编程只是程度不同的问题。事实上有两种程度的面向对象编程:某些语言允许你以这种风格编程,另一些语言则强迫你一定要这样编程。

添加于 2016年7月31日星期日 下午11:43:36 您在位置 #3154-3156的标注