五本关于编程的难忘书籍推荐
来源标题:Five memorable books about programming (2008)
一位开发者分享了几本对其思维方式产生影响的非主流编程书籍,包括 Michael Abrash 于1990年出版的《Zen of Assembly Language》。作者称该书剖析并延伸了他多年汇编编程中自学的技巧,尽管他使用6502而非8086,仍感觉这本书像是为自己而写。
以下正文由 AI 翻译自 Hacker News(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
技术本身不是目的,关键在于能把想法实现出来。
我读过一些经典之作——比如《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs)和《人工智能编程范式》(Paradigms of Artificial Intelligence Programming)——但我想重点介绍几本比较冷门、却对我思考方式产生过影响的书。
《汇编语言之禅》(Zen of Assembly Language) Michael Abrash,1990年
上世纪80年代,我大部分时间都在写8位机电脑游戏(感兴趣的话可以找来看看)。现在回想起来可能有点奇怪:考虑到当时那台运行频率不到2 MHz的8位6502处理器有多弱,我其实并不执着于性能优化。真要说的话,我反倒希望代码能小一点——这是用行编辑器写程序留下的副作用,况且那时候的程序还得靠人从杂志清单里一行行费劲敲进去。满屏的DATA 0AFF6CA900004021……想想都头疼。
就在我那段生活即将结束的时候,《汇编语言之禅》出现了。作者我从未听说过,但书里把我这些年单枪匹马搞汇编时自学到的技巧逐一拆解、解释并做了延伸。虽然Abrash关注的是8086而不是6502,但读起来就像这本书是专门为我写的。
这也是我印象中技术书出版时间最离谱的案例之一。这本书大部分内容讲的是针对8088和8086的细致优化,可它出版的时候,80486已经出现在高端台式机里了。
《科学Forth》(Scientific Forth) Julian Noble,1992年
《分形、可视化与J》(Fractals, Visualization, and J) Clifford Reiter,2000年
这两本书的主题完全不同。一本讲纯科学计算,另一本讲图像生成。书里附带的代码各自使用了一种截然不同、极其非主流的语言。
但这两本书遵循的是同一种总体思路,一种我希望更常见的写法。表面上看,两位作者写的是某种编程语言的入门书(所以书名里都有语言名字)。但实际上,更像是每位作者都在某个领域有深厚的专业积累,然后找到了一门能让他动手实验、写代码解决该领域问题的语言。因此书里没有生搬硬套的示例和玩具问题,而是严肃、有分量的程序,展示语言在实际使用中的样子。Noble博士演示了他如何用Forth做硬核的矩阵运算,当他意识到RPN记法并非在所有场合都理想时,还开发了一个从中缀表达式到Forth的转换器。Clifford Reiter则一头扎进图像处理算法,还时不时拐进一些更轻松的题目,比如“R/S分析、Hurst指数与太阳黑子”。
这两本书都是对通常那种“每月一学编程语言”教材的绝佳替代。遗憾的是,Julian Noble已于2007年去世。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。