Skip to content

0923|海边的西塞罗付费文章:大宋,屎山代码与"星空政治学"的悲剧

65
2026-09-23

大宋,屎山代码与“星空政治学”的悲剧

水运仪象台与沈括的太阳历,

“中国科技史骄傲”的背面是什么

各位好,上个星期写了《那一次,我们真的“遥遥领先”了吗?》一文,感谢喜欢并支持这个系列的读者朋友。

这是我一直想写的一个科技史问题——许多中国科技史书籍都会告诉你,我国古代有非常辉煌灿烂的天文学,非常古老而详实的观测数据,非常精准的历法,甚至早在宋代,我国历法就已经达到了西方格里高利历一样的精准程度……

但这就产生了一个问题,既然我们的上古天文学如此牛 x,为什么后来反而迅速落后了,不仅没有哥白尼、伽利略那样的天文大爆发,乃至到了明末清初,没了西洋传教士的帮助,连一本精准的历书都编不出来了。

这是一个能说明所谓的“李约瑟难题”为什么是个伪命题的有趣故事。上一篇《唐篇》是“点题”,而这一篇《宋篇》则是破题。我将用两个故事告诉你,那些聪明的大脑、那些天才的想法、那些精妙的机械、以及为供养这些耗费的天文数字的民脂民膏,是怎样在我们的历史中被浪费掉的。为什么它们石沉大海,却没有激发起近代科学萌芽的一丝波澜。

因为要说一些让有些人不开心的话,这篇万字长文依旧是付费,多谢理解。

1

如果大学的时候辅修中国科技史,你一定能看到教科书向你高傲的介绍宋代的“水运仪象台”。

这台在宋哲宗元祐七年(公元1092 年)由大科学家苏颂、韩公廉主持制造的巨型仪器,被赋予了李约瑟赋予了一堆无数吓死人的头衔:“世界钟表史的始祖”、“人类历史上第一台天文钟”、“肉眼观测时代机械工程的最高峰”。

由于它难得的留下了设计图纸,李约瑟看到它的图纸时,眼珠子都快掉出来了,他在《中国科学技术史》里用了无数极其华丽的词藻去赞美它,声称它领先了西方近代机械钟表几个世纪。

确,那是一座高达十几米、相当于三层楼激发高的巨型青铜与木质机械塔。最上面一层,放着用来观测星空的青铜浑天仪;中间一层,放着一个画满了星宿、能随着天体无缝同步旋转的青铜大球(浑象);最下面一层,则是全自动的报时木阁,每到一刻钟,就会有木人手拉长幡、手执木槌出来敲钟击鼓。

而驱动这台几十吨重、成百上千个齿轮严丝合缝咬合运动的“底层动力引擎”,居然只是极其原始的漏刻滴水。天才的苏颂发明了“天衡”系统(也就是现代钟表最核心的擒纵机,这个机械,欧洲直到 17 世纪的航海钟发明才成熟运用),利用水斗盛水后的重力杠杆原理,卡死齿轮的转速,让整座机械塔能够以像素级的精度,去对齐历法的脚步。

在公元 11 世纪的世界地平线上,这尊伫立在汴梁皇家天文台里的机械神迹,确实是一座巍峨的、足以让同时代西方和阿拉伯人目瞪口呆的“技术丰碑”。

可是若把牛吹得这么大,就存在一个非常说不通的问题——因为我们知道,好的天文钟一定是为天文学进步而服务的,以西方为例,都不用“水运仪象台”这种级别的天文钟出现,单凭手摇的微型星

盘和简单的机械天象仪(Orrery),16 世纪的欧洲学者就计算出了托勒密天文模型的不完美,于是哥白尼、第谷、开普勒、伽利略、牛顿……地心说一步步被敲碎了,人们摸到了万有引力和椭圆轨道的真理大门,进而引爆发了近代科学革命。

天文钟之所以在史上重要,就是因为这个。可是苏颂的水运仪象台,在科技上,却是个“不下崽”的死物,在技术上,它是“中国古代机械天文钟的最高峰”,这就是说,在它以后,我们再也造不出更精妙的机械了。

