魔咒与程序

计算机程序很像《哈利波特》里的魔法符咒,都能帮助人类(巫师)做到千里眼顺风耳之类的事。只是,对于程序的使用者来说像魔咒。但对于程序开发者来说,一点也不像,例如,使用杀戮魔咒“阿瓦达索命”的时候,不必 import/include DarkArts,即——

魔咒不经过建构,它天然存在。

对这句话简单的解释是,魔咒就像自然法则一样存在,不是由人类建设的。施展魔咒的过程,是直接对结果的表述,一个魔咒的施展不会依赖底层魔咒;但计算机程序,讲求过程的严谨,从应用到系统、硬件,层层依赖。魔咒与程序的关系,就如感性(直觉)与理性的关系

伏地魔施展阿瓦达索命魔咒的时候不需要有魔咒调用选项,不需要指定参数,不需要考虑编码格式,他只需要告诉魔杖:我要那个人立马消失!至于具体是哪个人呢?魔杖能与巫师心意相通,从施法者的手势轨迹中确定施法对象,但这可靠吗?甚至有些魔法不需要魔杖,仅靠情绪和意念即可施展。

这样听起来,使用魔咒很像使用现在的手机语音助手:

- Hi Siri,Avada Kediri !

- 这是我找到的信息…

人类最朴素的愿景之一就是,有一个人或者宝物,能够完美地理解自己心思,与自己意念合一,而自己通过直觉行事即可。

但在现实物理世界,或者说,在图灵机这种用“机械方式”计算的限制之下,心意相通这回事,能达到吗?

直觉型应用程序的缺陷

简单易用、符合直觉的计算机程序一直备受推崇和追捧(此处“计算机”为广义定义,包含个人电脑、手机、单片机等)。而将这一设计理念发挥到极致的产品就是 iPhone 手机的 iOS 系统。在其流行之后,这种凭借直觉使用电子设备的习惯已经一统市场,Android 系统也逐渐 “iOS 化”,3 岁儿童也能轻易学会这些智能手机的基本操作。在一定程度上,程序已经被“打包”为凭直觉即可施展的魔咒。

简单易用并没有错,但是“符合直觉”和“打包”有缺陷:程序功能被严重限制在人对现实世界的认知框架中,用户也无法窥探和自定义程序背后的逻辑。

例如,这个设计趋势的结果的冰山一角是,Z世代以及之后的人们,因为习惯使用智能手机,已经几乎没有文件的概念,从未考虑过软件安装在哪一个目录,照片音乐这些数据存放在哪一个文件夹。进一步,电脑的使用,也变成了一件困惑和痛苦的事情。《禅与摩托车维修艺术》中,主人公的朋友约翰夫妇正是这样:对技术依赖却又逃避理解的状态。

教授们发现今天越来越多的年轻人无法理解计算机及操作系统的基本工作原理。目录、文件夹甚至是文件等概念,似乎让在智能手机前长大的一代人感到迷茫而困惑。他们不知道什么叫存储或者怎么操作存储功能。对这一代人来说,“东西”就是“存上了”,不需要别的废话。新一代学生把存储系统理解成“巨大的脏衣篓”,把所有东西都丢进去、需要的时候再拿出来就行了。

习惯“用户思维”思考或持“用户至上”理念的人也许会反驳:既然存储文件让人困惑,那说明它不是一个好设计,不应该被学习和继承。另一类反驳观点是,即便学会了文件的概念,那也只是在虚拟文件系统(Virtual File System)层面,而不是更底层的文件系统如 Ext,再往下还有系统内核和硬件,哪里才是学习的终点?

我们应该学习什么样的工具

对于上文第二个反驳的回答比较简单:上层应用之所以存在,就是为了让用户不必关心下层的具体运作。而用户在多大程度上依赖计算机,就应该在多大程度上学习计算机。反过来说,用户对计算机的了解程度,决定了其能在多大的程度上利用计算机。但至少应该**学会,**如何自如地利用计算机加工信息(99%的人仍做不到这一点)——这也是对第一个反驳的回答,和本文的核心。

现在人们自如地在纸上用笔写写画画,当被别人问到在干什么时,他不会回答“我在使用纸张”,而会说:“我在算题”、“我在画画”。再过一百年,计算机会像现在的纸和笔一样,成为理所当然的基础工具。我们会完全“溶入”计算机主导的生活,这是因为纸、笔与计算机的本质是一样的:处理信息。在纸和笔被普及之前,人们并没有记录的习惯,但是如今人们认为纸张理所当然是承载信息的工具,以至于像鱼儿察觉不到水的存在一样。

更为深刻的变革是,计算机会重塑人的思想世界,提供一种直觉之外的思维范式(paradigm),成为像数学、物理学这些在古代并不存在思维范式,将人类所思考和解决的问题上升到一个新的理性层面,突破人类落后的基因构成和狭隘的直觉局限。

然而,可惜的是,我们的商业社会选择了一条相反的路:迎合人类的直觉思维,这并不单是厂商的选择。譬如 iPad,如今的学生喜欢用它来做笔记,而其最热门的笔记应用:GoodNotes、 Notability 等,无非是对现实纸张的模拟,只是更便携,以及包含一些优化后的涂写工具,但没有改变纸张处理信息方式。除了在极少的场景下 iPad 拥有生产力,大部分时候,它都在充当一个显示屏——用户伸出食指在那块屏幕上来回点点划划,就像正在做智力实验的大猩猩,用科研人员为他们预设好的程序和动画片——仅可从 App Store 安装别人开发好的应用。这是拆掉了创造和创造力的油门,让这块计算机沦为直觉的放大器,但它本可以做得更多。

学会创造

特定领域的专家,是否有必要学习计算机?他们将时间花费在自己的专长领域,也许能产出更大的价值/效用,而学习计算机是在浪费时间。这是典型的战略与战术的矛盾——用战术上的勤奋掩盖战略上的懒惰。

学习计算机是学习如何创造,就像学习数学和语言一样,这将促使自己创造出看待和解决问题的新角度、新方法、新范式,而不是在已有的架构中带着镣铐跳舞。这让你在面对伏地魔时可以自己创造一个更合适的魔咒,而不是只能从古老魔法书上选择使用一句:Expelliarmus(除你武器)。

当然,人都喜欢直接获得结果(魔咒,以及封装好的功能按钮),不愿意关注繁琐的过程(计算机程序)。但不能因此拒绝学习计算机,否则是自行脱离人类文明的进步。**学习计算机并不是要学习写代码,而是要理解计算机的运行原理,管理自己的“工作台”,让自己成为一个创造者、计算机的主人,自如地加工信息。**不要永远只做一个消费者寄人篱下,期待魔咒按钮的降临。

沉湎于虚幻的梦想,而忘记现实的生活,这是毫无益处的,千万记住。

厄里斯魔镜

参考资料:

Alan Kay. “The Future of Text”

《创新者》沃尔特·艾萨克森

《哈利波特》J·K·罗琳

← 返回博客列表