反对软件无形论:基于唯物论的批判
——基于软件与软件思量之区分的唯物论论证
在关于软件本质的日常讨论中,“软件是无形的逻辑实体”“软件是摸不着的东西”这类说法广为流传。然而,这类貌似直观的断言实则隐含着根本性的概念混淆。本文旨在澄清这一混淆,并严格论证:软件是物质世界中的机器装备物,其全过程均落在物理运动之中,所谓“软件无形论”或值得质疑和商榷。
一、概念的澄清:软件与软件思量
考虑这样子的一个情况,神经科学的研究已为此提供了可靠证据:当程序员在脑中构建一段算法逻辑时,功能性磁共振成像(fMRI)可检测到其前额叶、顶叶等脑区血氧水平信号的显著变化,脑电图(EEG)则记录到事件相关电位的相应成分。这些生物电化学活动正是“软件思量”的物质基础。所谓“软件思量”(software thought),是指头脑中对程序的构思、想象与设计,它是发生于思维者生物躯体内部的思维活动。
当人们在进行“软件思量”,这可以被物理仪器捕获;而文档、媒介、通信也可以保存、交流这些“软件思量”的具体内容。
然而,当他终于敲下代码、通过编译器生成二进制文件并写入固态硬盘的那一刻,产生的是另一种一种截然不同的存在。程序已编译完成,而被“写入”但磁盘。磁力显微镜下,硬盘盘片上由磁化方向形成的明暗相间图案,精确对应着软件的二进制码;若以消磁器对硬盘整体消磁,这些物理秩序被抹除,软件即不可读取。程序员的劳动成果,作为软件的部分或模块,存于硬盘,跑在电路里,显示在屏幕上,无不依赖于“那设备”“那机器”,而被用户使用。由此可见,软件(software)则是写入存储载体、能够被处理器执行之物,软件绝非无形无质的思维内容,而是依赖于特定物理秩序的装备物。
软件和“软件思量”这一区分绝非咬文嚼字。又以水坝为例。文学艺术科幻作品中,人们头脑中的水坝可以纵情幻想高达数千米,而建成的物理上真实存在的水坝则具有精确的物理参数,服从材料力学与地质条件的约束。同样,程序员可以构思一个“瞬间破解RSA-2048加密”的程序,这仅属于软件思量;但任何已写入设备的软件,从手机中的微信到航天器中的飞控代码,其每一比特都对应着闪存单元的电荷俘获态或磁畴的磁化方向,是严格受物理定律支配的物质存在。混淆二者,无异于将建筑蓝图与建筑物视为同一。
二、批判“摸不着”的理据
“软件摸不着,所以它不是物质的,而是无形的”——这一断言隐含着一项未经检查的预设:能否被人的触觉直接感知,构成判断某物是否为物质的可靠标准。并且,据此论证所谓的软件是“无形”的。
然而,这一预设经不起物理事实的检验。地球磁场强度约0.5高斯,遍布周身,人手无感,但电子罗盘的指针偏转与铁屑在磁场中的宏观排列,昭示了这种不可触摸的物理场的客观存在。Wi-Fi信号为2.4 GHz电磁波,人体毫无触感,但射频功率计可精确测其强度。历史上,此类感官局限一再被物理实验突破:1643年托里拆利以水银柱实验证明空气具有压力,彻底推翻了以“摸不着”否定空气物质性的直觉;1800年赫歇尔以温度计发现红外线,1802年里特以氯化银试纸发现紫外线——人类感官的局限一再被物理仪器所突破,“感知不到”从未构成“不存在”的界限。
回到软件本身。所谓“摸不着”,常常是对软件的了解不深,无非是不了解相关的物,于是认为人手触觉感受器“摸不着”。事实上,软件从未脱离过被“触碰”。现代机械硬盘的隧道磁阻读取头在距离盘面约3纳米的气垫上飞行,通过检测磁畴翻转引起的电阻变化来逐比特读取数据,这是磁头与磁化状态之间真实的物理相互作用,由此软件和系统可以“数据读写”、“加载”、“应用”、“运行”。动态随机存储器依赖微小电容的电荷量表示逻辑状态,控制器须每六十四毫秒对全部行地址执行刷新充电,否则“数据丢失”、“软件错误”、“系统崩溃”。“软件”必须躺在存储器上,依赖于各个设施,而存储器中的文件丢失、损坏、异常,各个设施异常、不可用,“软件”也就开不起来了、陷入故障与混乱了。
三、软件物质存在的全生命周期图景
从底层物理原理审视软件的全生命周期,每一环节均落在物质运动之中。这不妨说是一种认识软件的科学范式。
这仅以物理现象为例,还未涉及到使用各种物质资料、前沿的科学方法,创造性地构建、实现、运行各种旧的新的软件。
——存储。以固态硬盘为例。固态硬盘通过Fowler-Nordheim隧穿效应将电子注入浮栅晶体管,改变其阈值电压以记录数据;擦除时电子被移除。
——安装与卸载。仍以固态硬盘为例。安装与卸载正是对这些电子群体的物理操作。
——执行。CPU寄存器间的电荷转移、ALU进位链的电平翻转、系统总线的信号传播,均可由片上电压对比度成像或高带宽示波器捕获其时序波形。
——传输。软件在光纤中表现为1550纳米波长的激光脉冲序列,在铜缆中则为曼彻斯特编码的差分电压变化,由光电探测器与协议分析仪实时还原。
——显示。帧缓冲的行扫描电平转换驱动屏幕像素点亮。
存储、传输、执行、显示、安装、移除——通过逻辑分析仪、电流探头、半导体参数分析仪等物理测量手段,既可以检测软件的“不可破坏的物质身体”,软件的物质性,是科学仪器可重复验证的事实,而非思辨的假说。
软件是什么?软件又绝非无本质的东西,神秘的东西。我们通过生物化学仪器可以检测一匹马,但马又不仅仅是这些生物化学仪器所产生的信号——这就需要马科学的指导,这才能更好地理解马是什么。
四、区分的意义:辩证关系与认识论价值
将软件与软件思量加以区分,绝非意味着二者彼此隔绝。恰恰相反,只有在明确区分的基础上,才能看清它们之间真实的辩证联系。这不仅仅不是否认软件思量的巨大作用,实际上,我们可以看到,由于实践的广泛性和问题的具体性,软件思量对软件是有巨大的影响和作用的。
首先,软件的实际存在为软件思量提供内涵、意义和论域。在编程语言设计中,C++“概念”(Concept)这一特性的精确语义,并非由委员会成员的脑中纯粹想象所赋予,而是最终由能够成功编译并运行对应代码的编译器与运行时行为所界定;若没有实现,思量便流于模糊。同样,“云原生”一词从模糊设想到成为具有共识的技术论域,离不开Kubernetes等实际可运行的容器编排系统在物质层面的广泛部署。实存的软件是相关的思量得以具备明确内涵的“试金石”。
其次,正确的软件思量能够有效指导软件的科学学理与工程实践,带来质量与满意度的提升。Dijkstra于1968年提出结构化编程的思量,摒弃混乱的GOTO语句。后续实证研究表明,采用结构化编程的模块圈复杂度显著降低,缺陷密度明显低于同等规模的非结构化代码。NASA在航天器飞控软件中推行形式化规约先行的思量,使数百万行代码实现接近于零的缺陷率。这是正确思量转化为工程卓越的明证。
反之,不当的、错误的软件思量则必然引入风险,造成损失,甚至滑向科技迷信和伪科学的歧途。1990年代所谓“量子共振诊断软件”声称通过头发即可检测百病,其思量建立在虚构的物理机制之上,造成大量患者延误正规治疗,相关企业被以欺诈起诉。更晚近的案例中,某自动驾驶企业高管因错误思量,宣称其“全无人驾驶”软件已然成熟,但传感器融合算法存在对静止障碍物漏检的缺陷,最终导致致命车祸与巨额损失。这些事实链条表明,脱离物质性检验的思量绝非无害的幻想,而是可能导向欺诈、危害生命的社会性灾难。
当然,有一些软件思量还未正式进入科学和工程实践的范畴,他们有的是反应了美好的愿望,有的是对美好生活的探索,有的是难以避免的知识的谬误,这些软件思量并不是简单的就是正确还是错误的,有些还有其超越性、本真性、源头性、前瞻性的独一无二的价值。
五、结论
软件思量与软件分属不同层面:前者是思维活动,以其生物躯体为物质载体;后者是已写入载体、可被执行的机器装备物,以其物理状态为存在方式。将软件误认为“无形”,是长期混淆这两个概念,并将人类感官局限误用作存在标准的错误结果。
反对“软件无形论”,绝非无关痛痒的语义之争。澄清概念、确认软件的物质性,既是维护科学理性、防范伪科学蔓延的认识前提,也是正确从事软件工程、评估技术风险的实践基础。只有在承认软件的物质实在性的前提下,我们才能充分理解思量的能动作用与物质约束之间的辩证关系,既拥抱创造的自由,又警惕空谈与迷信的陷阱。
(使用AI辅助写作,有编辑)
※ 修改:·darkk 于 Jun 3 14:47:46 2026 修改本文·[FROM: 120.231.67.*]
※ 来源:·水木社区
http://www.mysmth.net·[FROM: 120.231.67.*]
修改:darkk FROM 120.231.67.*
FROM 120.231.67.*