在很久很久以前,有一个原始人狩猎归来,正坐在苹果树下歇息,突然一只苹果掉了下来,砸在了他的头上……
他揉了揉后脑勺,然后就捡起苹果开始吃。吃着吃着,他无意间抬头向上看了一眼,发现树上还挂着许多苹果……他突然想到一个问题:“苹果为什么会掉下来?”
这个问题困扰了他许久,每有闲时他都会不由自主地思考这个问题。有一次,他甚至爬到树上去,把身上所有的东西都验证了一遍,并发现它们都会掉下去。只有他戴的羽毛帽子,会在空中盘旋好一会,才缓缓落到地上。一定有什么,地面下一定有什么东西,吸引着万事万物……等等!如果是这样的话,也许……明天我再去试试看!
可惜上天没有再给他机会,在第二天的狩猎中,他不幸被老虎重伤,很快就因伤口感染而不治身亡。族长指挥着大家,把他埋在了他经常去的那颗苹果树下。他的儿子正坐在树下哭泣时,一颗苹果掉了下来,砸在了他的头上……
文字的意义
许多年过去了,“苹果为什么会掉下来?”这个问题可能被提出了无数次,但都没人能找出答案。古代人的寿命太短了(直到公元1000年,人类的平均寿命才超过30岁),根本不足以把这个问题想清楚。而在文字发明之前,那些已经进行了一半的思考进度无法保存下来,所有人都只能从零开始……
这好比让你玩一个大型游戏,但每天只能玩5分钟,而且不允许存盘。那这个游戏是永远也通不了关的,对吗?
文字的发明,是人类文明崛起的决定性因素。因为我们可以用文字将思考的结果保存下来,并通过学习前人留下的文字,延续他们留下的思考,这使深入思考一个问题并最终得出结论成为可能。
公元1666年,又有一个年轻人在苹果树下被苹果砸中,他再一次思考了“苹果为什么会掉下来?”的问题。幸运的是,他已经学过了伽利略留下的物理学,有兴趣也有足够的时间来研究这个问题,最终他成功地发现了万有引力……我们都知道,他叫牛顿。
文字还从时间和空间上,解除了对信息的传播的限制。在此之前,一个人只能向同一时间和他身处同一地点的人进行信息传播。想要大面积广播信息,只能靠口口相传。不仅部分原始信息会在传播的过程中丢失,传播者还会有意或无意地加入一些主观创造的部分……恩,神话、传说就是这么来的。
笛卡尔说过“我思,故我在”,而我觉得应该是“我写,故我在”,因为若他不写,也没有人为他而写,那今天没有人会记得他的存在。文字为我们的存在,提供了证明。
作者的无奈
写作和演讲一样,是一种沟通的方式,其目的是向读者传递作者的思想。然而与演讲不同的是,作者在写作时无法和读者进行实时互动,得不到实时的反馈。写作的整个过程,就像对着一块魔术玻璃进行表演,不知道谁在看,有没有人在看,不知道自己演得怎么样,哪里需要做调整,却不得不继续演下去……那种感觉真是糟透了。
我们写作时往往是在记录主观上的感受,而不是客观上的存在。面对同一个客观存在,由于每个人的认知结构不一样,将会产生不同的主观感受。然而作者在进行写作时,对读者认知结构的情况一无所知,只能靠假设和猜测。由于这种信息不对称的必然存在,导致作者难以把握信息冗余和消除歧义的尺度,更无从判断读者在阅读完某段文字之后的理解情况。
两弯似蹙非蹙罥烟眉,一双似泣非泣含露目。态生两靥之愁,娇袭一身之病。泪光点点,娇喘微微。闲静时如姣花照水,行动处似弱柳扶风。心较比干多一窍,病如西子胜三分。聪明清秀,绝丽无双,气质脱俗,淡雅若仙,妩媚风流。 ——《红楼梦》第三回
虽说作者文笔已臻入化境,可你读完上面的文字之后,心中可对林黛玉的相貌有个清晰的概念?一万个人心中,有一万个林黛玉,个不相同。不管电视剧导演找到怎样绝色的女子来演这一角色,都没办法符合所有观众的审美要求。
事实上,大多数作者没有足够的能力完整、清晰、结构化地将自己的思想转化为文字,他们写下的其实并不是自己的思想,而是对思想的感知。感知就好像对思想拍摄的一张照片,只能从一个角度上有限地还原某个瞬间。这样的感知可以从多个角度进行,所以思想是一种立体多维的事物。
思想是多维的,但文字却是线性的,所以记录的信息必然是有损的。显而易见,在将多维度的结构化信息“降维”成线性的文字的过程中,信息量必然有可观的损耗。俗话说“一图胜千言”,尽管一张照片记录的信息已然是有损的,我们也很难把照片里的内容完整准确地用文字描述出来。
思想是不断进化发展的事物,文字自写出来的那一刻起就已经过时了。当思想发生变化和升级后,已经通过各种渠道流传出去的文字却难以得到更新。博客上的文章还可能编辑,但也很难同步到已经读过的人那里。所以我们并不能通过阅读文字(哪怕仅仅是几天前写下的文字)来判断作者当下的看法和观点。
用写作来传递思想注定是延后、低效且有损的。然而在未来的脑接口技术成熟并普及之前,写作仍然是我们在大多数情况下无奈的选择。
读者的困境
很多时候,写好的文字就放在那里,但是我们因为种种原因没机会读到。即便文字摆在我们面前,可是在解读作者思想的道路上,还摆有一重重难关:
- 很多人没有足够的动力、精力、能力和毅力来进行完整的阅读;
- 很多人缺少正确理解文字所必需的基础知识;
- 很多人由于结构化思考能力偏弱,字都能读懂但意思就是串不起来;
- 很多人由于对作者使用的一些概念持有不同的定义,完全理解成另外一回事;
- ……
思想先由作者的语言系统“编码”——写作,再由读者的语言系统“解码”——阅读。由于这两个过程都是有损的,且双方的认知结构必然存在差异,所以作者的思想在最终传递到读者那里时,早已残缺不全、面目全非。试想想看,通过一张破损的照片还原实物有多难?
事实上,大多数读者没有足够的能力完整、清晰、结构化地还原文字背后的思想,他们只能选择性地,将自己对作者的部分思想的理解,以某种方式纳入自己的知识体系之中。至于这样的选择,这样的理解,这样的方式是否符合作者的本意?只有天知道。
要准确理解作者的思想已经很难做到,对其思想进行真实性鉴别和可行性检验就更是难上加难。所以大多数人的选择是,用对作者的信任感来决定其思想的可信度。毕竟前者仅仅需要作出感觉上的判断,而后者却需要进行独立思考、逻辑推理和调查取证。也正因如此,电视广告里的明星代言和专家背书才得以奏效。
由于眼睛的生理构造限制,我们只能将目光聚焦在一个很小的范围内。所以在任一时刻,我们的眼睛都只能看到一小段文字,可能只有一句话,甚至半句话。也就是说,想要理解文字背后的意义,我们不得不将之前读过的文字以某种方式记住。如果作者不精通简明写作之道,需要记住的内容会很多,那阅读将是无比痛苦的过程。
想要有效地阅读,就必须逐字逐句的进行,理解的速度决定了阅读的速度。所谓的“扫读”、“跳读”都是自欺欺人的做法,正如那些快进看电影的人一样,他们并不想理解整部电影,只是想欣赏自己喜欢的高潮部分而已。
读了没理解,等于没有读;理解了没思考,等于没有读;思考了没行动,等于没有读。能通过这个巨大的漏斗模型,最终被读者实际践行的思想,可以说是沧海一粟。人与人之间的差距,就是这么一点点被拉开的。
阅读成本如此高昂,要求如此苛刻,但其效果却无法得到保证,这是大多数人最终放弃阅读的主要原因。在可以预见的未来,知识将会被模块化,并标注好相互之间的依赖关系。模块化的知识可以被无损地下载到我们的大脑中,并得到完整的理解。但在此之前,阅读仍然是我们大多数情况下,获取知识的最佳选择。
自然语言的原罪
前文已经说过,我们使用的自然语言是线性的,只能有损地记录结构化的信息。然而,纯线性结构的信息在现实中几乎是不存在的。我们只能通过给文字配图来尝试复原信息的结构,然而图片的表现力虽然强于文字,却依然有限。除此之外,图片无法用自然语言描述,必须借助信息技术才能进行传播。
为了弥补输入输出时必然发生的信息损失,自然语言天生具备了一定的冗容余错能力,因此其信息表达的效率和准确性较低。用信息学的术语说来的话,就是存储密度不够高。你可以尝试删去本段中任何一个字,甚至某把句话的文字顺打序乱,却不影会响你解读出正确的意思。我们在阅读一个句子的时侯,语言系会统不自觉地将其重新编排成"自己认为合理"的结构。只有当尝试失败时,我们会才发现句子中的错误。然而,我们的语言系统认为合理的结构,是就正确的吗?
事实上,如果我不提醒你的话,你可能都不会发现上面的每个句子中都有些文字的顺序是错乱的。
由于自然语言的输入输出双方的信息不对称必然存在,而这种不对称在双方缺乏沟通的情况下很难被发现并得到解决,所以无法避免歧义、误读和误解。所以我们在和别人沟通的过程中需要反复确认对方是否正确理解了自己的意思,以及自己是否正确理解了对方的意思。为了避免被误读,大部分的法律条文都写得极其冗长,不适合普通人阅读,结果诞生了专门解读法律的职业——律师。
我们使用自然语言进行输入输出的能力受眼睛、耳朵、手等身体器官的机能限制,而这些器官却是几百万年前就已进化出来的。现在各种存储介质的读写速度动辄每秒几百兆字节,而我们阅读和写作的速度几乎只有每秒几个字节,还经常出错,简直不堪入目。
未来的语言
你可能想不到的是,计算机程序也是一种文字,它由人用结构化的编程语言书写,但又可以被机器理解和执行。通过结构化编程语言,我们可以几乎无损地记录数据、设计流程和描述逻辑。当现有的语言不能满足需求时,我们还可以创造新的语言。
与自然语言不同的是,编程语言通过制定严格的语法规范和依赖声明机制,消除了输入输出双方的信息不对称,从根本上避免了歧义、误读和误解的可能性。程序必须严格按照语法来编写,如果不合语法,程序根本就无法通过编译或被解释执行。而机器总会严格遵循相同的语法来解释程序,并以精确的顺序执行其中的每一行。程序每一部分的意义始终都是确定的,不会出现混淆。
当然,程序员可以通过使用错误或有歧义的函数和变量命名来误导自己和其他人,但对机器无效。编程作为一门艺术,程序可以写得优雅也可以写得肮脏。不过代码质量已经超出了本文的讨论范畴,这里暂且按下不表。
与人不同的是,只要准备好了程序的运行环境,机器就能够完全地理解和贯彻执行作者通过编程语言所表达的思想。在编写程序时,作者必须描述清楚程序对各种基础类库(必要时还可以细化到具体某一版本)的依赖关系。设计严谨的程序会在运行时对各种依赖条件进行检查,并在必须的依赖条件不满足时给出提示。设计完备的程序能够在不同的平台(Windows、Linux、iOS、Android……)上兼容运行,并对各平台作出针对性的优化和调整。
机器进行输入输出和运算的速度和可靠性都远高于人类器官,且其性能会随着技术的发展不断快速提升。这意味着只要我们设计出可用的接口,就可以借助机器来突破生理上的局限。在可以预见的未来,脑接口技术将会彻底打破人类输入输出的瓶颈,人类大脑的潜能将得到最大限度的开发和利用。
未来我们需要学习的,也许只有一门在全球范围内人机通用的结构化编程语言而已。
后话
自从第一台计算机问世以来才不过数十年,我们的生活就已经被彻底颠覆。互联网、地图导航、聊天软件……这些服务和产品已经顺理成章地成为了我们生活中不可或缺的一部分。而在短短十几年前,我们完全无法理解和想象这些东西的存在。
在这一切的背后,是由无数位程序员编写的程序,以及更多默默无闻执行程序的机器。通过编码技术,我们可以将文字、图片、声音、视频乃至一切信息都转换成数据保存下来,并传播到世界上任何一个角落。
自然语言已经沿用了数千年,而编程语言还很年轻。事实上,目前世界上最古老的编程语言才不过数十年历史,而新的编程语言正如雨后春笋一般被设计出来。
就像我们已经习惯了用计算器取代纸笔做数字计算一样,未来我们很快也会习惯用“下载到大脑”取代阅读,用“打包发布思想”取代写作……当全世界的知识都唾手可得,可以瞬间将需要的全部内容下载到大脑中时,我们还需要担心教育和学习问题吗?
我们可以拭目以待。