为何我还坚持用C语言开发游戏
多游戏都是为 Flash 开发的,现在 Flash 快要死了。我不想花时间将旧游戏移植到新平台,我想制作新游戏。我需要一个可以信任一段时间的平台。 同样,我想避免将自己绑定到特定的操作系统,并且理想情况下,我希望可以具备为控制台开发的选择。因此,重要的是编程语言是可移植的,并且具有良好的可移植库支持。 我理想中的编程语言 在我想要的但不是必需的列表上,最重要的是简单性。我发现查找语言特性,以及各种古怪的“聪明” API令人厌烦。我希望熟练一种理想的语言,然后再不必查找任何东西。 处理 bug 是巨大的精力消耗。我希望错误能尽可能少的产生,所以我需要严格的类型检查,强烈的警告消息和静态代码分析。我希望 bug 更容易被发现,所以我想要好的调试器和动态分析。 我对高清现实并不感兴趣,但我仍然对性能有所关注。拥有更多可用周期可以拓宽工作范围。如果您不信守忠诚,探索现代功能强大的计算机可能带来的影响尤其有趣。 进一步,我更关心编译器的速度。我不是禅宗大师,等待 10 秒钟以上会是一种浪费。而且更重要的是,等待会打断我的工作流程,刷刷 Twitter,突然发现 5 分钟或更多时间就没有了。 我不是一个虔诚的 OOP 使用者,尽管我大部分职业生涯经历都在处理类和对象,但是花费的时间越多,对为什么要如此严格地结合代码和数据的理解就越少。我需要将数据作为数据进行处理,并编写最适合特定情况的代码。 替代方案 C++ 仍然是开发游戏的最常用语言,并非没有道理。我仍然用它来完成几乎所有合同项目,但我非常不喜欢它。 C++ 满足了我的需要,但严重挫败于我真正需求,它极其复杂。尽管有不错的工具,但仍然容易创建各种隐匿的错误。与 C 语言相比,它的编译速度也较慢。它的性能还不错,并且提供了 C 语言所没有的功能。但那些并不是我真的想要的功能,而且成本很高。
C# 和 Java 也有类似的问题。它们是冗长而复杂的野兽,但我需要一种简洁简单的替代。它们都为使程序员发展成为我强烈反对的 OOP 风格做了很多工作。按照大多数高级语言的设计,它们倾向于隐藏复杂性,而实际上并不能阻止它带来的困扰。 (编辑:通化站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |