区分人和计算机的各自分工
1147 2022-12-06 14:57
由指针,让我想到了,程序的顺序执行(过程式编程),由面向对象,让我想厘清人和计算机的合作关系。
指针,让信息可以远大于质量(物质)、内容的存在,于是可以让内容独立出去,让操作和数据分开。而操作之间的依赖,也可以借由验证的加载来实现后期的拓展和松耦合。
于是让我想起了23大设计模式之一的观察者模式。想到了监视皇帝一举一动的例子。然后想到了列表来通知观察者。而被观察者由被动变成了主动。这种主动被动的切换,让我想起了轮询。轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输入输出”(Programmed I/O)。
轮询对应的就是中断,又让我想起了事件驱动、又让我想起了数据库的定时器和触发器。
随着面向对象、面向切片的延伸,又让我想起了同步和异步。而在这之前,我又梳理过TCP/UDP协议的阻塞和非阻塞。
至此,一条很长的程序员设计之路,就摆在了面前。
说白了,触发器、中断,也都是cpu时间片的轮询。
说白了,控制反转、依赖注入,靠的也正是观察者模式的变被动监控到主动通知。所谓回调函数,就是埋下一个伏笔,留下一个线头。方便以后的一条后路。
以上所说涉及到了多学科、多分类下的细致概念,其实并不可以拿来对比、类比。但是这些概念的顾名思义,以及在自己命名空间内(局部定域内)的功效概念,体现的是设计者的思路。一个好的思路,都是由一维到二维到高维的过程。没错,投影下来、按比例缩放下来,都是很简单的顺序。连续的时空之下,不连续的是能量。能量的传播都是波粒二象性。量子的行为正因为人类理解的粒子性而变成了随机性。那种高维的一体化概念,始终不能被展现在现实中。但是冥冥中,你知道,那是一个整体,是对的。只是无法印证罢了。有时候那种你坚信并且无法证明,可以推理应用却又无法描述的客观,才是真正的信仰。意识是主观的,主观的意识并不能创造什么客观规律。但是利用客观规律的人,却想让别人以为有个主观的神在支配着一切。
全部评论