Brian Kernighan 撰写了许多关于编程、计算机和技术的畅销书。我的书架上就有几本 Kernighan 撰写或合著的书籍,包括 C 程序设计语言、 Unix:历史与回忆、 AWK 程序设计语言等。我最近又增加了一本 Kernighan 的书, 理解数字世界:关于计算机、互联网、隐私和安全,你需要知道的一切,第二版,由普林斯顿大学出版社于 2021 年出版。我最近有机会就他的最新著作采访了 Kernighan。
是什么促使您撰写 理解数字世界?
我在 1999 年秋季开始教授计算机科学课程“我们世界中的计算机”,但我一直没有找到我喜欢的书。大多数书都很肤浅;它们是那种有很多彩色图片但没有任何内容的书。我最终决定,“我唯一能得到我认为在实际技术信息和有趣的写作之间取得正确平衡的东西的方法,就是我自己写。”
可以说,这本书在某些方面是讲座内容的转录。因此,很多散文都源于此。
这门课的目标受众是非常非技术性的人群,但我们谈论的计算和通信是普遍存在的。它是世界的一部分。它正在改变我们的生活,因此一个受过教育的人——那将是我的班级学生或阅读您文章的人——他们需要了解这些东西。他们将来会就此做出决定,如果他们能在一定程度上理解技术是什么以及它的应用是什么的基础上做出这些决定,那就太好了。这就是我写这本书的原因。
您在写这本书时的流程是什么?
对于这次修订,这绝对是渐进式的。我相当仔细地浏览了整本书,然后说,“等一下,这已经过时了。这不再是真的了。”例如,我谈到了 CPU,但你现在真的不再考虑 CPU 了。它更像是有一个处理器,只是在它内部,它们可能有更多的结构。
对于编程语言方面的内容,我认真思考了人们如何才能最有效地学习编程。当我第一次教书时,那是 Visual BASIC。那些日子已经过去了,但当时真的非常棒。然后,我使用了 JavaScript,因为它可以在 Web 上使用。现在是 Python。
事实上,人们选修这门课的原因之一是因为它满足了一个名为定量推理的要求。他们去年将该名称更改为计算推理。我想,让我加入更多计算。这就是 Python 内容的起源。
我想谈谈机器学习。我根本不是这方面的专家;我所了解的大部分内容都是从别人那里学来的。但它显然是许多正在发生的事情的核心。它是非常棒的想法和严重的江湖骗术的结合——在书中,我试图从我作为一位感兴趣的业余爱好者的角度来解释这一点。
您在这本书的这一版中做出的主要更改有哪些?
像位和字节这样的基本知识仍然像以前一样工作,以及你如何表示信息,处理器如何工作,很多东西在这一点上都相当稳定。
但很多其他事情正在发生变化。我会说这些是社会性的东西。但在某种程度上,技术也在发生变化。例如,摩尔定律的平稳指数增长不再适用于处理器速度。它们不会变得更快。它们不是变得越来越快,而是变得越来越宽。你得到更多的处理器,这导致了一些有趣的问题。
无线技术正在发展。我查看了我写的关于手机的部分,我意识到它已经非常过时了。3G 正在逐渐消失,而 5G 正在变得越来越真实。我认为仍然存在相当多的炒作,但那是一个真正发展起来的东西。
然后,当然,还有社会方面。互联网上令人难以置信的进步、威胁和风险等等:隐私、政府和商业利益的监视,包含各种程度的复杂性。勒索软件就是其中的一种表现形式。
长期以来,我一直使用 JavaScript 作为一种编程语言来解释什么是编程。我决定这太狭隘了,可能有点偏离目标。所以我基本上添加了关于 Python 的等效材料。所以现在有一些关于 JavaScript 的内容,也有一些关于 Python 的内容。部分原因是 Python 是一种用于任何涉及数据科学的语言。
另一件事是,你现在可以在 Web 上使用 Python;你无需安装任何东西。在课堂上,我一直在使用 Google Colab,它基本上是伪装成 Jupyter Notebook。这非常有效,我很高兴添加了 Python 部分。
我增加了一章关于人工智能 (AI)/机器学习/自然语言处理的内容。其中一些是历史,一些是“基本思想是什么”,以及你可以用这些东西做什么。但是,你不能做什么,以及什么是有趣的问题,例如内在偏见,或者你正在输入你不知道的数字和属性,并且算法没有告诉你答案的含义。对人工智能持怀疑态度有很多空间。
[ 获取速查表: AI 词汇表 ]
我还考虑了很多关于隐私和安全的问题,有点像“自卫”之类的东西。你知道,提防社交网络。我读完了 丑陋的真相:Facebook 争夺统治地位之战内幕,这是一本关于 Facebook 和扎克伯格的书。这证实了我认为我从未使用 Facebook 是明智的。
所以这本书更多地介绍了你可能会使用的防御措施,例如建议使用 DuckDuckGo 而不是 Google,或者例如,使用 Tor。
更广泛地说,是技术的进步。例如,五六年前,笔记本电脑的磁盘有旋转机械,而现在它们有固态硬盘。这些具有不同的属性集。这并不深入,但这是一个有趣的变化。我已经提到了 CPU 中的多核和 5G。在书中,我还谈到了这些类型的技术变革以及社会变革。
读者应该从这本书中获得什么?
了解计算和通信以及它们的工作原理。并且不仅仅是肤浅的理解,而是更深一层,同时也提供一些关于如何管理你的数字生活的建议。因为我们所有人都在使用它。
我们已经讨论过,如果人们可以理解技术系统如何工作以及不同的事物可能如何工作。我试图强调的另一件事是权衡;你不会不劳而获。没有免费的午餐。例如,你从 Google、Facebook 等公司获得了这些美妙的免费服务。但你为此付出的代价是泄露了大量关于你自己的个人信息。这就是其中的权衡。
更技术性的权衡稍后会出现在密码学方面。如果你有强大的密码学,那将对坏人和好人都有帮助。如果你有弱密码学,那将伤害好人,但坏人无论如何都不会使用它。所以那是一种权衡。
从广义上讲,技术是一把双刃剑。在大多数情况下,它对我们有好处,但在很多时候,它并不好。你如何最大化好处并最小化不太好的方面?
理解数字世界:关于计算机、互联网、隐私和安全,你需要知道的一切,第二版,解释了计算机硬件、软件、网络和系统是如何工作的。它包含了足够的细节,无论你的技术背景如何,你都可以理解这些系统是如何工作的。书中还讨论了新技术带来的社会、政治和法律问题,因此你可以理解我们面临的难题,并理解为解决这些难题而必须做出的权衡。
理解数字世界:关于计算机、互联网、隐私和安全,你需要知道的一切,第二版,由普林斯顿大学出版社出版, 可在亚马逊购买 以及其他书店的精装本、平装本和电子书。
评论已关闭。