而且在科学上,它也没有助推中国发生天文学的“范式革命”,甚至乃至进步都没有因它而发生。

也就是说, 我们曾有过世界上最好的天文钟,却没有让这个天文钟发挥应有的作用。一个学生,买了最好的圆规、三角尺、铅笔盒上考场,考了零蛋回来。

你说这到底是骄傲,还是耻辱呢?

而且,李约瑟不会告诉你的是,正经天文钟一旦造出来,基础理论不过时的情况下,它应该是一直可用的。可是“水运仪象台”的使用年限是多久呢?

16 年。

为什么只有区区十六年?这其中的中国特色奥妙,是外国人李约瑟老师看不懂,估计也不想懂的。

归根结底,朝廷之所以愿意耗费巨量的民脂民膏,支持苏颂他们去“搞科研”,建造这台“水运仪象台”,为了配合宋哲宗元祐年间修订的新历法——《元祐奉元历》。

当时,大宋的朝廷刚刚经历了一场政治地震。支持王安石变法的“新党”倒台,高太后垂帘听政,“旧党”全面复辟。为了证明太后垂帘

听政的伟大光荣正确,朝廷决定搞这个新历法来证明一下自己“承天景命”。

宋代有一个挺有意思的传统的,自从第三代皇帝宋真宗搞“天书封禅”开始,宋代就特别喜欢动不动改个历法,来证明一下自己获得了老天爷的“天命”——有宋一代,到底改了多少次历法呢?

有史可查的,就有 19 次。

是的,300 多年的两宋历史,改历 19 次,这个频率,高居中国历代王朝之冠。也和时隔不到一百年后的大明,同样三百年,居然一次历法没改,形成了有趣的对比。

平均每十几年就要把天上的“时间算法”格式化一次,大宋的百姓和基层官吏,一个人一辈子要跟着朝廷昂首挺胸迈进好几次“新纪元”。今天朝廷说今年是闰三月,打明儿起换了个历法,可能就变成了要闰四月了,赋税徭役都要重算一遍……

这中间要耗费多少行政成本,怎么折腾老百姓咱就不提了。光说“元祐更化”这一回,朝廷的新思路:王安石下台了,司马相公秉政,那朝廷总得来个新历法重获天命吧?

但司马相公他们一抬头,却发现了一个让人极其尴尬的现实:天上的星星不听旧党的话。

当时王安石新党推行的是《明天历》,这部历法虽然是新党主持的,但它是北宋的天文官耗费数年实测出来的,数据精度相当高。

司马光和旧党官员们一上台,口号喊得震天响,说要“全面废除新法,恢复祖宗旧制”,那就也要把新党的《明天历》当成“乱臣贼子”的产物给彻底废了。但你这就得出一个更精准、预测更准确的历法啊,那怎么办呢?

还是上一篇唐代推行《大衍历》的那个思路,“大衍写九执”,大体框架、算法完全不动的情况下,在具体的精算上我要比你搞得更准确、更细致一点。以证明我优越于你。

对,耗资巨大的“水运仪象台”,就是在这种“内卷”压力下被制造出来的。它依然没有构筑新的天文模型,顶端那个浑天仪其实只是摆设,真正精妙的,是它底部用无数齿轮构筑出来的的“自动化代数拟合系统”。

苏颂和韩公廉带领手下的官员和巧匠,用机械齿轮比来死磕代数公式。他们计算出精确的齿数比,让这台几十吨重的机器在漏刻滴水的匀速驱动下,通过内部那些忽快忽慢、精妙传动的齿轮组,同时,底层的木人会在代数方程算出的“精准时刻”,分秒不差地走出来敲钟击鼓。

但是这套系统,依然是“没有未来的”。

西方的星盘或者 17 世纪出现的真正天文,它们的内部传动逻辑是基于纯粹的几何模型——也就是把天球的三维运行简化为齿轮的比例。

