cURL Error Code: 7 cURL Error Message: Failed to connect to 127.0.0.1 port 9200: Connection refused cURL Error Code: 7 cURL Error Message: Failed to connect to 127.0.0.1 port 9200: Connection refused 汇编编程是残酷的,也是美丽的,甚至可能是通往更好人工智能的道路 - OurCoders (我们程序员)

汇编编程是残酷的,也是美丽的,甚至可能是通往更好人工智能的道路

2025-10-13 11:00:00 英文原文

作者:Gregory Barber

并不是 1999 年最流行的电脑游戏。但如果你看一下像素下面的情况——摇摇晃晃的游乐设施,饥饿、口渴、呕吐的人群(以及在他们身后拖地的看门人)——深入到代码,你看到工艺如此痴迷以至于近乎疯狂。Chris Sawyer,游戏的唯一开发者,用汇编语言编写了整个游戏。

某些编程语言,例如Python或者 Go 或 C++,被称为“高级”,因为它们的工作方式有点像人类语言,用可能适合诗歌大满贯的命令和习语编写。一般来说,像编译器这样的软件会将其转换为机器真正读取的内容:告诉实际晶体管如何运行的 1 和 0(或者可能是十六进制)块。汇编语言是最低级的“低级”语言,与机器的母语几乎一一对应。它直接对金属进行编码。通过组装来构建复杂的计算机游戏就像用脱落的猫毛编织挂毯一样。

为什么有人会这样做?我最近问了住在家乡苏格兰的索耶。他告诉我,效率是原因之一。在 20 世纪 90 年代,高级编程工具还不齐全。编译器非常慢。调试器很糟糕。Sawyer 可以通过在 x86 汇编(通用语言)中做自己的事情来避免它们英特尔筹码。

但我们都知道这不是真正的原因。真正的原因是爱。在转向过山车之前,索耶用汇编语言编写了另一款游戏,运输大亨。它让玩家负责一座城市的道路、火车站、跑道和港口。我把索耶想象成一名火车模型爱好者——铺设每一段轨道,手工缝制人造草坪,每个细节都是一种选择和一项苦差事。为了将这些精心制作的像素从位图转移到显示中,索耶必须充分发挥芯片的潜力。—过山车大亨之所以能出现,是因为我熟悉可能性的极限,”他告诉我。

在限制范围内工作?在这个数字丰富的时代,当在一个程序中调用单个函数时,这也许是一个外国想法。人工智能训练算法可以使用一百万个 GPU。通过汇编,你得到一件事,而且只得到一件事,而且这就是你所要求的——即使这是错误的,许多编码员都经历过惨痛的教训。这样的装配既残酷又美丽。它要求你准确地说出你的意思。

我已经完成组装创作者受到伤害。他们希望事情变得更容易,而不是更困难。我想他们已经厌倦了在蒸汽朋克巨兽上加载打孔卡和翻转开关。也许他们梦想有一个像我们这样的世界,在那里计算机可以在如此简单的指导下完成如此多的事情。

关于《汇编编程是残酷的,也是美丽的,甚至可能是通往更好人工智能的道路》的评论


暂无评论

发表评论

摘要

《过山车大亨》的唯一开发者 Chris Sawyer 用汇编语言编写了整个游戏,展现了精湛的工艺。在 20 世纪 90 年代,高级编程工具还不够充分,因此汇编对于从裸机代码编写复杂游戏等任务来说更加高效。Sawyer 的奉献源于对精心制作细节和突破硬件限制的热爱,而不仅仅是技术上的需要。装配提供直接控制,但要求精度,与当今丰富的数字资源和软件开发的易用性形成鲜明对比。过山车大亨

相关新闻

相关讨论