-2

我不太相信 C/C++ 在某些情况下的表现,尤其是在保持数学世界的方法简单有效时,我不知道如何解释这一点,因为我只在其他方面熟练掌握了自己2 种语言:Python 和 Java(以及用于 www 世界的其他语言,如 html、js、php 等……),它们都与 C++ 完全不同,因为它们的设计方式。

我不喜欢它可能是语法和性能之间的混合,例如 C++ 本身不提供对矩阵或向量的支持,所有这些都归结为双精度和浮点数,您需要始终关注您的假设您之所以这样做是因为二进制算术有时会给您带来意想不到的结果,并且由于您的矩阵不是原始类型,因此它像任何其他自定义类一样被视为没有任何特定的数学优化,即使它是“数学”,有时它可以进行优化。

我可能会重复自己,但由于 C++ 它是我所知道的唯一编译语言,它适用于某种性能,我无法真正将它提供的东西与其他东西进行比较,但 C++ 世界的某些方面很麻烦,而不是真的以一种可以满足我需求的方式进行塑造,它可能是构建引擎的最佳语言,也是我的应用程序的最大部分,但我希望得到一些关于哪种语言可以成为 3D 应用程序的完美伴侣的建议,基本上,一个包含大量数学的应用程序。

4

1 回答 1

4

我不相信你的思路。

关于数学部分:我相信用原生 C++ 来做这件事很麻烦。但是,有许多可用的库可以帮助您以在开发和运行时性能方面都高效的方式进行数学运算。

例如,看看Eigen 库。Eigen 大量使用模板和编译器优化来充分利用您的数学。我还没有找到很大的优化潜力(嗯,你总是可以通过使用特定于处理器的优化,如 BLAS 来获得一点,但这也可以使用 Eigen 来完成)。

不过,我不是 3D 部分的专家。

没有一种语言可以单独提供您可能需要的所有功能。这就是图书馆的用途。您应该能够为您在 C++ 中遇到的大多数问题找到合适的库。

关于语法上的困难:我不知道您对 C++ 的研究程度。我每天都在学习新的东西——过去我开始学习时需要 10 行代码的事情现在可以一次性完成——而不会失去性能或可读性,相反,通常会获得更清晰的代码。因此:一切都与经验有关。

于 2012-11-29T20:24:56.333 回答