如果观测到了新的星体,或者调整了时间参数,工匠只需要更换一两个局部的小齿轮,或者调整一下摆轮的速度即可。

用今天的计算机术语说,它是一个“开放式系统”。

但水运仪象台不是。由于中国古代天文官不关心也不敢关心天文的几何模型,这台机器的本质,只是把《元祐奉元历》那一整套极为庞大、复杂的代数多项式方程,直接用青铜的齿数、轴距给物理固化了下来。

整座巨塔就像是一个用水力驱动的、无比巨大的“死循环程序”。你想要微调哪怕一个参数,都会引发整座大厦里成百上千个齿轮连锁性的咬合崩溃。

换句话说,新历法一颁布,这台造价等同于大宋国库几个月收入的巨型机械,就从技术上失去了进行任何“软件升级”的可能,只能沦为一堆机械具象化的“屎山代码”。

而这个迭代来的特别快。

元符三年(公元1100 年),年仅24 岁的宋哲宗驾崩,由于膝下无子,他的弟弟端王赵佶登基,是为宋徽宗。

徽宗一上台,年号“崇宁”,支持变法的“新党”卷土重来,蔡京当国,开始对当年的旧党进行掘地三尺式的政治清算。司马光被砸碑毁墓,苏颂被列入“元祐党人碑”永世不得翻身。

人都在政治上都被打倒了,那在专业上,东西当然也就一点不能留。崇宁五年(公元1106 年),蔡京下令启动“崇宁改历”,重用天文官姚舜辅,推出了一部再次号称大宋最精准、最代表新党先进方向的《纪元历》。

那新历法一出,水运仪象台自然也就不能用了,因为如前所述,这台机器里的每一个齿轮,都是为旧法专门设计的,一点也改动不得,在崇宁新时代,它转起来就是反动。

那就关了吧。于是水停了,天衡的杠杆卡死了,巨大的青铜浑象发出了沉闷的金属摩擦声,最后戛然而止。

在接下来的十几年里,它就那样静静地伫立在汴梁的皇家深院里吃灰。偶尔有风吹过,最底层的木阁里还会传来一两声干瘪的、错位的鼓声,像极了这个王朝在盛世末期发出的垂死叹息。

直到公元1127 年,靖康之变爆发。

金兵攻破汴梁,洗劫了这座繁华的帝都。将领们在皇家苑囿里看到了这尊顶天立地的机械巨兽。虽然他们看不懂上面的星宿,但他们看得懂那是沉甸甸的、能铸造无数兵器的优质青铜。

金太宗倒是对这台机器颇感兴趣,这个北国汉子不懂南朝的新旧党争,遍寻天下能工巧匠,甚至拷打那些被俘虏的宋朝司天监官员,命令他们让这台机器重新运转起来。

但是没人能满足皇帝的这个需求。

苏颂已经死了,韩公廉也死了。当年参与铸造的工匠,早就云散不知去向,再说这台机器想当初就是为了拟合一部历法硬凑出来的东西,被判定为“不正确”多年,谁还能理解其中过于复杂的精微呢?

于是机器被熔了,做成了金国人的刀剑。而水运仪象台,成为了一个科学上毫无启发,技术上不可复现、甚至不可修理的绝唱。

2

我们再来谈几乎同时期的另一个悲剧。

有宋一代,三百年改了 19 次历法,朝廷重印了无数次历法书,报废了无数个水运仪象台这样(所谓的)“当时世界最先进天文钟”,

为什么就没人想到,干脆废止既要看太阳,也要看月亮的“阴阳合历”,干脆制定一部对农业生产更友好、真正“授民以时”的纯太阳历呢?

就像我们今天通行的公历,它最初起源于公元前46 年古罗马的儒略·凯撒大帝颁布的《儒略历》,距今已经有两千多年的历史了。

公元1582 年,由于西方天文学的进步,罗马教皇格里高利十三世下令对其进行了一次微调升级,但直到那时为止,这部历法的误差也没有超过十天。而直到今天,我们依然执行着这套谁都可以轻易推算出日期的“格里高利历”(即公历)。

