与操作系统一样,在办公室软件套装和计算机中也具有各种计算机语言。存在这种多样性的原因与其它地方的多样性一样—-因为没有单一的解决方法能够解决所有的问题。有些语言在原始速度上更出色。有些语言能够帮助你更轻松地编写防止崩溃的代码。有些语言非常擅于剖析文本并有效作用于服务器上。有些语言具有强大的公司投资。也有些语言之所以存在是因为它们与大量不适合重新编写的现有代码相兼容。
你的语言选择将影响着你的项目,并且你不可能在项目中途突然改变语言,所以这是你必须重视的一个选择。这也不是一个你能够根据自己的个人喜好或朋友的提议而做出的选择。你关于项目的计算机语言的选择应该是经过仔细研究且务实的。最重要的是你的结果的质量而不是语言是否配得上你个人的编程技巧。
“如何选择适合自己项目的编程语言”将分析一些游戏程序员经常使用的语言。这并不是一个完整或深入的列表。本文倾向于呈现给你最受欢迎的游戏开发语言,同时还会提供一些简短的介绍以及它们在哪种情境下是有利于项目或不利于项目。
如果你还是一位新手,那么这一列表可能会包含一些你并不熟悉的术语,并且也没有足够的空间对这些术语进行详细解释。所以我建议你可以在百科上进行相关搜索。
C++(from sina)
C++是C语言最早建立的“子”语言。它诞生于20世纪80年代,是作为C语言的延伸版本并支持“类”,这是将原始数据类型和算法聚集到更容易创建现实世界(或者游戏中的模拟世界)对象模型的内容中的抽象数据结构。C++类同样也支持“隐藏数据”概念,在这里你可以将一个对象的根本执行隐藏起来。尽管这一方法看似有点难理解,但在基于团队环境编程时这却非常有帮助。这让你们能够在对象界面如何运行且无需考虑其内部运行方面达成一致意见。这就像是在说“我将给你一份工作,但我不关心你是如何做的,只要你能够完成它,并且结果是我想要的便可。”
优点:完全支持面向对象(OO)的范式,这比支持大型项目的C语言好多了。与C不同的是,它包含了一个带有常见数据结构和算法的设计精巧的程序库。
缺点:随着每一次迭代,C++的算法变得更大且更复杂,现在这一预言完全变成是拜占庭风格了。该算法本身很容易被滥用,虽然C++支持团队变成,但是且巨大且深层次的算法会让代码变得更难读。
可移植性:尽管是源于C语言,C++却拥有比前者更棒的可移植性。引导大多数现代移植工具箱都是执行于C++对象程序库而不受早前的C功能程序库。此外,C++的标准程序库以及非常有用的Boost程序库非常标准化且是跨平台的,尽管这两者都很复杂。
是否适合新手:尽管在C++中内存管理和I/O操作都比C语言好理解,从规模来看C++拥有非常高的学习曲线。他们并不需要为此学习整个语言。