第10章到第15章,解释黑客的工具(编程语言)和工作方法,这是黑客文化的基础核心。
> 编程语言解析
$ 一个操作所需的代码越多,就越难避免bug,也越难发现它们
$ 高级语言:使用更强大的命令开发程序,使程序更具可移植性
> 一百年后的编程语言
$ 基本运算符是一种语言能否长期存在的最重要因素。
(买房:地段,地段,地段!)
$ 公理越少越好。
~ 冗余的代码导致更多冗余的代码。
~ 内核最小、最干净的编程语言才会存在于进化的主干上。
(提高生活质量最有效的方法:定期扔东西)
$ 每一代人都在做上一代人觉得很浪费的事
$ 提高编程语言效率的正确做法:将语言的语义与实现分离
$ 一百年后的编程语言在理论上今天就能设计出来。
~ 如果今天真能设计出这样一种语言,很可能现在就适合编程,并且能够产生更好的结果
> 拒绝平庸
(“接地气”是贬义词)
$ Lisp没有得到广泛使用的原因是因为编程语言是一种习惯性思维,非常难改变
(人类天性变化的速度大大慢于计算机硬件变化的速度,所以编程语言的发展通常比CPU的发展落后)
$ 选择编程语言
一般应用程序 | 选择总体最强大、效率也在可接受范围内的编程 |
开发的程序必须与另一个程序紧密配合 | 选择后者的开发语言 |
只做一些很简单的事 | 选择比较靠近机器的底层语言 |
程序很短,只为特定场合一次性使用 | 根据目标问题,选择最强大函数库的语言 |
$ 唯一洞悉所有语言优劣的人必然是懂得最强大的那种语言的人
$ 在职位描述中大量使用IT词汇的公司不会构成威胁
~ 能构成威胁的对手(威胁程度从低到高)
· 要求应聘者具有Oracle数据库经验的公司
· 招聘C++或Java程序员的公司
· 招聘Perl或Python程序员的公司
· 招聘Lisp黑客的公司
> 书呆子的复仇
(在高科技行业,只有失败者采用“业界最佳实践”)
$ 糟糕经理的特点:对技术一无所知且对技术有强烈的个人观点
(时刻提醒自己,千万不要越俎代庖)
$ 选择不常用语言的缺点
~ 程序无法和其它语言写的程序协同工作
如果能控制整个系统,且有各组成部分的源码,就能自己解决兼容性问题
~ 找不到很多函数库
如果打算把开发的程序拿到市场上“卖”,说明规模够大,那么语言本身的编程能力比方便的函数库重要
~ 不容易雇到程序员
雇佣黑客,使用高级语言,可以减少对程序员的需求
$ Lisp本质是数学。数学是不会过时的。
$ 语言的编程能力越大,写出来的程序越短(独立的语法单位少)
$ 如果想在软件业获得成功,就使用最强大的语言,用它解决最难的问题,等待竞争对手的经理做出自甘平庸的选择
$ 程序的形式应该仅反映它所要解决的问题(功能应当决定形式)。
$ 代码中其它任何外加的形式都表明对问题的抽象还不够。
> 梦寐以求的编程语言
(一种好的编程语言,是让黑客可以随心所欲使用的语言)
$ 编程语言的最高境界:核心功能很少变化,函数库和开发环境等一直在发展。
$ 推广一种编程语言的方法:发展该语言早期的黑客用户。
~ 用该编程语言开发一个杀手级应用,让黑客使用。
~ 该语言有一个免费的好的实现。
~ 为该语言找到一个依附的流行系统
· 可以导致“无法以一种语言本身的优缺点评判该语言”
· 只有当一种语言是某个系统的脚步语言时,它才能真正成为编程语言
~ 一本介绍该语言的书
· 不能厚、文笔流畅、大量优秀范例、由O’Reilly出版发行
~ (有在线文档)
~ 语法简洁
~ 可编程性高
~ 适合写一次性程序(容易装备、想用就用)
~ 强大的函数库
· 优秀函数库的重要性将超过语言本身
~ 方便性能调优(配套的性能分析器等)
~ 长时间不断地推广
~ 持续不断的再设计
~ 对解决难题的可能性保持乐观,对当前解法的合理性保持怀疑
~ 精选用户
~ 单人完成设计(《人月神话》)。
(软件内部接口设计成垂直接口,层与层之间的接口完全由其中的一层控制。(感触不是非常深,求带))
> 设计与研究
$ 设计追求好,研究追求新
~ 交集:只有应用新的创意和理论,才会诞生超越前人的最佳设计;只有解决值得解决的难题(好的难题),才会诞生最佳研究。
$ 任何一个领域的最佳作品都不可能由对用户言听计从的人做出来
~ “用户需要的设计”不等于“用户要求的设计”
~ 用户不了解所有可能的选择,经常弄错自己真正想要的东西
~ 如果目标用户群体涵盖设计师本人,最有可能诞生优秀设计
$ 先设定目标用户,才能评判设计。
$ 评价一种语言的优劣,要看程序从无到有的那条完成路径是否漂亮
$ 任何时候,代码都必须能够运行
$ 画作永远没有完工的一天,只是不再画下去而已
$ 很难为低端用户设计出优秀产品(设计师没兴趣)
相关推荐
### 《黑客与画家》核心知识点解析 #### 一、书名解读:《黑客与画家》 《黑客与画家》这一书名本身就蕴含了丰富的意义。在这里,“黑客”并不是指那些非法入侵他人计算机系统的网络罪犯,而是指那些充满激情、极...
4.黑客与画家读后感 4.黑客与画家读后感 1. “建筑师决定做什么,工程师想出怎么做” 2. ”所以,在“计算机科学”的名下,数学家、物理学家、建筑师都不得不
《黑客与画家》是一本深入浅出的书籍,旨在让普通读者理解计算机时代的核心理念和黑客文化的内涵。作者通过自身的经历,揭示了黑客的成长过程、创新方式以及他们对世界的独特看法。书中的内容分为三个部分: 第一...
根据提供的文件信息,“黑客与画家”是一本IT领域的书籍,主要围绕着计算机编程、软件开发以及创新思维等主题展开讨论。...无论你是对技术感兴趣的初学者还是经验丰富的专业人士,《黑客与画家》都值得一读。
保罗•格雷厄姆,《黑客与画家》一书的作者,硅谷创业之父。1964年,出生于匹兹堡郊区的一个中产阶级家庭。父亲是设计核反应堆的物理学家,母亲在家照看他和他的妹妹。青少年时代,格雷厄姆就开始编程。但是,他还...
黑客与画家 富爸爸,穷爸爸 JavaScript高级程序设计(第3版) 彼得·林奇的成功投资 厚黑学 超越自卑 你不知道JavaScript(上卷) JavaScript语言精粹 2015: JavaScript权威指南 Web全栈工程师的自我修养 ECMAScript...
8. **个人成长与领导力**:《黑客与画家》(Paul Graham)和《技术领导之路》(Nicolaj Larsen)等,关注软件人的思维拓展和领导力培养。 9. **前沿技术**:可能会包含有关AI、大数据、云计算、区块链等领域的最新...
)事实上林纳斯也是不善于社交的,他把幼年的自己定位成书呆子(看完这本书和上周的《黑客与画家》我可丝毫不觉得书呆子是什么贬义词,有机会我也想成书呆子啊呵呵。)成天待在自己的小黑屋中摆弄着电脑,因此他母亲...
补充些内容: 《黑客与画家》、《编程珠玑》I和II、《台湾大学机器学习基石课程》&&《台湾大学机器学习技法课程》等update 2015/02/06这学期以来,可能每天 写论文/改论文 会占据大部分时间,导致有时候对写和读已经...
平日里读《黑客与画家》、《终极算法》,各位大神不断击垮我思维里的旧墙,带我领略墙外的新风景,自己备受鼓舞之后,心里不断冒出一个声音:做些什么吧,工作和生活都值得变得更好。我能想到自己完成第一份VB作业时...