周报 2023W11:世界观决定软件层次

欧雷 发表于

失业的第九周,再次起程!

做了再说

由于朋友圈的信息通常在发了之后过几个小时就没价值了,所以我一般会在次日(距发布大约 24 小时后)至一周内清理已无价值的朋友圈信息。

这样一来,我的朋友圈就比脸还干净了,若有人(比如俺家🐷和新加的人)想看我发过的信息就会无从入手;鉴于此,发了一条不会去清理的引导他人到我的网站查看已发布内容的「置顶」朋友圈信息。

在做完这件事之后,又继续陷入了迷茫——有点纠结是开始弄知识管理工具还是做面向未来的知识内容,因为不知道哪个方向能更快地为我带来金钱收益,不想继续坐吃山空了!

这两个方向都需要投入很多时间和精力成本去打磨并沉淀,但相对来说知识管理工具会更容易出现阶段性成果,给予我正向反馈,并且能够解决我当前的痛点,为日后的日常操作提高效率,节约时间和精力。

既然如此,那就不继续精神内耗了,撸起袖子开干,做了再说!

先搭建了 QiiDB 的官网并将编写好的数据规范文档部署上去——这是我个人知识库及已添加的几千条开放数据所采用的定义数据的标准,知识管理工具 KnoSys 会基于此规范去处理数据。

QiiDB 开放数据
QiiDB 开放数据

学习 Chrome 扩展程序开发并大概写个 demo 验证下在浏览器中进行本地文件操作的可行性——本来想用 FS 相关 Web API 去做,但感觉比较复杂、不稳定且有所限制,初步决定使用在 Chrome 扩展程序中调用本地服务的策略。

软件构造

这些年来我逐渐形成了「唯信息论」的世界观,一个重要观点就是万物都处于变化之中,那些被常规视角所认为不变的实际上一直在变,也就是「信息」一直在转化。

「信息」的某个节点是啥样以及它如何转化到下个节点都是被事先「定义」好的,那么是谁「定义」的?这我不知道。但知道的是,或者说我所认为的,用来观测变化的是「时间」,即「时间」是「信息」在不同节点之间的差量集合。

每个程序员都是数字世界的「造物主」,因此软件设计就是自己世界观的体现——真正的好软件,除了能够满足业务需求之外,还应当符合现实世界的规律。

我的世界观令我想要探索一种可以去「定义」数字世界里「信息」在某个阶段的样子及它如何去转化的简易方式,这种方式不是基于枚举这种有限的方式,而是基于几种简单原子规则组合的无限生成。

「定义」是在描述「信息」在某一刻的实体,而「时间」这个差量集合表示着「信息」是在演化的——体现在实际的软件开发当中就是以声明式与响应式为基础进行软件设计与开发。

虽说我有这样的意识,但有些模糊,尚未形成明晰的体系化理论。

最近跟大佬 Canonical 交流较为频繁(与之前相比😅),再通过视频会议听他对可逆计算与 Nop 平台的讲解后,更令我隐约觉得他的理论很可能就是我思想理念要抵达的前方!

我需要尽快找时间好好研究学习下可逆计算理论,统合并验证我的思想理念,没准儿日后就成为我构造一切软件的指导思想,在此之上构建出自己具备推导能力的智能化软件生产线!

最后几句

在听 Canonical 的分享时,对一句话感触比较深,大意是:「我已解决过的问题,别人就不需要再去解决了。」

这点在我理解的科学界确实是这样,也就是后续的任何研究都去以前人证明过的结论为前提,都往那上面去靠,而不是自己重新证明一遍;基本只有在前人的理论无法解释了的时候才会去质疑并探索更适合的理论。

而在软件开发中,至少我看到的、经历过的几乎都是在重复建设,重新去解决前人或别人解决过无数遍的问题,感觉这是一种病……也许也是因为缺少像可逆计算这样泛用性很强的理论模型。

其实,反混沌想要解决的问题的一方面就是减少软件开发中的重复建设,至少是减少整个链条的重复建设。

另外,这几天我一直有个疑问,但还没有深入去思考——LUI + DSL + 可逆计算理论的实现做代码生成并成为日后主流软件构造范式的话,还需要有那么多种编程语言么?感觉就留一种(或者说不再出现新的语言)给人做微调用就行了。

创作不易,若给你提供了价值,还请不吝欧雷充电

左为微信,右为支付宝;充电累计 ¥88 以上可在付款时备注或邮件告知昵称和需要被链接的网址,会列在「赞助」页。其他方式与具体规则请见「资助」。

本文采用知识共享署名-非商业性使用 4.0 国际许可协议,可自由转载、引用,但需署名作者并注明文章出处且不能用于商业用途。

目录