你看,人家两千年了,就改了两次历法,至今依然使用。

而且这套历法的逻辑异常简单且纯粹:一年就是 365 天,每四年加一个闰日,每四百年减三个闰日。

这意味着什么,海岛上与世隔绝的鲁滨逊,至少他会在木头上刻痕数日子,他都算得清今天是哪年哪月几号,不会耽误了农时。

而我们常说的农历,你要是不去买一本新历,只翻“老黄(皇)历”,你根本不知道哪年该闰月,今年又该多少天。

那宋代如果“天文技术”了得的不得了,那在频繁更历折腾得鸡飞狗跳、百姓徭役和赋税经常重算的改历风暴中,就没有一个聪明人看穿这一点,提出搞一部纯太阳历吗?

还真有,而且这个人,我们还挺熟,他就是沈括。

今天我们提到沈括,好像就记得他做了一本《梦溪笔谈》,把它尊为“中国科学史上的里程碑”。

但其实你从这本书的名字就可以看出来,它根本不是什么正经写的科学著作,只不过是沈括晚年的随笔回忆录而已。

沈括在正史上最正经的科学贡献,、是破天荒的提出了一套中国的纯太阳历——《十二气历》。

这是他在这个“科技孤岛”上释放出的一发石破天惊、却无人理会的信号弹。

沈括可能观察到,在大宋频繁改历的大背景下,民间其实已经弃用了朝廷公布的历法,转而算起二十四节气过日子了。

于是他提出,要不朝廷也制定这样一套历法,以节气为划分年月的标准。

传统农历最大的麻烦在于:它既想照顾月亮(按月亮圆缺定初一、十五),又想照顾太阳(按太阳定二十四节气)。因为月亮转一圈和太阳转一圈的时间根本凑不齐整数,所以农历必须每几年就强行塞进去一个“闰月”。这就导致农历的节气在月份里到处乱跳,今年清明在二月,明年可能就跳到了三月,农民种地必须年年查日历。

在沈括的日历里,新年的第一天不再是看月亮决定的“正月初一”,而是“立春”这一天。只要立春的时刻一到,不管天上的月亮是圆是缺,大宋全国立刻放鞭炮过新年。

立春那天, 就是“一月一日”; 惊蛰那天, 就是“二月一日”; 清明那天, 就是“三月一日”……以此类推, 十二个单数节气, 正好卡死十二个月的开头。

同理,雨水,一定在一月中旬;春分,一定在二月中旬;谷雨,一定在三月中旬…十二个双数节气,又刚好是十二个月的月中。

那么这十二个月该怎么算呢?这里《梦溪笔谈》的原文记载的比较模糊,既说“双月双小,单月单大”,又说“纵有两小相并,一岁不过一次。”,同时他又明确提出了四年一闰日的法则。

总而言之,沈括应该是设计出了一套平年五个大月(31 天)七个小月(30 天),闰年六个大月六个小月的纯太阳历。这个历法精度,虽然比五百年后的格里高利历还是略逊了一筹,但已经达到了儒略历的水平,是那个时代最方便也最实用的历法方案了。

当然,也有猜测认为,沈括的这个《十二气历》可能潜移默化中,还是受了西方历法的影响,因为就在《十二气历》思路提出的同一时期,波斯天文学家兼数学家欧玛尔·海亚姆(Omar Khayyam)在公元1079 年主持编纂的《加拉里历》,也即大名鼎鼎的波斯太阳历。

这套波斯太阳历就是明确的借鉴了同时代西方执行的儒略历,用以校准当时伊斯兰世界太阴历的。而沈括这个人,因为出使过辽国,他又极有可能通过北方草原上那条横跨欧亚、从不停歇的丝绸之路

情报网,在西域胡商或辽国波斯乐官的口中,隐隐约约捕捉到了这股当时正风行世界“太阳历”潮流。

