<audio id="audio" title="结束语 | 愿你能做一个真正“懂”的程序员" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/cd/d1/cd0fb2ce71e1d938ed8812bd8f3aaad1.mp3"></audio>

我常常讲一个比喻，这个比喻是说有一座塔，塔门口有两尊石狮子。

如果有人登塔，那么进塔之前他固然是会看到这个狮子的，往上走，正好到塔后，石狮子就没有了，于是这个人说“就我一楼之所见，没有狮子”；绕到前面，一看，石狮子好好地在那儿，于是这个人又说“于我所见，有狮子”。如此行至二楼，他又会说“没有狮子”，而后又否定说“真真切切是有狮子在的”。

对于旁人来说：只听这个人讲“有，或没有”狮子，会知道他在几楼吗？又或者说，就算知道这个人在几楼，又能知道他说“有，或没有”狮子，是综览事实之所见，还是未见事实全貌时的一时所言？你其实并不知道。

我们只是要么相信了对方所在的高度，要么认可了对方所言的真假。而大多数时候，我们其实无从判断：那个人说的是不是对的，又或者他说的，究竟是在几层楼上看见的石狮子。

每一层可见的狮子，都是相同的狮子；但每一次的所见，却不相同。同样是真理，在初学者和大师的口中说出来，尽管字面上都是一样的，但是却包含着不同高度的理解。所谓大师，也不过是先行者，只是他处在的楼层，决定了他看得见下面所有的层次上的真相，也辨得清每一层所见的石狮子的样子。

所以，所谓“懂”，其实说的不是一个结果，而是一个状态：知道自己所在之位置的，才是真的懂；知道自己所见之局限的，才是真的懂；知道自己所向之湮远的，才是真的懂。

## 要知道自己所在的位置

我写过《程序原本》，250多页的内容，然而到了《我的架构思想》中，就只留下了一句“程序是可被组织的元素”。

只有有了这一句话的铺垫，架构思想才成立，否则所谓思想就成了空立在文字之上的东西，是空洞贫乏的呓语了。正是这些年来的经历，让我找到了自己在“程序”这个事物中的位置，从而找到了我在“架构”这个事物中的基础；前者的位置，决定了后者的高度。

而《JavaScript核心原理解析》这门课程一直在做的，就是帮你找到这样的一个铺垫，它无非是一个起点，这个起点是你构建语言体系时，所铺下的第一块基石。倘若它能帮助你以此为基点先行一步，那么这就是这门课的价值所在，也是你与众不同的价值所在。

## 要知道自己所见的局限

在[第22讲](https://time.geekbang.org/column/article/185031)，也就是最后的一讲中，我写了9个NOTE，来指向此前在其它章节中所讲述的内容。我不知道你是否注意到了这一点，又是否理解这其中的用意。

其实每一个课程，乃至于每一篇文章，都是由更多的知识来组成的。你能读明白第22讲，是源自于前21讲的积累，并不是一蹴而就的。

然而读得明白第22讲，也并不是真的懂了。你要看得到前面的那些知识、那些细节，你还要把这些知识与细节归纳起来，形成结构，形成体系，形成一个简单的模型或概念。这些是你所见到的东西，而不再仅仅是我的讲述。你回忆得起来我的所述，只说明你的记性好；要构建得了自己的见识，才说明你开始懂了。

要有所见，但也不要固执于已见，那样就没有进步了。这个进步的过程，才是真的懂。所谓进步，不是否定别人，而是否定自己。

## 思考才是进步的本质

停下来，思考才是进步的本质！

这是李维先生十几年前同我说的。我把这句话写在了《大道至简》这本书的序里，也记在了我的思想中。因而我常常会停下来，不去急于得到结果，而是去看看我想要的是什么，期望的方向又是什么。我总觉得，这些往往是更重要的。

如果以“构建语言体系”作为目标，那么我很难向你描述那绝顶处的风光，我所能展示的，也仅仅是这个塔上某一层的所见而已。我仍前行不辍，仍然时有新思，我仍愿意将对于“石狮子”的每个点滴观察与你分享。风起了，起点越来越远，我回头望向石狮子的时候，它都渺远到几乎再也看不见了……但我知道，这意味着终点也就越来越近了。

“俯仰叹山低天小”，这句诗讲的便是登临山顶的快意。彼时彼处，汝可在否？！

谢谢你的收听，愿你能做一个真正“懂”的程序员。
