C和C ++哪个更难?与诸如Python或Java的高级语言相比,C的难易程度如何?它对于AAA游戏编码是否像C ++一样好?
C或C ++哪个更难?
C和C ++相似,C ++非常像C的超集。如果您想进行面向对象的编程,则C ++具有OO功能,因此操作起来更容易。
与诸如Python或Java的高级语言相比,C有多难?
它是这样的:
C编译为机器语言。 C ++也是如此。 C ++曾经(比C)慢一些,但现在已经不复存在了。今天的C没有速度优势。
C并不是很复杂,但是对于大型应用程序而言,它的伸缩性并不理想。这就是OO的帮助。这就是Bjarne Stroustrup发明C ++的原因。他塞进了C缺乏的一堆OO优缺点。
尽管如此,C ++用户想要的是C ++仍然缺少的更多OO工具和功能。他们想使其与以前的C ++版本兼容。但是这使事情变得很复杂。
如果您从1990年代开始使用C ++,通常这不是问题。这些变化是渐进的。但是,如果您从一开始就跳入现在的C ++,那可能会令人生畏。
C与高级语言相比如何?
就像我说过的,C语言在语法方面还算不错,而且大多数现代语言都借用了C语言的语法。问题在于C缺少任何OO工具,因此您无法轻松地使用它进行OO编程。当应用程序变得更大时,例如AAA游戏,OO确实会有所帮助。
高级语言的问题在于它们的运行速度较慢。就比如Java通常会比C或C ++慢。尽管对于许多应用程序而言,它可能不是很明显,但对于游戏而言,它却是显而易见的。通常,您肯定希望游戏尽快执行。
您不会使用Java和C#来提高速度。尽管它们速度也比较快,但它们具有自动垃圾收集功能(这是一种内存管理功能),这可能会导致执行中意外的或意外的停止:这在游戏中不利。
而且,Python和Java需要虚拟机或特殊的执行环境才能运行。 Python需要Python虚拟环境,而Java需要Java虚拟机(JVM)。并非所有用户都有这些,这导致必须安装它们才能玩使用它们的游戏。
C(和C ++)没有此限制。它们被编译成机器语言,通常不需要任何额外的东西。
C / C ++ =快速=良好
Java / C#=较慢=较差
Python =更慢=更差
它对于AAA游戏编码是否像C ++一样好?
如上所述,他不是不行,但是很难。 1980年代的许多游戏都是用C语言编写的,但是那早于AAA游戏。况且今天您确实需要OO,特别是对于AAA游戏。用C建立和维护代码库要比用C ++编写代码难得多。
事实更是如此,因为大多数游戏工具,库和引擎都是用C ++编写的。因此,无论您是否喜欢它,都必须使用一些C ++。
因此,对于AAA游戏而言,C ++仍然是您的最佳选择。如果您已经知道Java或C#,那么学习C ++并不是一个坏的选择。即便从头开始学习它可能会有点难度。
C ++也许不是最简单的方法,但如今,它已成为AAA称号的最佳工具。
领取专属 10元无门槛券
私享最新 技术干货