“我们并未意识到惯用语言结构的强大之处。甚至可以毫不夸张地说,惯用语言通过语义反应机制奴役了我们。而一门语言所展现出的结构,潜移默化地影响着我们,并自动映射至我们所生活的世界。” ——Alfred Korzybski(1930)

    计算机革命起源于一台机器,而编程语言就好比是那台机器。
    然而计算机并不只是机器而已,它们还是扩展思维的工具(就像乔布斯喜欢说的一句话:计算机是“思维的自行车”),也是一种与众不同的表达媒介。结果就是,工具已经越来越不像机器,而是越来越像思维的一部分。
    编程语言是用于创建应用程序的思维模式。语言本身可以从写作、绘画、雕塑、动画、电影制作等表达方式中获取灵感,而面向对象编程(Object-Oriented Programming, OOP)则是用计算机作为表达媒介的一种尝试。
    许多人并不了解面向对象编程的思想框架,他们在进行编程时会感到举步维艰。因此,本章会简要的介绍一些面向对象编程的基础概念。还有一些人在接触相关机制之前可能无法理解这些概念,在看不到代码的情况下就会迷失。如果你属于后者并且渴望尽早接触到具体的语言特性,你完全可以跳过这一章,这样做并不会影响你学习编程语言或者写代码。不过,之后你可以再回到这里补充相关知识,这样有助于你理解对象如此重要的原因,以及如何利用对象做程序设计。
    本章的内容假设你具有一定的编程基础,但不一定是 C 语言的经验。在全面学习本书之前,如果你需要补充一些基础的编程知识,可以在 On Java 8 网站下载多媒体课程 “Thinking in C” 来学习。