编程风格:程序设计与系统构建的艺术(原书第2版)

[美] 克里斯蒂娜·维代拉·洛佩斯
The Translator's Words 译者序 相同的故事,不同的叙述方法。作者以新颖的思路和崭新的视角,讲解程序设计的前世今生。针对“从一段文字中找出不同单词的词频”这一问题,作者通过40种不同的编程风格,以具体的代码案例展现了不同历史时代和不同约束条件(硬件技术、编程语言、编程思想等)下程序设计的特色。作者从一个独特的维度带领读者更具体、更全面地理解计算机技术的发展,以及相对应的编程思想的发展。 在过去几十年间,随着计算机技术的飞速发展,编程语言和编程技术日新月异,如从最初的汇编语言等低级编程语言到基于过程的语言、面向对象的语言等高级编程语言。每门语言都有强烈的时代印记,也都有与之相适应的编程风格(或规范)。 本书以当前主流的Python语言编写示例代码,通过一个个具体的代码案例来模拟不同时代、不同约束条件下的编程风格。与此同时,还介绍了相关编程风格的历史背景,以及在系统设计中的实际应用。 本书特别适合希望增加自己在计算机领域、程序设计领域知识面广度的读者阅读。希望本书可以帮助到大家。 张轲 2023年4月于杭州 Preface 前言 在本书第1版出版后的六年里,发生了两件事让我想更新这本书。第一件事是Python 3的广泛采用。第1版的所有代码都是基于Python 2的,而Python 2现在已经到达了生命周期终点。第2版将所有代码更新为Python 3。 而第二件事,也是更重要的是:自2014年以来,机器学习(更具体地说是神经网络)的发展令人眼花缭乱。在2018年,我认识到,我的职责和个人挑战是:以与我掌握所有其他概念完全相同的方式掌握神经网络中的基本编程概念——通过在神经网络中研究词频问题。这让我进入了该领域的迷人之旅,就像我过去一样,专注于通过通常不使用神经网络的问题(词频问题)来探索它。词频问题是一个明确定义的问题,我们知道它的确切逻辑。第2版包括…