备忘录:计算机的世界 - 直观/体系

计算机的世界,是人类为自己构建的虚拟世界,是一个货真价实的平行世界。大部分人所理解的计算机的世界,指的是计算世界所构建的世界,而不是计算机的世界。普通人消费的是「计算机世界」这座工厂所生产出来的产品,唯有 programmer 有幸得以窥见其中的蛛丝马迹。

遨游于计算机的世界,能够让你跳脱出来更好地审视你自己所生活的真实世界。就像人们常说的,人要出了国才知道怎么爱国。当你重新踏入一个新的世界后,你能够对你当前所处的世界有更为深刻的认识。

从我们自己的教育经历来看,物理学、生物学、化学,都被放在了小学之后,从初中开始才开始认真探讨真实世界的繁复细节。开始构建细致的理论,以系统而科学的方法来探讨真实世界背后的现象、规律。

计算机的学习,往往会容易忽视上述的认知过程。我们以为自己一开始就在构建理论、细致探讨计算机世界的每一个细节。但事实上,实践计算机最开始的三年五载,都是在学习婴儿到小学时的内容:在计算机的世界中,什么叫做呼吸、什么叫做迈步,什么叫做吃饭,什么叫做阅读。

这一切,全都是为了在自己的头脑中建立计算机世界的「直观」。在这一阶段,大家其实没有办法谈论模式、谈论架构、谈论底层的铺垫与设计。因为在这个阶段,你最需要掌握的是后面的计算机术语的「真实所指」。在你没有大量的编程经验之前,所有的计算机术语只不过是你望文生义的YY。你必须通过实际的工作和操作,真正弄清楚、体验到这些术语到底意味着什么。

在这个阶段过分地去探讨「术语」和「理论」是非常危险的。它们容易让人走火入魔:因为你是在凭借头脑里对这些术语的YY来做着各种逻辑推演。根基就错了,越是推演就越是会搞得自己一头雾水。这个阶段的主要任务,就是拼命地工作和实践,就像婴儿开始学习走路和吃饭一样,不需要什么理论指导,只是不断地试错、不断地让伤痛和反馈来帮助自己形成对行为和模式的肌肉记忆。

过完最开始的三年五载,很多 programmer 开始陷入平庸、开始遇到自己的天花板。似乎自己已经积累了足够的经验,对各种业务和活计也都烂熟于心,不知道该何去何从。此时最为微妙的地方就在于,他们没有意识到:这个阶段的自己,就像是已经掌握了「走路」技能的小学生,在「走路」这项技能上虽然已是登峰造极,可是,却完全不明白什么是运动、什么是力、什么是动力学。虽然好像一切行为都已经内化成自己的肌肉记忆,可是对背后的原理和脉络,还一无所知。

此时是最好的重新开始学习基础知识的时候。不可避免,在计算机的入门阶段你会接触到操作系统、网络、软件工程、语言设计这些材料。你以为自己明白它们在讲什么,可事实是,在入门阶段你对这些材料的关注点,几乎全部集中在如何建立直观。至于背后所蕴含的深刻道理与细致理论,其实是无暇关注、也没有能力关注的。但这样的误解,会让很多人以为掌握了其精髓。自然,也就会对重新阅读这些基础书籍表示愤慨:为什么要学习自己已经「会」的东西?但这不过是自己的一厢情愿的幻觉罢了。当你怀揣已经掌握的直观,再去阅读学习这些曾经的基础材料时,你会发现,自己似乎从未学习过。

重新阅读学科的基础材料,需要保持初中时研习物理学、化学的态度。不要自以为是地念叨:这个我知道、这个我用过,而是要用「元认知」去思考,这个现象与操作行为是否能够被更为本质的几个基础命题和概念推导出来?能够作为基本定义的概念与公理,有哪些?这些基石的适用范围是否足够宽广?是否能够足够囊括计算机领域中貌似不同的各个领域?

也即是,这一阶段你真正需要关心和探寻的是:什么是计算机世界的不变量?由这些不变量所构筑的理论体系,又是如何来统领你那三年五载所积累起来的「直观」?你又是否能够应用这些规律,来重新指导你的编程工作,来更优雅、高效地管理自己的工作与信息。要紧的不是现象,因为它们几乎都已经内化为你的肌肉记忆,要紧的是规律、机制与体系的探究,你得着重掌握计算机世界的物理学、生物学和化学,而不是自以为是地说,我会走路、我会吃饭、我会消化食物。

我想,这是计算机世界最为微妙的地方,你带着真实物理世界的经验,自以为天然就具备在计算机世界中吃喝拉撒的本领,以为开局即是对计算机世界理论与规律的学习与探讨。而事实是,无论你是否愿意,你的开局是掌握计算机世界呼吸与走路的本领,再来才有资格重新学习那个世界中现象背后的规律与体系。

有的人以学习理论的心态来开局,成了只会玩弄概念并不知道其真实所致的走火入魔者;有的人完成了直观的建立,却以为自己已经掌握了背后的机制与体系,被无情的天花板死死压在「中阶」动弹不得。

我们或许对于现实世界太过熟悉,以至于会忘记如何从婴儿开始以什么样的认知规律和学习方式来掌握对这个世界的认知,进而更深入地理解世界的规律、应用所掌握的规律。而这份「忘记」的影响,无疑会在计算机这个平行世界的行径中展露无遗。

 

posted @ 2021-01-10 22:36  kid551  阅读(65)  评论(0编辑  收藏  举报