成熟的小孩子
某种乐趣
程序员解决问题的乐趣有一部分,因人而异,也许是很大一部分,来自于解决重复。不断重构代码,重写优化甚至是创造解决同一个问题的新工具,就是为了实践软件工程中一个基本的原则,DRY(Don't Repeat Yourself,不要重复自己)。
除了人文意义,维持系统的低熵,是一种本能,如同生存本能。行使本能会带来和摄入高糖高脂食物类似的快乐,这就是一些程序员打代码时看起来嗨的部分原因。
重复的重复
通过在系统中增加抽象的中间层,可以减少重复。一般程序员往往讨论实施这个过程的模式,如设计模式、模块、框架等,同时忽略了减少重复这个动作本身也可以被抽象。对于开发人员而言,这个行为应该叫做技术管理。
巴别塔封顶
就像对于数字“1”和“+”组成的系统“1+1+1”可以使用“1*3”来简化一样,增加抽象层次带来的显而易见的坏处是,增加了理解系统的知识成本,你必须知道“*”是什么意思,才能理解初始系统表达的意思。
人脑受到物理限制,有智力极限。现在考虑一下极端情况,当某个系统的抽象过多,导致除了某个个体外没有人能够完整理解系统,那这个个体就给系统封了顶。如果用现实举例,可以理解成X教授证明了Y定理,但除了他自己,没有人能够在有限的寿命内理解他的证明。
知识尼罗河
在智力有限的情况下,我们能够理解的系统的复杂度是有限的,所以不外乎现在是精细分工的时代,而对于领域专家也许更是如此。为了衡量个体对人类知识的贡献程度,这里也许应该存在一种大家都没见过的,可以量化的新指标。也许其展现形式可以类似个体年龄及其文献影响力分别作为 x、y 轴的河流图。
屎山
假设我们知道系统处于“1*3”的状态,但不知道其意义,那么通过搜寻与对应系统吻合的“1+1+1”存在的证据,就能理解系统如何演变成现在的状态,所以溯源是有意义的。
逆流而上本身就是辛苦的事情,但别忘了还要做好防护,因为最终找到的可能不是宏伟的喜马拉雅,而是一座实实在在的屎山。
什么是屎山呢?就是无法理解的东西,比如一些无用的、过时的、错误的无聊的抽象,堆积在了一起,在我们提到的这个系统,可以是负数带来的“1-(-1)-(-1)”抽象,尽管在特定情况下它是有益的。
新世纪尼各马可
不要沮丧,我们有由符号系统组成的近乎完整的知识仓库,如图书馆和智库,作为智力(中的一部分,主要是记忆)的延伸。这种方式如此自然,以至于我有理由相信,将记忆大部分外化,也是自然的一件事情,也许并且不会减损我之所以为“我”的分量。假使这样,那在当前阶段,人类和 AGI 较量,主要是生物计算机和经典计算机的较量。
复杂度计算
对于缺陷,我们有时采取纵容的处理方法,这是因为我们追求的收益是指数的,而付出的成本仅仅是线性的,所以可以容忍。在很多场景,这种认知是错的,举一个很简单的例子,“吃一口冰淇淋不会使你变胖”,其成本不是简单的“吃了x克冰淇淋就会带来y焦的热量”。
唯物错觉
前天晚上在朋友家小聚时,听到一些关于国际局势的高谈阔论。突然意识到我嘲讽此类讨论的背后,主要是反感其背后的认知逻辑,即认为可以根据各国对外释放的信号及行动,来判断国际局势的走向。
人所依赖的推理工具,包括文字、语言、计算机等是线性逻辑的,而现实世界的因果是多向网状的,甚至超越认知。依实施现实局势分析的需要所建立起的模型,是一种过度简化,然而就算这种简化的模型也不是人所能承受的。就像没有人会在脑袋里存储一个天气预报系统。此外,根据“巴别塔封顶”,人没有足够的,用于分析现实的知识储备。以至于去谈论国际局势时,不过至多得出概率拟合的结果,某些情形其准确率不高于双选题乱选。猜球二选一都猜不中,遑论预判国际形势。
坚信能凭借猜测来预判未来,这是一种唯心主义,是以为自己站在唯物主义立场的错觉。等有人能够做到拿到张风向图就可以预测台风轨迹的时候,我会修正我的观点。
两头屁股
为了维持系统的稳定运转,人们接受一定程度的谎言,这在我称之为“两瓣屁股”。哦,这绝对不是贬义,因为正常人都是两瓣屁股。奇怪的是有人说一些违心话,是为了维持系统稳定运转,这在我称之为“两头屁股”。
根据立场数量的不同,瓣数可以增加,比如四瓣八瓣十六瓣。许多城市都种樱花,并设立了相应景点供参观游玩。我觉得应该仿照樱花节给这个节日命个名,就叫做“十里屁股节”。
毕竟,没有一个专门的节日来庆祝这玩意儿,绝对是一种文化遗憾。
人的本质
人的本质是数组,因为他们总感觉两头受堵,并且在骂堵狗不得**的同时,也在给别人添堵。
成人礼
原始社会的成人礼包括打落牙齿、奉献祭品及各式各样的典礼,并且要在成人前完成,小孩便可以借此脱去躯壳,变成”大人“。实际上,他对自己的认知发生了改变,但他仍然是原先那个小孩子,经过成人礼后,他变成了成熟的小孩子。
随后是可怕的重复。