第10章到第15章,解释黑客的工具(编程语言)和工作方法,这是黑客文化的基础核心。
> 编程语言解析
$ 一个操作所需的代码越多,就越难避免bug,也越难发现它们
$ 高级语言:使用更强大的命令开发程序,使程序更具可移植性
> 一百年后的编程语言
$ 基本运算符是一种语言能否长期存在的最重要因素。
(买房:地段,地段,地段!)
$ 公理越少越好。
~ 冗余的代码导致更多冗余的代码。
~ 内核最小、最干净的编程语言才会存在于进化的主干上。
(提高生活质量最有效的方法:定期扔东西)
$ 每一代人都在做上一代人觉得很浪费的事
$ 提高编程语言效率的正确做法:将语言的语义与实现分离
$ 一百年后的编程语言在理论上今天就能设计出来。
~ 如果今天真能设计出这样一种语言,很可能现在就适合编程,并且能够产生更好的结果
> 拒绝平庸
(“接地气”是贬义词)
$ Lisp没有得到广泛使用的原因是因为编程语言是一种习惯性思维,非常难改变
(人类天性变化的速度大大慢于计算机硬件变化的速度,所以编程语言的发展通常比CPU的发展落后)
$ 选择编程语言
一般应用程序 | 选择总体最强大、效率也在可接受范围内的编程 |
开发的程序必须与另一个程序紧密配合 | 选择后者的开发语言 |
只做一些很简单的事 | 选择比较靠近机器的底层语言 |
程序很短,只为特定场合一次性使用 | 根据目标问题,选择最强大函数库的语言 |
$ 唯一洞悉所有语言优劣的人必然是懂得最强大的那种语言的人
$ 在职位描述中大量使用IT词汇的公司不会构成威胁
~ 能构成威胁的对手(威胁程度从低到高)
· 要求应聘者具有Oracle数据库经验的公司
· 招聘C++或Java程序员的公司
· 招聘Perl或Python程序员的公司
· 招聘Lisp黑客的公司
> 书呆子的复仇
(在高科技行业,只有失败者采用“业界最佳实践”)
$ 糟糕经理的特点:对技术一无所知且对技术有强烈的个人观点
(时刻提醒自己,千万不要越俎代庖)
$ 选择不常用语言的缺点
~ 程序无法和其它语言写的程序协同工作
如果能控制整个系统,且有各组成部分的源码,就能自己解决兼容性问题
~ 找不到很多函数库
如果打算把开发的程序拿到市场上“卖”,说明规模够大,那么语言本身的编程能力比方便的函数库重要
~ 不容易雇到程序员
雇佣黑客,使用高级语言,可以减少对程序员的需求
$ Lisp本质是数学。数学是不会过时的。
$ 语言的编程能力越大,写出来的程序越短(独立的语法单位少)
$ 如果想在软件业获得成功,就使用最强大的语言,用它解决最难的问题,等待竞争对手的经理做出自甘平庸的选择
$ 程序的形式应该仅反映它所要解决的问题(功能应当决定形式)。
$ 代码中其它任何外加的形式都表明对问题的抽象还不够。
> 梦寐以求的编程语言
(一种好的编程语言,是让黑客可以随心所欲使用的语言)
$ 编程语言的最高境界:核心功能很少变化,函数库和开发环境等一直在发展。
$ 推广一种编程语言的方法:发展该语言早期的黑客用户。
~ 用该编程语言开发一个杀手级应用,让黑客使用。
~ 该语言有一个免费的好的实现。
~ 为该语言找到一个依附的流行系统
· 可以导致“无法以一种语言本身的优缺点评判该语言”
· 只有当一种语言是某个系统的脚步语言时,它才能真正成为编程语言
~ 一本介绍该语言的书
· 不能厚、文笔流畅、大量优秀范例、由O’Reilly出版发行
~ (有在线文档)
~ 语法简洁
~ 可编程性高
~ 适合写一次性程序(容易装备、想用就用)
~ 强大的函数库
· 优秀函数库的重要性将超过语言本身
~ 方便性能调优(配套的性能分析器等)
~ 长时间不断地推广
~ 持续不断的再设计
~ 对解决难题的可能性保持乐观,对当前解法的合理性保持怀疑
~ 精选用户
~ 单人完成设计(《人月神话》)。
(软件内部接口设计成垂直接口,层与层之间的接口完全由其中的一层控制。(感触不是非常深,求带))
> 设计与研究
$ 设计追求好,研究追求新
~ 交集:只有应用新的创意和理论,才会诞生超越前人的最佳设计;只有解决值得解决的难题(好的难题),才会诞生最佳研究。
$ 任何一个领域的最佳作品都不可能由对用户言听计从的人做出来
~ “用户需要的设计”不等于“用户要求的设计”
~ 用户不了解所有可能的选择,经常弄错自己真正想要的东西
~ 如果目标用户群体涵盖设计师本人,最有可能诞生优秀设计
$ 先设定目标用户,才能评判设计。
$ 评价一种语言的优劣,要看程序从无到有的那条完成路径是否漂亮
$ 任何时候,代码都必须能够运行
$ 画作永远没有完工的一天,只是不再画下去而已
$ 很难为低端用户设计出优秀产品(设计师没兴趣)
相关推荐
黑客与画家1
4.黑客与画家读后感 4.黑客与画家读后感 1. “建筑师决定做什么,工程师想出怎么做” 2. ”所以,在“计算机科学”的名下,数学家、物理学家、建筑师都不得不
内容简介:本书的第一部分(1-4 章)解释了黑客是如何成长的以及他们看待世界的一些观点;第二部分(5-9 章)解释了黑客怎样做出自己的成果,这些成果又是怎样对全
3. C 语言在黑客技术中的应用:包括 C 语言的基本语法、C 语言在黑客技术中的应用场景、C 语言在黑客攻击和防御中的角色等。 4. 黑客攻击的防御方法:包括网络安全策略、防火墙配置、入侵检测系统、加密技术等。 5. ...
DoS攻击的法律与道德:道德黑客与DoS攻击_(3).DoS攻击的法律框架与国际公约.docx DoS攻击的法律与道德:道德黑客与DoS攻击_(4).道德黑客的职业伦理与行为准则.docx DoS攻击的法律与道德:道德黑客与DoS攻击_(5...
黑客帝国html前端炫酷效果黑客帝国
清华大学出版,北京大学网络管理与安全课程--黑客与网络攻击技术
3D黑客帝国屏保.rar
根据提供的文件内容,这是一本关于Windows平台下黑客技术的书籍,其标题为《WINDOWS黑客技术揭秘与攻防 1 C语言篇》,并且重点在于C语言在Windows平台下的黑客编程应用。书籍内容详尽地介绍了多种黑客技术的编程方法...
黑客攻防入门与进阶 网盘
在这个"特效代码"的压缩包中,我们可以推测它可能包含了一些与JavaScript编程相关的特效代码示例或者工具,这可能是为了帮助开发者创建类似电影中的视觉效果。 JavaScript是一种广泛使用的脚本语言,主要应用于Web...
《黑客帝国3D屏幕保护》是专为电影《黑客帝国》的粉丝们精心打造的一款屏幕保护程序,它将电影中的经典视觉元素以3D动态的形式展现在用户的电脑屏幕上。这款屏幕保护程序以其酷炫的视觉效果和独特的互动体验成为了...
超酷的黑客帝国屏幕保护程序,看上去非常炫哦
【黑客代码雨】是一种模拟黑客攻击场景的视觉效果,通常在电影或游戏中见到,表现为大量字符、代码快速滚动,营造出神秘而紧张的氛围。在本压缩包“炫酷黑客代码雨.zip”中,包含了一个名为“黑客代码雨”的文件,...
标题《基于Python的网络黑客攻击技术分析研究与防范策略》和描述说明了本文是一篇关于网络黑客攻击技术的研究论文,重点研究了以Python语言为基础的网络攻击技术,并提出了相应的防范策略。内容涉及到黑客攻击的定义...
今天,我们要介绍的是一款特别的屏幕保护程序——《黑客帝国3D屏保程序》,它将深受影迷喜爱的电影元素与尖端的3D技术完美结合,为电脑用户带来既酷炫又充满科技感的屏幕保护体验。 《黑客帝国3D屏保程序》是一款...
Windows黑客技术揭秘与攻防2:Visual Basic篇》由浅入深地讲解黑客攻击和防范的具体方法和技巧,通过具体、形象的案例向读者展示多种攻防方法和攻防工具的使用。《Windows黑客技术揭秘与攻防2:Visual Basic篇》分为II...
北京邮电大学教授、博士生导师,灾备技术国家工程实验室主任 杨义先在ISC TALK中发表了《黑客行为精准预测》主题演讲。他表示,在红黑对抗基础上,预测黑客的行为。特别是在各种细分的情况下,如何对黑客的行为和...
"《C++ 黑客编程揭秘与防范》读书笔记模板.pptx" 本笔记模板主要介绍了 C++ 黑客编程揭秘与防范相关的知识,涵盖了 Windows 操作系统下的安全开发、进程管理、线程管理、注册表管理、网络编程、PE 结构、调试接口、...