什么是编写游戏项目的最佳编程语言,为什么?
为什么游戏编程世界被C++所主导?
这是一个比较困难的问题。从大多数情况来看,C++是一种更适合编程游戏的语言,因为它提供了很多直接控制内存管理的选项,可以更加精细地调整性能。这个事实以及C++比C#存在更长时间,使其在游戏行业中占主导地位。
然而,如今,随着.NET平台和C#日渐成熟,不容易排除它作为游戏编程领域中的强有力竞争者的地位。我认为对于近期来说特别如此,因为.NET 4.0和C# 4.0将带来全新的多线程和并发编程时代,可以给他们的平台带来巨大的性能提升。随着多核CPU席卷桌面计算机世界,而高度核心化的CPU也只是距离不远,使用.NET和C# 4.0开发多线程应用程序的方便性将挑战C++的地位。
最终,这将完全取决于你认为需要多少控制内存管理,以及这种控制是否值得在大规模并行游戏领域付出努力。如果你需要这种控制,并认为能够处理以C++编写高度并行的游戏,那么你可能会从中获得一些好处。否则,我认为C# 4.0将是更好的选择。
值得注意的是,现在距离我最初撰写本文已经两年了。Silverlight游戏,尤其是Windows Phone 7上的Silverlight,已成为一个庞大且快速增长的平台,开发出了许多先进的游戏。自2010年11月该平台首次推出以来,WP7上的游戏已经爆炸式增长,已经有比竞争平台更多的游戏被开发出来。鉴于移动设备的普及程度和人们玩游戏的流行程度,我认为这是C#作为游戏开发语言的强大和能力的强有力证明。相当多的WP7游戏都是完全3D的图形密集型游戏。