《Programming from the Ground Up》读后感
之所以看这本书,是想了解一些跟汇编相关的知识,打开这本书后就被作者的观点——“If you don't understand something the first time, reread it. If you still don't understand it, it is sometimes best to take it by faith and come back to it later(第一遍看不懂,那就看第二遍;还是看不懂,记住它,回头再看)”吸引了,从2024年6月30到2024年10月11日,期间断断续续的抽空阅读,大概花了11天读完。
这是一本关于通过汇编语言(AT&T语法)入门编程的书。总共十三个章节,介绍了计算机基本结构、汇编语言语法、常用指令、函数、文件操作、内存管理、优化等基本内容,虽然整本书只有300多页,但编程的各个方便也基本涵盖了,和《The C Programming Language》一类书一样,属于非常精简的书。
既然这是一本通过汇编语言入门编程的书,那么是否适合无基础的人作为编程的入门教材?
我的观点是:不那么适合。这本书出版于2004年,当初32位的电脑很普遍,所以里面的汇编代码使用的指令大部分适用于32位的电脑,而如今是2024年,大部分的电脑都是64位的,那么关于寄存器、指令的这两部分的内容,稍微显得有点过时——当然,这并不是说里面的内容没有意义,也不是说里面的代码无法运行。本书的作者为了解决这个问题,在2021年又写了一本书——《Learn to Program with Assembly : Foundational Learning for New Programmers》,介入时间关系,我还没有开始阅读,各位感兴趣的读者不放先从后面一本书读起。
这本书对自己有什么帮助?
看完了一本技术类书籍,不能看完了就完了。有什么收获?于我而言,有一下几点收获:
1.锻炼了英文阅读能力。这本书比较简短,所以阅读起来相对来说没有那么困难。同时尽量将范围局限在技术之内,没有过多的涉及国外的历史、人文等知识。不想有些书,不像某些书,每个章节的开始都引用一段其它书的内容——个人真的很不喜欢这种话风格,去掉了对阅读完全没有影响。
2.掌握了AT&T的汇编语法。
3.学习了一些优秀的思维方式。应该说,这是本书让我最满意的一点,作者的很多观点。本人觉得很有指导意义:(1)“If you don't understand something the first time, reread it. If you still don't understand it, it is sometimes best to take it by faith and come back to it later(第一遍看不懂,那就看第二遍;还是看不懂,记住它,回头再看)”。(2)Therefore, the time to optimize is toward the end of development, when you have determined that your correct code actually has performance problems(在开发即将结束时进行优化,因为这已经确定了代码的正确性,同时也确定了代码确实存在性能问题)。(3)As a programmer, you will need to be
prepared to be constantly learning and pushing your limits。
最后的最后,推荐一下郭晴霞老师的中译本《深入理解程序设计:使用Linux汇编语言》,看完英文版后,去看了下中文版,中文版翻译质量很高,不想看英文版的,可以直接看中文版。
参考资料
1. 编程
(1)Jonathan Bartlett,《Programming From The Ground Up》:https://book.douban.com/subject/1787855/
欢迎搜索及关注:编程人(a_codists)