夜雨聆风学习资料网

ARTICLE · 1078221

软件本体论,同一个程序究竟存在在哪里

软件本体论,同一个程序究竟存在在哪里

软件本体论,同一个程序究竟存在在哪里

两个人从同一套源码构建软件,得到的文件可能不一样。就算逐比特一致,跑起来也可能出两种结果。

可复现构建把条件卡得很死:源码、环境、指令全一样,才能重建完全相同的产物。依赖版本和环境变量,也都算输入条件。

这就逼出一个本体论问题。发布包、可执行文件和完整构建过程,边界根本不同。它们在同一个目录里,也不代表是同一种对象。

把同一个可执行文件拷到两台机器上跑。一个收甲,一个收乙,俩进程各自退出、各占各的资源。内容相同,也没让两次运行合成一次。

Kubernetes 分得清工作负载和具体 Pod 生命周期。替换实例不能只看名字相同就认作原实例。

测试集上输出完全一样,一个用排序、一个用查表,能当互换吗?任务只限那批输入也许够。范围一扩大,时间、资源、错误处理一加,就得重新比。

所以给软件记账得分层。源码版本记表达,产物摘要核文件,部署标识追运行,行为规范说清系统该干嘛。每项连续性都得有自己的检查办法。

原文软件本体论,同一个程序究竟存在在哪里|第13篇
浙江,52分钟前,

相关学习资料