计算机技术已经与我们的生活息息关联,不同的人抱着不同的目的,踏进了计算机的门槛。
有些人,仅是对计算机有兴趣,还没入门,正在门口观望。有些人,计算机从业多年,因为某些原因,暂时被困在某个境界,很长时间无法突破认知的瓶颈,等待某个机缘,打开新世界的大门。有些人,因为某个机缘,悟到了软件设计的更高层次,从普通的码农或者纯功能型产品经理开始成长,打来了新视野,技术和业务能力得到了突飞猛进的成长。无论当前处于哪个阶段,肯定都希望一步步成长。
爱好者希望多了解一点计算机的相关知识,能给工作生活带来更多便利。程序员希望从基层码农成长为技术组长、技术总监。产品经理希望从产品助理成长为产品经理、产品总监。无论最终的诉求是什么,希望成长的目的是一致的。

成长前后的差异有哪些呢?有什么数据指标体系能帮助分析一下我与别人的差异有多少吗?
本文尝试构建一套数据分析指标,帮助大家定位自己当前的阶段,和可能努力的方向。
一、成长指标体系的构建1. 指标体系的神经学依据
现在这个时代,神经学理论已经有了极大的发展,在神经学理论的直接影响下发展的计算机和互联网已经极大的改变了我们的生活,我们已经可以直接使用神经学给予的视角来考察这个问题。
从出生开始,我们大脑里就有了140-160亿量级的神经元,这些丰富的神经元足以让我们有能力,在外部世界与这些神经元之间建立健壮的映射关系,大脑神经元的复杂度是我们能理解复杂世界的物质基础。
婴儿时期,神经元之间的连接很松散,当婴儿随着身体的成长,学习的东西越来越多,神经元之间的连接也越来越多。这些逐渐联系起来的神经元就是婴儿对世界的认知。
随着长大和接触的各种事物和知识原来越多,大脑的神经元与外在的世界不停的建立映射关系。我们认识的外在世界有多大,内在的世界模型对应的外在元素范围就能有多大。
当然这种映射并不是简单的一对一映射,不是外界有100个不同的苹果,大脑中就也有100个与之完全对应的苹果,大脑中的世界是对外在世界的模拟,只是外在世界的象。
我们通过这个内在世界的模型,内在世界的复杂的象,可以对外在世界做出反应。
如果内在的模型是正确的,外在世界的反应就是可预期的。如果内在的模型是错误的,外在世界的给到的回应就是混乱的,不可预期的。想要详细了解神经科学的知识,推荐阅读书籍为:《神经科学讲什么》《人类思维中最致命的错误》
2. 对世界最早的象的模拟
说到观象,我们中国有悠久的观象史,“仰则观象于天,俯则观法于地,观鸟兽之文与地之宜,近取诸身,远取诸物”。
我们后人在踩在祖先们的肩膀上,可以直接学习他们的观象成果。
我们天天使用的汉字就是最系统的观象成果:比如”人”字显然就是对站立的人的侧面描述。
当然我们这里是以汉字举例的,如果用英语从单词上肯定无法看到这种象,但是很明确的是英语的单词也能指向外在世界的各种事物。
这里讲的就是符号学的能指和所指,客观世界是所指,描述的文字,包括动作手势等是能指。
想要详细了解符号学的知识,推荐阅读书籍为:《符号学 原理与推演》
3. 内在世界关系的指标体系
我们的讨论是建立在能指与所指已经正确建立前提下的知识学习,而不是重新建立能指和所指关系的知识创新。
我们此处的指标体系是用来衡量人在不同阶段,内在世界不同能指之间的关系。(能指可以简单理解为文字和概念)
图中主要是元素、元素之间的关系、元素关系的强度:
元素:包括概念、手势、表情、语调等等,可以被捕捉的都是此处的元素。掌握100个概念的人肯定比掌握10个概念的人看问题更透彻。元素的关系:就是各个元素之间的关联关系,这里指的是元素之间有关系或者没有关系,哪些元素之间有关系,哪些元素之间没关系。关系的强度:0表示没有关系,100%表示因果关系,60%表示强相关关系,40%表示弱相关关系。图中的分布会有以下结论:
在图中越靠近原点的地方,掌握的元素和元素之间的关系的量级越小,对世界的认知越简单,越片面。越远离原点,掌握的元素和元素之间的关系的量级越大,对世界的认知越复杂,越可能逼近真实世界。越是脑力劳动者越远离原点,越是体力劳动者越靠近原点。婴儿是最靠近原点的人,原点处没有人。越是高认知的人看到的因果关系越多,越是低认知的人看到的越是关联关系或看不到关系。在绝对顶点的人,肯定就是人类文化中的智者,孔子、老子、佛祖、耶稣这些圣人。我们芸芸众生都是位于中间的位置,每个人占的位置各有不同,每个人也都在向着更高的位置移动,有的人移动的快,有的人移动的慢,有的人可能被暂时困住,解困后会继续向上走。一般而言,产品总监会比产品经理更远离原点,技术总监会比程序员更远离原点。二、众多认知元素是如何分布的各种元素是怎么分布的,有两个概念需要明确,
由于我们认识外在世界必须通过我们的眼耳鼻舌身意映射到内在世界才能认识,并且所有的描述本质都是描述的内在世界捕捉的象,所以我们只需要看下内在世界的这些元素是怎么排列的即可。
我们从以下两个层级开始观察:
1. 文字的层级
从文字层级观察,了解文字的排列顺序,最直接的就是找到一本《说文解字》书,说文解字是梳理汉字造字原理的书,打开《新说文解字》的目录,可以看到汉字可以分为:表现人的文字、表现生产的文字、表现自然世界的文字、表现战争的文字、表现社会生活的文字等。
在读说文解字以前,对于汉字,我们肯定不可能全面的清楚他们之间的关系,仔细阅读说文解字后,就会对汉字的关系有更清晰的认识。
推荐张奇臻老爷子的《新说文解字》,该书是对一千个左右最早出现的基本汉字的研究,通过对照甲骨文、金文、篆一直到简体字做了对照分析研究。
这本书是我在上海图书馆找到的,淘宝上买不到新书,十分可惜,推荐有兴趣的同学可以找来研究下。
2. 概念的层级
我们思考要使用概念,概念实际就是容器。容器将更多的内容封装到容器里,让我们可以在更高的层级上考虑问题。
2.1 所有人的平均短时记忆差异很小
虽然在上面的坐标系上每个人所在的位置是不同的,但是同一个时刻我们每个人可以处理的问题数量差异确很小。
如果不借助纸笔、计算器等工具的辅助,我们单靠瞬时记忆能记住的元素基本上在1-7个之间,超过这个数太多我们就会忘记前面的东西,这种记忆特点决定了我们的容器深度,容器深度决定了可以做的计算十分有限。
比如十以内的加减法,是很容易算的,因为可以数手指,超过10个比如需要用更多的容器来辅助了。
容器的重要作用就是,将问题的复杂度降低到普通人可以思考的水平。我们的知识体系的归纳,也会将知识归纳到同一个层级的元素的数量不超过10,这种限度。
根据问题的复杂度,如果想卷入更多的人,同层级思考的元素数量就必须更少。
想要详细理解上述的知识,推荐阅读书籍为:《金字塔原理》
2.2 一切的技术都是容器、都是媒介
从本质而言,所有的技术都是媒介,都是容器,都是对人的延伸,都是将复杂的事物降低到人可以操作的可以理解的尺度上。
不能被别人理解,不能影响更多的人的道理都是水中花镜中月,意义有限。
所谓对人的延伸,就是人本来有类似的属性,但是强度、速度等方面不尽如人意,人要提高这部分能力,就需要借助其他媒介。
以双腿的延伸举例
比如从移动而言,我们有双腿,但是走的太慢,也走不远,我们就需要借助其他的媒介帮助我们移动。
显然,在机械化以前,最成功的媒介是马,马可以让人的移动更快,还可以节省人的体力,所以古代战争使用的也最多。
我们可以说能移动的动物特别多,比如鸡、狗、猪、马、老虎、狮子、大象,确实这些动物都可以移动,但是能满足人的需求的却不多。
鸡、狗、猪体量太小,功率太小,拉不动人和货物。
老虎、狮子、大象的体量很大,功率够大,也能拉的动人,但是先不说我们的土地上能否见到这些动物,就算我们的土地上有这些动物,他们也很难驯化,他们如果不配合,也就无法在人类的尺度上帮助人。
以语言的演化举例
语言文字也一直在演化的,演化有点类似于某个时代的人根据当时的技术水平和认知水平将文字调整,这也类似于动物驯化,驯化后的内容,在人的使用尺度而言更高效,更便捷。
之所以语言说是演化,动物说是驯化,所用的手段不同。因为语言是人创造的,人们怎么写都可以被写出来,写出来是容易的,但是被大家接受和使用则需要符合同时代人的认知,只有被大家广泛接受并使用过的才能叫化,自己随便造的,只能是画。
动物也一样,互联网上可以看到,中东土豪们,也圈养狮子做宠物,显然这只是小部分人的爱好,并不能被更多的人学习。
想要详细理解上述的知识,推荐阅读书籍为:《理解媒介 论人的延伸》
三、计算机编程语言的进化1. 计算机语言的层次
计算机是目前为止,人造的可以承载内容最多的设备,我们可以从计算机的软件编程模型上来观察上述理论。
上图是计算机编程的语言:
第一层:面向01编程
显然除非汇编语言出现前,或者非常特殊的原因,正常没有人会使用这种方式和计算机互动,太难了,不是思路难,而是不犯错难,写不到50个01人就晕圈了。使用这种方式,肯定少不了频繁的复制粘贴。
第二层:汇编语言和面相01编程的差异
主要是将01序列的替换从人工改成计算机,从思考的时候使用01序列改成思考的时候使用指令。指令MOV和某个01序列是完全等价的,用MOV 作为这组01序列的容器,才使面相01的编程更贴近人的思维。C语言的循环语句when、while是将一组IF、MOV、Jump语言包装成一个容器,这是一个动态的容器,容器的大小是由变量的值控制的。
第三层:
第二层整体上还是面向过程设计的。过程在计算机里就是函数,函数就是有输入、有输出、有计算方法,面相过程编程就是面向函数编程,面向过程编程主要体现函数之间的相互调用,此方法高度还原了内存之间的调用逻辑。
面相对象就是将多个函数、多个属性再用一个容器包装起来,这就是面向对象。对象里的属性不仅可以是普通的数值,还可以是其他的对象,函数输入和输出的内容也不仅可以是普通数值,也可以是对象。
这些对象是怎么包装和相互调用的呢,肯定不是机械的包装,从MOV 替换01序列是机械的替换,对应关系也是机械的对应关系。面相对象的调用,则是有机的,是通过模拟现实世界各种对象之间的关系建立起来的。这个关系就是设计模式。