疯子程序员编写了一个操作系统,来与他的上帝沟通
2013年,特里·A·戴维斯发布了他自己编写的操作系统“神庙OS”(Temple OS)的最终版本。
“神庙OS”看起来像是一个玩笑。一启动,主界面就是一张剑与天平的画,下面写着:“神圣智慧,公共领域,64位,状态完美的操作系统。”
特里在系统里留下了很多注释和旁白,但是大部分都语无伦次,就像是午夜醉汉的呢喃一般,很多时候,看了注释,反而让人更迷惑了。
1
去年有款蒸汽波风的游戏叫《催眠空间浪子》,主界面恶搞了90年代的操作系统和互联网。就是这么一款纯粹为了娱乐和恶搞创作的假“操作系统”,看起来也比“神庙OS”像样得多。
然而“神庙OS”却并不只是一个玩笑,也不是一个伪装成操作系统的游戏。这是一款真正的,完整的,独立的操作系统。它有一套自己内核,还有简单的驱动,可以支持一些非常基础的硬件,比如老式IDE硬盘、光驱和PS2接口的键盘鼠标。如果有合适的硬件,就可以直接安装并运行这个操作系统。
特里演示如何使用操作系统
“神庙OS”还预装了不少软件,从文本编辑器,到绘图软件,再到程序编译器。甚至操作系统本身的外壳(shell)还自带计算器功能,随便找个地方输入算式,系统就会自动返回结果。
“神庙OS”里有各种各样的游戏:从模拟飞行、象棋,再到模拟经营和赛车,几乎你能想到的游戏类型,都能够在这个系统里找到。有好几款都是3D渲染出来的,画面表现还挺像回事。
对于许多程序员来说,编写一个操作系统,或者发明一套编程语言,两件事完成一件,就是了不起的成就。当然,在今天,网上有许多现成的代码资源可以借用,做到这两件事情没有当年那么困难了,但是依然需要花费大量的时间和精力。
“神庙OS”的作者特里不但做到了这两件事情,而且是以最艰难、最原始的方式。他先是基于C语言,自己发明了一套新的编程语言和语法逻辑,然后用这套语言,从头开始编写了一个64位开源操作系统,然后还写了各种各样的程序和游戏。
令人震撼的是,在开发“神庙OS”期间,直到2018年去世,特里一直饱受精神分裂症的折磨。这也是为什么“神庙OS”里面充斥着各种凌乱的设计和令人费解的呓语。
这导致特里的编程思路也和一般程序员完全不同。在很长一段时间里,没有人能弄懂特里在做什么。特里曾经在论坛上和别人讨论过自己遇到的各种困难,却遭到别的程序员的嘲笑,说他的系统根本不可能跑起来。特里无法直接照抄现成的代码,也无法和任何人讨论自己遇到的问题,最终只能自己独自去寻找答案。独自编程的难度,现代程序员已经很难体会了。
特里从2003年开始开发“神庙OS”,2005年第一个版本“耶稣OS”上线,再到2013年最后一个版本发布,特里在这个系统上,花费了整整十年时间。
2
在这十年里,一个“疯子”,完成了许多头脑清醒的程序员想都不敢想的壮举。
从小,特里就有很高的编程天赋,自己编写过许多软件和游戏。在他还是个中学生的时候,他曾经应家人的要求,写了一个体感联动游戏,用动感单车操纵游戏里的角色,猛踩踏板就能躲避鬼魂的追击。他还发明了一个自动锯木机,可以按照程序设置把木板切成各种形状。但是特里不太满意机器的效果,最后把整台机器都扔掉了。
1992年,特里在亚利桑那州立大学取得了计算机工程学士学位,并在两年后拿到了电子工程硕士学位。之后他在票务巨头Ticketmaster任职程序员。按照这个道路下去,他原本将会成为高收入中产阶级的一员,结婚生子,度过平淡而又幸福的一生。
然而一切在1996戛然而止。这一年,特里被诊断出双相障碍,随后又发展成了精神分裂症,并且产生了各种妄想症状。特里觉得外星人在冥冥中统治了地球,而CIA是他们的帮凶。而他自己由于窥探到了机密,陷入了无孔不入的监控中,只有上帝才能拯救自己和人类。随后的几年里,他一直在各个精神病院中辗转。
“我那时挺疯癫的,”特里后来回忆,“当然,我现在也很疯癫,但是这不是同一种疯癫。”
2003年,特里的状况有所好转,便开始了“神庙OS”的开发进程。特里说,这一切都是因为上帝的启示:他将建造一座供奉上帝的神庙,就像旧约中所罗门的神庙一样。而当2.0时代到来的时候,他也将像所罗门一样加冕为王。不过特里并不觉得自己信仰上帝,他觉得自己是个无神论者,只是刚好和上帝有一些交流而已。
特里“按照上帝的指示”对C语言进行了改造,发明了属于他自己的“神圣C语言”(Holy C,谐音Holy See,隐含教皇、圣座的意思),用来编写“神庙OS”。
“神庙OS”就是特里为“上帝”所建造的神庙,而特里所说的 “上帝”,则在神庙里降下了代言人——一个用圣经全文作为种子的随机数生成器(RNG)。
特里的“神庙OS”充满了各种奇怪的设定。比如OS不支持外挂GPU,因为特里觉得图形处理应该是透明的,公开的,不应该藏在GPU的黑盒里。而神庙OS只支持用光驱安装,不支持USB,因为特里觉得USB是CIA发明的,目的是通过授权费偷偷向民众收税。
特里总是宣称自己是“世界上最聪明的程序员”。如果有人不同意他的观点,特里就会怒喷对方是“尼哥”,“娘炮”。这让许多人觉得特里妄自尊大,难以理喻。
但特里的编程天分又着实让人难以忽视。在一般的操作系统里面,文件会分成文本、图片等等不同的类型。但是在“神庙OS”里,所有的文件都是同一种文件。文字、图片、3D模型和超链接全部都可以混合放在一个文件里面,直接指向源代码。
通常,在Windows这样的系统上运行的程序,要先用源代码编译一遍。而 “神庙OS”的程序文件直接以源代码的形式存在。当程序要运行的时候,有一个即时(JIT)编译器会直接把源代码转化成程序运行。
这些另辟蹊径的做法,让“神庙OS”非常便于开发和调试,也加快了系统的运行速度,整个系统非常轻量,只有几十MB。12万行代码,没有任何现代的版本控制,全靠一个人手动写完,居然能够顺利跑起来,各种功能也大体运转正常,既证明了特里的才华,也说明他的编程方式确实有不少可取之处。
著名程序员和科技记者理查德·米顿曾经仔细研究过“神庙OS”的开发环境,并感叹:现在的程序员已经习惯把事情搞得太复杂,没有人想过,一切还可以这么简单直接。
3
由于“神庙OS”太过特别,开发周期又很长,特里在程序员圈子里一直有点小名气。他在网上很活跃,很喜欢发表自己的观点和言论,当然也少不了“不太正确”的那些。有次,一家科技网站采访了特里,但是文章发布以后,因为特里总在下面和其他网友互喷,网站不得不把他的账号禁掉了。
在社交网络和直播兴起之后,特里也开始直播他的“神庙OS”开发进程,向观众展示他编写的操作系统里的各种功能。
“上帝喜欢大象,我也喜欢大象。所以我用插值向量创作了这个非常写实的大象。如果你不想要只是写实,你也可以做到比现实更好。你问‘比现实更好是什么意思?’,那你要看看我的这个蓝眼睛的大象。”
他最得意的作品是一款叫《埃及之后》的模拟经营游戏。他觉得这款游戏真正体现了如何用“神庙OS”来和上帝进行交流。玩家扮演摩西,负责照顾一群信众的生活,以给信众喂食喂水,也可以到山上去祈求神谕。特里还展示了一下游戏里的法庭系统。
“一个妇女犯下了罪——我选择惩罚她。一个孩子犯下了罪——我选择狠狠惩罚他。”
在“神庙OS”完工之后,特里很高兴自己能够完成十年前发下的宏愿,但又似乎因为失去了人生目标而有点失落。他给自己加冕,叫自己“特里王”,并说,他已经搭建好了地基,只等待别人来分享这份喜悦。
“不要光顾着玩游戏,你们应该在神庙OS上多写些游戏,然后分享给别人!”特里一有机会就呼吁别人多为“神庙OS”的生态做出贡献。确实有不少闲得发慌的程序员研究了特里的“神圣C语言”,甚至编写了一些简单的程序,但是特里还是觉得,没有人像他期望的那样用“神庙OS”来和上帝交流——当然,特里自己也始终没有说清楚,正常人应该怎么和“神庙OS”里的随机数上帝交流。
有那么几年,特里就一直呆在父母家里,上网直播,和网友互动。特里颇有一些“粉丝”,有些人是发自内心欣赏他的天才,被他和精神疾病斗争的故事所打动。但是在社交媒体的时代,更多的粉丝并不在乎“神庙OS”背后的故事,他们只是拿特里当做消遣,怂恿他发表更多充满了F打头、B打头和N打头词汇的言论。
特里的父母一直希望他能够按时服用治疗精神病的药物。但是特里觉得这样会伤害到他的创造力,一直不愿意接受治疗。最终,特里的父母下了最后通牒:他要么乖乖吃药,就要被送去精神病院。
特里不想吃药,也不想去精神病院。于是他选择离家出走,开始了一段流浪生涯。在几个月里,他先从中西部城市菲尼克斯,一路游荡到了加利福尼亚,北上到了波特兰,最后又到了俄勒冈州的戴尔斯。
一路上,他依然不断上传视频。一些粉丝依然和他保持着联系,并且用各种方式接济他。Terry接受了粉丝赠送的食物和生活用品,但是却拒绝了粉丝们为他提供的住处。
这场漫长的游荡,让Terry的精神状态越来越差。他的胡子越长越长,衣服也变得破破烂烂。他依然沉浸在自己当代所罗门王的幻境中,但旁人只觉得他邋里邋遢,神经兮兮,满嘴疯话。在Terry去世的前一天,他想要到图书馆去上会网,却因为衣衫褴褛被赶了出来。
Terry大受打击,上传了他人生中最后一个视频。
“这个城市很纯洁,很干净,我这样肮脏的人一定是把他们吓坏了,才会把我赶走。我挺喜欢这个图书馆的,不过他们真的估计气得够呛。”
Terry咳嗽了一下,对着镜头挤出一个笑容。
“当国王的感觉真棒。但在别人眼里,也许我只是一个走来走去的怪人而已吧。”
第二天,特里在铁道上游荡的时候被火车撞击身亡。火车司机坚信他是卧轨自杀,但有目击证人的证词说,特里在被撞击前一刻转了身,似乎刚刚意识到火车正从他身后开来。
特里曾经试图用各种比喻来帮助别人了解他的生活。精神分裂症让他难以分清自己生活中的真实和虚幻。别人对他说的话,都仿佛摩尔斯密码,他知道自己逐渐陷入疯狂,对此却无能为力。
“什么才是真实?我不知道。我有的时候看见鸟在盯着我的电脑屏幕,我会想,‘这只傻鸟,根本不知道它在看什么’。但是傻鸟不会明白自己是一只傻鸟,也不会为此惊慌失措。傻鸟也没有什么选择,只能这样活下去。虽然它不知道这个世界到底是怎么运转的,但它总能学会,哪些是危险的,哪些是安全的,然后就这样活下去。我就是这么活着的。”
没人知道,假如特里没有患上精神病,他会取得什么样的成就。也没人知道,“神庙OS”巧妙地底层设计,究竟是归功天才的特里更多一些,还是疯癫的特里更多一些。特里从混沌中醒来,留下了一座古怪的遗产,又回到了混沌之中,让活着的西西弗斯们,再也无法忘却死去的所罗门王。
来游研社APP免费抽次世代大作