相信不少读者都是从 Windows 时代开始接触计算机的,或是从 Java、Python 之类的高级编程语言开始接触编程的。
在这个便利的时代,轻松双击程序图标就可以运行程序,让人们可以在不关注计算机内部操作的情况下,可以轻松编写程序。虽然很多开发者在学生时代上过程序相关的课程,但是不少人表示很多内容都早已还给了老师。
即使有了一定的编程能力,很多人在编写原创程序的时候,还是会遇到困难,了解程序的底层工作原理十分必要,即“机器语言程序被加载到内存,然后由 CPU 进行解释和执行,从而完成对计算机系统的控制和数据运算等任务”。通过理解程序的工作原理,才能真正掌握应用能力。
今天给大家介绍一本书,让你用最省时、最便利的办法,轻松了解程序的底层逻辑,它也是很多读者的老朋友了,最近这本书出了升级版,书中更新了很多内容,更加符合开发者对当下新技术的追求。
这是一本怎样的书?
准确地说,这不只是一本书,是一个系列书,全系列一共五本,涵盖程序员必知的计算机知识,从基础知识到进阶技能,它帮助数以万计在入门计算机时迷茫的技术人,所以,很多读者亲切地为这一系列取了个名字——日系“怎样”系列。
而《程序是怎样跑起来的》作为该系列中的一本,自 2015 年出版以来,以良好的口碑,受到读者的欢迎和认可。这本书中文版本销量即将突破 8 万册,上一版豆瓣评分 8.0。日文原版更是重印了 41 次。
豆瓣的读者这样评价这本书:
@SunSun:算是科普书,作者简明而通透地解说了软硬件如何支撑程序运作起来,相对于指导实践的书,这本阐明基础逻辑和原理的书起到了授之以渔的作用。
@咩哑:是很底层的基础知识,举的例子很容易理解。有的部分是学校从来没教过的,可以帮助理解一些程序编写时的规则,但可能是用不太到,也就忽略了。
@WitchInCabinet :计算机组成原理的简易入门书籍的感觉?以程序运行为骨干汇集了关于数据存储,代码编译和汇编,硬件控制及ai相关的知识。读第十章收获应该是最大的,作者放了不少汇编语言的片段并且进行了详细解释,稍微增加了我对汇编的一丢丢熟练度。然后就是伪随机数,作者给了公式解释了它的周期性,终于将我葱硬背的世界里拯救出来了。
扎实的内容,轻松的语言,作者可谓是非常懂读者,他用图文并茂的方式讲解了软硬件是如何支撑起程序运作的,没有复杂的术语叠加,你可以看作是“计算机组成原理”这门课程的图解版,帮助读者快速了解程序的本质,起到了授人以渔的作用。
另外,这本书可读性强,内容轻松易读,甚至有人评价此书为“蹲马桶就能看懂的编程读物”,快来让蹲马桶的时间变得有效率起来吧~
第 3 版新增哪些内容?
除了延续上一版的易懂、实用外,本书第 3 版还对书中的内容进行了更新,并补充了大量注释,让初学者更加易懂。第 3 版升级了书中用到的软件产品和开发工具,并在正文和注释中补充了大量内容。对于旧版中颇受好评的硬件相关章节,更新了 C 语言的样例代码。书末附录关于 C 语言的内容也升级至最新标准。第 12 章新增了 Python 机器学习的内容,让初学者能够轻松体验人工智能的乐趣。附录也增加了对 Python 语言的介绍。
我适合阅读这本书吗?
如果你是对计算机程序感兴趣的初、高中学生甚至是文科生,这本可以作为你打开程序世界的第一本读物;
如果你是正在大学被计算机原理困扰的大学生,这本书可以说会为你的程序生涯打下坚实的基础;如果你是初入职场的菜鸟程序员,每天被工作焦头烂额的围绕,那么不要停止学习,这本书可以助你了解计算机底层逻辑,实现入门到进阶。
如果你是中级程序员,那么这本书可以用来做查缺补漏之用;
如果你是高手程序员,这本书可以作为向家人科普计算机知识的教材。
本书正确使用方法
看过上一版的读者,对本书的章节设置应该不陌生,如果你是第一次阅读本书,那么一定要来了解一下作者在章节设置上花的“小心思”,章节设置符合读者习惯,不仅有理论,还设有实践、自我检测环节,让你精准掌握书中知识。
本书共分为 12 章,各章由“热身准备”“本章要点”和正文三个部分组成。对专业术语的解析放在了正文的脚注部分。有些章节还设置了“专栏”。另外,本书在末尾以附录的形式对 C 语言和 Python 的基本语法进行了解说, 刚开始学习编程的读者,务必阅读一下。热身准备:各章的开头会给出几个简单的问题,请各位读者一定挑战一下。这样,大家就可以带着问题来阅读正文了。
本章要点:这部分是对正文内容的高度总结。通过阅读这部分,可以确认本章内容和自己想了解的内容是否一致。
正文:在这部分中,作者以深入浅出的方式,从各章主题出发来讲解程序运行的原理。虽然正文中会出现 C 语言的代码和 Python 的代码,但其中做了大量的注释,即使没有相关知识的读者也能读懂。专栏“如果是你,你会怎样讲呢?” 在这部分中,作者会以问答的形式向完全没有编程经验的人讲解程序运行的原理。向别人讲解可以确认自己是否已经完全理解了这些知识。大家可以边读边思考自己该如何讲解。
作译者简介
作者:矢沢久雄
YAZAWA股份有限公司董事长兼总经理。GrapeCity信息技术集团顾问。电脑作家之友会会长。 曾在某大型电子公司从事过电脑生产,在Software House做过程序员,现主要从事软件开发工作。工作之余笔耕不辍,从电路到编程语言均有涉及。
代表作有《计算机是怎样跑起来的》《使用C语言学习程序设计的基础》《征服C++类和继承》等。自称软件艺人。
译者:周自恒
知名技术图书译者、编程和自然科学爱好者。初中时曾获信息学奥赛天津赛区一等奖,曾任某管理咨询公司战略技术总监。现在陪儿子Vita(B站@小学生Vita君)一起学习编程。
译作有《网络是怎样连接的》《图解密码技术》《30天自制操作系统》《有趣的二进制》《代码的未来》《家用游戏机简史》《图解CIO工作指南(第4版)》《大数据的冲击》《计算机世界大冒险》《物理是什么》等。精美实拍