我们将显性架构的组件称为编辑器。最开始,习惯于传统架构的计算机科学家要愉悦地接受这个概念可能有点困难。
显性编程与当前人们熟悉的编程最大的区别在于,显性程序员不需要一次又一次查看相同的源代码格式。
目前,特定编程语言的所有代码看起来都很相似,不断地反复出现IF、THEN、REPEAT或任何特定的字词和符号。
在显性系统中,不同程序、同一程序的不同方面都会有不同的、特定的用户体验。
你在显性编程期间感知和操作的这些设计就叫作编辑器,它看起来像是计算机屏幕上的图像,或是虚拟世界中的虚拟物体。
编辑器还是用户界面体验和比特模式之间的映射。
如果你要编辑正在运行的程序的比特,这意味着你所用的编辑器必须能够解读和显示比特,以便你了解如何进行更改。可能会有不同的方式能做到这一点。不同的编辑器可以指向同一比特模式、同一程序,并以不同的方式呈现给程序员。
由于显性编程是基于人类体验和比特之间的映射的,程序员不需要专注于特定的抽象。一个编辑器可能会以迷宫的形式展示运行程序的比特串,另一个编辑器可能会让映射的同一比特串看起来像是家族树。
每个基于源代码的传统编程语言都不可避免地与其抽象有关,比如Fortran的功能、LISP的列表或是Smalltalk的对象。这些都是我学编程时的例子。你不需要知道它们具体是什么,你需要了解的是,这些概念都将计算机内部跳动的比特与人类意图相连接。每一种概念都是在某些情况下好用,在其他情况下又不好用。
显性编程在不同时间支持同一工具内的不同概念,通过混合和匹配抽象概念来迎合当下的需要。