《黑客与画家》读书笔记
2017-09-22 14:01
190 查看
“黑客伦理”(hacker ethic)
全身心投入
编程语言是用来帮助思考程序的,而不是用来表达已经想好的程序
如果不爱一件事,你不可能把它做得真正优秀
画家的作品都会保留下来,你观察这些作品,就能看出他们是怎么一步步通过实践学习作画的,黑客通过实践学习编程,这有事一个标志
坚持一丝不苟,那些看不见的细节累加起来就变得可见了
用户思维,换位思考
如果我们不可以研究当前的技术,不能思考如何改进它,那么我们怎样才能开发出新技术呢
兴趣
要求用户做得越多,你担的风险越大
致富,两样东西:可测量性和可放大性
大狗,游击队,竞争对手
在软件中能运用递归解决的问题通常代表已经找到了最佳解法
互相激励比天赋更重要
无论何时,选择进化的主干可能都是最佳方案
那些内核设计的最小、最干净的编程语言才会存在于进化的主干上
语言只是一种书写方法,而程序则是一种严格符合规则的描述,以书面形式记录计算机应该如何解决你的问题
很多数据结构存在的原因都与计算机的速度有关
每增加一个解释层,软件的运行速度就会慢一个数量级,但是,多余的软件层可以让编程灵活起来
事实上,我们的思想往往会受限于某种现有的语言,只采用在这种语言看起来更简单的形式,它对我们的思想的束缚作用会大得令人震惊
Lisp
编程语言不仅仅是技术,也是一种惯性思维,非常难于改变
人类天性的变化的速度大大慢于计算机硬件变化的速度,所以编程语言的发展通常比CPU慢一二十年
Lisp语言本质上不是一种技术,而是数学,数学是不会过时的
在面向对象编程的世界中,我们大量听到pattern,那些pattern就是现实中的因素,也就是人肉编辑器
编程语言不是数学定理,而是一种工具,为了便于使用,他们才被设计出来
一种语言必须是某一个流行的计算机系统的脚本语言才会变得流行,编程语言总是与他们依附的系统联系在一起
简洁,可编程性
编程语言的进步很大一部分与函数库有关,未来的函数库像语言内核一样精心设计,优秀函数库的重要性将超过语言本身
“最好的文字来自不停的修改”
这种语言干净简练,具有高层次的抽象和互动性,易装备,可用很少的代码解决常见问题
先做出原型,再逐步加工做出成品,这种方式有利于鼓舞士气
全身心投入
编程语言是用来帮助思考程序的,而不是用来表达已经想好的程序
如果不爱一件事,你不可能把它做得真正优秀
画家的作品都会保留下来,你观察这些作品,就能看出他们是怎么一步步通过实践学习作画的,黑客通过实践学习编程,这有事一个标志
坚持一丝不苟,那些看不见的细节累加起来就变得可见了
用户思维,换位思考
如果我们不可以研究当前的技术,不能思考如何改进它,那么我们怎样才能开发出新技术呢
兴趣
要求用户做得越多,你担的风险越大
致富,两样东西:可测量性和可放大性
大狗,游击队,竞争对手
在软件中能运用递归解决的问题通常代表已经找到了最佳解法
互相激励比天赋更重要
无论何时,选择进化的主干可能都是最佳方案
那些内核设计的最小、最干净的编程语言才会存在于进化的主干上
语言只是一种书写方法,而程序则是一种严格符合规则的描述,以书面形式记录计算机应该如何解决你的问题
很多数据结构存在的原因都与计算机的速度有关
每增加一个解释层,软件的运行速度就会慢一个数量级,但是,多余的软件层可以让编程灵活起来
事实上,我们的思想往往会受限于某种现有的语言,只采用在这种语言看起来更简单的形式,它对我们的思想的束缚作用会大得令人震惊
Lisp
编程语言不仅仅是技术,也是一种惯性思维,非常难于改变
人类天性的变化的速度大大慢于计算机硬件变化的速度,所以编程语言的发展通常比CPU慢一二十年
Lisp语言本质上不是一种技术,而是数学,数学是不会过时的
在面向对象编程的世界中,我们大量听到pattern,那些pattern就是现实中的因素,也就是人肉编辑器
编程语言不是数学定理,而是一种工具,为了便于使用,他们才被设计出来
一种语言必须是某一个流行的计算机系统的脚本语言才会变得流行,编程语言总是与他们依附的系统联系在一起
简洁,可编程性
编程语言的进步很大一部分与函数库有关,未来的函数库像语言内核一样精心设计,优秀函数库的重要性将超过语言本身
“最好的文字来自不停的修改”
这种语言干净简练,具有高层次的抽象和互动性,易装备,可用很少的代码解决常见问题
先做出原型,再逐步加工做出成品,这种方式有利于鼓舞士气