如果这个猜测属实,那历史在这里就极为黑色幽默:波斯人正拿着西方的儒略历去校准伊斯兰世界的太阴历;而大宋的沈括,又把波斯人或者西方的构想,拿来试图打破波斯折腾了上千年的“历法黑箱”。

按说这是大宋一个非常难得的改革机会,这么一改革,不仅历法好算了,而且省去了十几年就要改一次历法,矫正岁差的繁琐。能为朝廷和民间都省下一大笔钱。

但是,沈括的提案被否决了,礼部的文人们拍案而起,怒斥沈括“离经叛道、涌乱乾坤”;太史监的世袭天官们也在背地里咬牙切齿;甚至连民间的普通百姓,也把沈括的这个想法视为离经叛道的怪谈。

摆在明面的理由是两个:

第一个质问,关于中秋。

沈大人,按照你这套纯太阳历,八月十五这一天是纯粹看太阳位置定出来的。那万一到了八月十五中秋节这天晚上,天上连一丝月光都没有,你让我们大宋广大子民,对着一片漆黑的夜空,去赏哪门子的月?你好友(当时可能也不是好友了)苏轼,还写什么《水调歌头》呢?

第二个质问,关于除夕。

大年三十除夕夜,那必须是“月穷岁尽”,是月相彻底隐没、天地陷入绝对黑暗、象征着旧岁终结的神圣时刻。要是按照这套历法,到了除夕夜那天下正午,天上正好挂着一轮大圆月亮,你让全天下的孝子贤孙,在光天化日之下,守哪门子的岁?祭哪门子的祖宗?

当然,过个中秋、除夕,这只是幌子,背后的那个算计才是最要命的。

首先,中国古代天人感应的核心,就在于日食和月食。而日食月食的发生,在天文学上完全取决于太阳和月亮轨道的交汇点(朔望月)。这可是上天对皇帝行使合法性进行弹劾的“终极警告”。

如果大宋为了省事改成纯太阳历,日子和月相彻底脱钩,皇家天文台不再费尽心机去捕捉月亮的微弱波动,那就等于皇帝主动放弃了对“最致命天象”的预报权。这在政治维稳的账本上,是会产生破产性的代价。

当然,还有另一个更深层也更要命的算计——如果历法变成简单的太阳历了,一年 365 天雷打不动了,四年加一天就行了,谁都能随意推算了。那皇帝“授民以时”的这个伟大任务,就彻底不存在了。民众至少在日期推算中成为了彻底游离于皇权管制之外的自由体,而这恰恰是皇权所必须防范的。

考察中国的上古历史,我们会有一个吃惊的发现,那就是“天子”的最初职能可能就是“授民以时”。

《尚书·尧典》有云:“乃命羲和,钦若昊天,历象日月星辰,敬授民时。”在那个不识字、没有纸张、甚至连青铜器都还未普及的蛮荒时代,什么人能成为天下的共主、万民的君王?不是手里拿钢刀的刽子手,而是手里握着时间刻度的天神代理人。

在靠天吃饭的原始农业社会里,什么时候该春耕,什么时候该秋收,就是生与死的界限。一个部落首领如果能精准地告诉你,再过三天就会春雷大动、可以下种了,你在心理上就会对他产生一种近乎神明般的终极崇拜。

这就是华夏皇权最底层的合法性来源——天子之所以为天子,是因为上天只把时间的密码赐予了他一个人。由他,再“赏赐”给全天下的草民。

那么这样一个人,他其实天生就没有动力把历法搞得过于“清楚明白”——如果你直接告诉老百姓,一年就是三百六十五天,然后四年一闰,四百年除三闰,这样就能把握农时,那天子就相当于没活干了。

于是必须得搞些什么阴阳调和、日食月食、乃至神鬼鬼的东西夹在历法里,把历法搞得特别复杂,十几年就得换一次,普通人根本不知道怎么置节气和置闰,这样才能维护皇家对天的“独家解释权”。

