知识的诅咒,简单来说就是一旦你掌握了某种知识,就很难站在没掌握这个知识的角度,去思考和理解他人。
这种信息不对称往往很难意识到,同样也没有银弹,最近几天的深入学习使我深刻地理解了它的意义,在我的知识领域,明白了为什么对于编程的初学者来说,即使是偏向口语化的代码看起来也像天书。
如上图,以程序员懒得去写的猜数游戏为例,规则很简单,代码生成一个随机数,用户不断输入猜测,代码则提示用户输入的数比生成的数大还是小。但我从没意识到的是,短短十几行代码,就已经包含了编译工具链安装和使用、编译执行流程、程序入口点、变量定义、基本语法、类型系统、标准库、输入输出、顺序结构、大小比较运算符、分支结构、模块导入、随机数库调用生成….这么多东西。如果已经有了这些前置知识,没有程序员愿意浪费时间来写一个猜数游戏,因为过于简单,但对于新手来说,正是一些前置知识的缺少造成了毁灭性的后果,编程的学习曲线过于陡峭让他们知难而退,像是一层厚障壁,不突破就只能被永远隔绝在外,永远无法体会编程的乐趣。
同样,理解我上面这段话也需要一些前置知识,同样受“知识的诅咒”影响,人类真是太可悲了。如:想要理解“没有银弹”,至少需要读过《人月神话》一样,没有这些共享的知识会让交流变得难以进行,变得鸡同鸭讲。
常识便是教育的最大阻碍,假如无法使用领域内常识性的专业术语,那么我就无法精确描述我擅长领域的某一概念,但一旦使用了这些术语,就会令未掌握这些术语的人感到迷茫,就像是一种诅咒,始终萦绕在上空。
从这个层面上说,人真的很孤独,拥有共同语言是一件很难的事情,像是我们在评价别人时,也常常难以认识到自己的“习以为常”,殊不知别人不一定有我们同等(优渥或寒酸)的条件、出身,“未经他人苦,莫劝他人善”,我们能做的便只有尊重他人命运,做好自己,过好自己的生活,不过度干涉他人就是最好的处世之道了,剩下的就交给际遇吧。
说到孤独,在这里也希望我未来的伴侣,如果我还能遇到那个她的话,能够和我拥有着相似的语言,同等或互补的知识架构体系,要不然人间走这一遭也未免太可怜了。