DOOM's DNA: 追踪代码结构跨44个移植版本的演变
Show HN: The DNA of DOOM – How code structure survives across 44 ports

通过软件考古学视角,我们分析了43个源自1997年DOOM源代码的衍生项目。即使剥离所有函数名、注释和可读文本,仅凭代码的“形状”——函数长度、分支频率和调用关系——也能精准识别其血缘关系。这项研究展示了从C到COBOL、Go、Scheme甚至SQL的20种语言移植中,哪些设计蓝图被保留,哪些被彻底重写。互动式可视化让你亲手追踪函数的演变,见证代码如何在不同语言中保持“家族相似性”。
即使隐藏所有名称,Go翻译版的函数仍有60%能准确归位到游戏对应模块,而随机猜测仅20%——代码的‘ wiring’本身就是最诚实的指纹。