游戏开发者抱怨程式码过份膨胀引致浪费 怒批:99%内容都是垃圾

撰文: T客邦
出版:更新:

作为一名从事独立游戏设计和程式业务的开发者,克里夫斯基(Cliffski)在一篇文章中吐槽道 —— 这年头的“程式码膨胀”,已经到了令人发指的地步。

▼▼▼即睇Cliffski对程式码夸张膨胀有何看法▼▼▼

+18

他以自己常使用的一个云端备份服务为例来说明,这个由某个大公司提供的云端备份工具,基本上提供的服务就是指向本地端硬碟上的一个资料夹,然后把内容复制到一个远端伺服器上。而上传到伺服器时,大公司可能需要做一些与资料库管理有关的事情,例如给这一堆上传的档案分配一个名称,并验证谁下载了它。

“这是一家大公司,所以他们有大的程式,而且可能经常被黑客攻击,所以需要一些安全保障,也需要一些验证,以确保在我上传和他们接收档之间没有被篡改过。我明白这一点。”他表示。“但基本上这个程度的目的就是列举一些文件,读取它们,上传它们,然后关闭连接,并提供一个日志档,说明是否成功,如果不成功,出了什么问题。事实上,我自己也从头开始写过这样的程式码,使用wininet API和伺服器上的php与MySQL资料库对话。与企业级的东西相比,我的东西可能没有那么强大,但它确实可以做到。”

不过他表示,今天他所使用的这个大公司提供的上传工具,档案大小共有230MB,里头有2700个不同的档案,就为了管理这个过程。

他表示这说明了现在的应用程式,已经超越了“臃肿”可以形容的程度,程式档案的膨胀已经变成“完全的、彻底的、明显的荒谬和疯狂”。

一个普通的程式设计师都可以编写一个同样功能的程式,它的程式码量小到只有这个应用程式的 1/20,足以将文件安全、快速地上传到伺服器。甚至可以是一个单独的 .exe 可执行文件,无需成百上千的动态链接库(DLL)。

不仅可行,而且简单、可靠、高效、易于调试。只需稍微努力那么一下,它就会起到切实的作用。

那么,现在的程式码为什么会变得这么大而臃肿呢?

“我见过不少程式员在干这种烂活,我知晓这种情况是怎么发生的。”他表示,越来越多程式设计师不去研究通过底层的高效程式码来完成工作,且许多人甚至从未写过所谓的好程式码。很多人往往就是引用DLL函式库,需要什么就去找什么。

“我可以断言,在你的电脑中许多应用程式,99.9%的程式码是绝对无用的,甚至从来没有被执行过。它只是在那里,在一套多达65个档案的DLL函式库中,这只是因为某个程式设计师想做一些微不足道的事情,比如保存一个点阵图,但他们不想从底层来写这个程式,所以他们导入了一整桶臃肿的垃圾来实现它。”

举个例子,当年一个仅 64Kb 的《Elite》游戏,就包含了庞大的星系、3D 太空战斗、职业发展系统、交易、以及数千颗可供探索的行星。

诚然,现如今电脑速度已经快到可以忽略程式的臃肿。但是在你使用电脑时,正在怀疑自己到底有没有点下去按钮的这半秒钟时间里,频率动辄数 GHz 的处理器世界里,早已过去了数十亿年。我们浪费了个人计算机 99% 的算力和能耗,就为了这些垃圾程式。

想像一下,在你急著想要在档案总管中快速搜寻某个档案的时候,工作管理员却在那搞一堆废话,如果你查一下后台,竟有102 个程序在忙碌著,天知道他们在干什么!

或许正因如此,我们才在几乎没有干任何事情的情况下,你发现你去年才买的机器,今年就“老了”。

你甚至需要每年都换一部新手机、新电视,以执行那些臃肿不堪的串流媒体 App —— 只因为它们依赖执行的程式码是如此糟糕!

他表示他非常怀念过去程式的黄金时代,程式员们对记忆体和 CPU 的限制了如指掌。如今,我们已经被迫生活在了一个效率极其低下、但浪费又如此夸张的泥潭里。

延伸阅读:《暗黑破坏神永生不朽》用简单小道具自动挂机 影响体验惹不满

+4

【本文获“T客邦”授权转载。】