也是因为同样道理,宇宙的运动模型到底是怎样的,被定义为“天机”,不仅不同老百姓不可以学,就连天文官你们最好也不要搞得太明白,就做做代数方程拟合,把历法算准确就行了。

所以中国古代皇帝观测天文,本意不是要把“天文”搞明白,反而是要把“天文”搞糊涂。

我甚至有一种猜想,哪怕是西方世界,如果不是因为埃及文明尼罗河水每年定期泛滥,正好与明亮的天狼星的升起相拟合,老百姓有目共睹,谁也瞒不住。于是一年 365 天过早的成为了人所共知的共识,可能西方世界也会试图有人来垄断并刻意神秘化天象以及历法。

但是,这个现象最终发生在了东方,在阳历传入之前的中国,老百姓如果私下制定私历、推算节气,其罪名不是“侵犯版权”,而是“欺君造反”;甚至你买个皇历,也不能叫“买”,必须叫“请历”。

这是一种精神和生存维度的全盘控制,朝廷不仅要管你的思想,而且要在时间上垄断你。让你离了皇帝,不知“今夕是何夕”。

沈括那套纯太阳历《十二气历》,最行不通的地方,恰恰就在这里。甚至大量证据表明,在沈括之前,中国就曾有人想过制定太阳历,

但每一次都没走通——朝廷不会为这种过于简单的历法背书,你也不能制定私历,那是谋反。

甚至,也多亏了沈括生活在宋代,他才敢把自己的思路写在《梦溪笔谈》里,到了明代,这个想法你在笔记里也不能提,因为朱元璋在《大明律》里白纸黑字写着“私习天文者斩”。别说你上书改革了,你在随笔里敢写“朝廷的历法不准,其实应该按太阳节气来”,这就叫“妄称天数、动摇国本”,所以明代的文人笔记里,天文学彻底成了一片彻底的“政治黑域”。

而没有推算简单的太阳历,皇权长期垄断“敬授民时”,对科学发展的阻碍是严重的。

我们常常自吹中国古代有最好的天文观测记录,殊不知这些观测记录是死的,后世利用起来非常困难。

比如,如果一个现象宋初某年某月末日发生一次,宋末某年某月某日又发生一次。某人想先算具体隔了多少天,再找其中规律。不好意思,请你查明大宋 19 次改历每一次具体是怎么调整的。什么《建隆万分历》、《乾元历》、《仪天历》、《崇天历》、《明天历》、《奉元历》、《观天历》、《占天历》……挨个来一遍吧!

时间越久,差的就越多,算量越庞大,终于不可能。

那么中国古代天文官的数据推算,就这么慢慢被越改越复杂、庞大的历法运算给卡死了,汉代、唐代还是数学,不懂几何,也可以进行代数拟合,但明代就干脆成了玄学了,复杂到连司天监自己都躺平了。

苏颂“水运仪象台”和沈括《十二气历》的故事,我们讲完了,你会发现一个有意思的事儿。就是这两个故事,在李约瑟开创的传统“中国科技史”论述系统中,都是能拿来自吹自豪一下的段子——我们天文钟领先西方多少年,我们的太阳历也不输西方。

但把这两个故事换个角度,再一看,你才能看出它们的真相,中国古代的天文学乃至主要为其服务的高阶数学,本质上不是科学,而是“唯象的应用代数”,且这种学问是被皇权越来越严厉的垄断、并神秘化的。中国自秦汉以来的制度演变,其底层动力只有一个——“中央对地方的防范、皇权对民间的防范”。甚至不仅仅是天文,只要一门技术(比如天文学、图像、大船、火器)被发现具备了不可控的溢出效应,皇权就会自发地在第一时间将其“没收、阉割、闭源并世袭化”。从苏颂水运天文钟的被废弃,到沈括《十二气历》的流产,正是这套“防范高于发展”的制度免疫机制在起作用。

科学的不萌发,不是皇权失效的结果,而是它运行的过于完美的体现。

于是类似的故事,在皇权进一步加强的明、清,就会更惨烈、更荒诞的上演……

全文完
  • 0

评论