使用C写游戏有什么优点?

  有些事是毋庸置疑的。首先,它必须值得信赖。我不能把时间花在解决那些不是我造成的问题上。以前许多游戏都是用flash来编写的,然而现在 flash正在面向灭亡。我不想把不必要的时间花在把旧游戏迁移到新平台上。我想要的是制作新的游戏。所以我需要一个我可以自信地使用一段时间的平台。同样的,我想避免被绑定到一个特定的操作系统。理想的情况下,我想选择开发一个控制台。因此,选择一种编程语言最重要的是它是可移植的,并且支持可移植的库。

  我们对语言的看法

  我追求的最重要但不是必须的是它的简单。我发现寻找语言特征和它的聪明和古怪的api是一件非常累人的事情!理想的语言是——这些东西不需要寻找就可以记住。另外,处理那些bug绝对会使你的创造性流失。所以我想要一个强大的强类型错误消息和静态代码分析来减少错误的发生。我还想要一个好的debugger和动态分析来使我更容易发现bug。我不在乎性能是否强,但至少可以使用。如果你不想现实,它可以用现代的,强大的计算机来探索它的可能性。

  我甚至关心编译器的速度。我不是一个非常专注的禅师。等待十几秒对我来说是一种浪费,但更重要的是,它会打破我思维的节奏。

  我不追求面向对象(OOP)。我花了太多的时间管理类和对象,但我发现花了更多的时间,但我不太明白为什么代码和数据应该严格地结合起来。我想处理数据并编写适合这种情况的代码。

  备选方案

  C++ 仍然是编写游戏最普遍的语言,没有原因。我用它写了很多项目,但我真的不喜欢它。

  C++ 涵盖了我所需要的,但却没有满足我想要的。太复杂了!虽然有些工具非常好,但它仍然很容易出错。和C相比C++编译速度很慢。但即使它是高性能的,并且有一些C没有的特性,我也不在乎它是否有。

  C# 和 Java 有些通病。它们都是漫长而复杂的怪物,我所需要的只是简单而简洁的东西。 它们都迫使程序员去思考面向对象编程的风格,这通通都是我反对的。作为高级语言,他们应该有隐藏其复杂性的倾向。

  我喜欢去比我多。在许多方面,这是c的再开发,我选择使用去,但它也有一个很大的问题,阻止我使用它。使用stop-the-world的方法来实 现垃圾回收算法对于游戏是件再烦人不过的事情。游戏库支持也有点弱,虽然你可以使用C库,但这会增加更多的工作。这足以让我怀疑它的长期效用。尽管它为网络提供了良好的服务,但它也具有糟糕的快速移动环境的性质。这可有点flash灭亡的意思。然后我想说我真的真的不喜欢java,它是如此的松散模糊,我特别讶异居然有人能够在软件中使用它写上一大块。我对尝试它几乎没有兴趣。

  Haxe 感觉上比其他语言更有前景。如果我仍然对网络做些什么,我会选择它。它有很好的图书馆支持。我只是有点担心你的不成熟和长寿。好吧,我没什么好说的了。

  Jonathan Blow正在编写他自己的语言,一种他自己想用的语言。我非常羡慕。有时我会想去做。但考虑一下,您需要放弃所有现有的库支持,并承担未来兼容性的责任,以至于您需要考虑它。这太难了。当问题的本质在这里时,我宁愿玩游戏。

  为什么C是我最好的选择

  C既危险又可靠。就像一把锋利的刀,切割你的手指和切蔬菜,但学习如何仔细使用它并不是太困难。

  它编译速度特别快,我无法想象它比它更快。

猜你喜欢

转载自www.cnblogs.com/yoyo02/p/10992866.html