为了帮助少数 hacker 或高智的新程序员更好地理解我正在写的语言,这里推荐几个学习资料。
之所以只有几个,是因为真知就那么多,其它都是些低智的人弄出来的糟粕。
Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold
- 经典书籍,但稍显过时
BUILD AN 8-BIT COMPUTER FROM SCRATCH
- 直观的现代视频,但解释得不如 Code
Learning to Read x86 Assembly Language - Pat Shaughnessy
- 汇编没必要深入,能读懂、了解怎么从编程语言到汇编再到机器语言即可
Instruction set architecture - Wikiwand
- 软件与硬件的桥接点
那么为什么要学习底层语言?
- 能够更彻底地理解源代码实际上会怎么运行。
- 避免被莫须有的东西误导,比如 Class,在底层根本没有对应的指令,本质上不过是一个构造 function,根本没必要单独弄出来,除了让编程变得更低智之外毫无用处。
为什么不学习更底层的知识?
- 没办法理解,到了电子乃至量子层面,即使最先进的科学也还在研究,甚至人脑可能永远无法完全理解。
- 没办法改变,软件再怎么写也不可能改变硬件,所以除非你开始做硬件,否则没必要学习比 ISA 还底层的东西。