最近我一直很烦,因为我达到了C++(甚至0x)感觉非常有限的程度,所以我开始寻找替代方案.
忘记Java,C#,Python或Ruby.我仍然喜欢C++的低级特性,我不喜欢虚拟机.此外,我是一个游戏引擎开发,所以我必须要发展核心程序必须是非常快,而且最近我已经饿了码表现.C++ 对我来说几乎是一种语言,但是关于如何使用模板有很多例外,而GCC并没有像我希望的那样优化内容.
所以我正在考虑开始学习D.
你认为它足以满足我作为游戏开发者的需求吗?我很谨慎,因为我从来没有听说过D被用于那个.
谢谢!
Meh*_*dad 39
我最近自己学到了很多D,尽管还有更多要去.从我到目前为止所学到的,我会说,虽然语言对于几乎任何东西都很好,但是现在那里的编译器和库并不是最好的,因此你无法确定编译器没有错误(事实并非如此).对于游戏编程,你需要确保垃圾收集正确发生,例如,并且编译器没有错误地优化掉重要的代码...这样的事情可能会让你重新思考使用语言.然而,我自己认为语言本身是最好的(这是完全主观的),我认为使用它的唯一障碍是缺乏完美的实现,而不是语言本身.
pon*_*nce 24
我使用D 1.x进行游戏和演示,其中一些是公共领域开源(A,B,C,D,E).
D可以为你提供C++中闻所未闻的生产力 - 如果你愿意为每个人争论为什么要使用D而付出高昂的代价.
如果你走这条路,我建议你选择D 2.x,Derelict和Visual D(暗示未来的读者:这是2011年).
至于游戏开发:
D GC不是一个真正的问题.如果你在一个框架中分配太多,那就是它.汇集,重用等经典方法......工作.
你可以在Linux,Mac和Windows上轻松编写x86程序集.如果允许非常有趣的模板化裸装配功能,也是静态的.
跨越模块边界的内联工作没有"链接时间优化"开关
我发现维护调试和发布版本更容易(与C++相比)
避免使用新功能并保守地选择编译器......就像在C++中一样
Cor*_*rch 14
Kenta Cho使用D和Simple DirectMedia Layer(SDL)来开发他的Windows游戏.他们很有趣.寻找灵感和来源:
D是一种很棒的视频游戏语言,它具有快速开发高性能可执行文件的所有功能:
您不需要单独的脚本语言,也无需额外的编译步骤来生成代码,当性能对于低级系统很重要时,您不仅限于虚拟机的内存模型,而是可以获得脚本编写的所有生产力和安全性.管理您的游戏逻辑语言.您甚至可以自由选择程序,面向对象,功能,通用或元编程范例来解决手头的问题.
嗯,这不像是你使用D你必须从头开始完全构建一切.例如,您可以使用:
我不确定覆盖层.这是一个非常坚实的基础,希望对我有用:)
祝你好运!
在D proramming他们是:
最常用于语言编程的opengl 3和4不受支持
一点点操作方法:http://blog.fedora-fr.org/bioinfornatics/post/D-programming-OpenGL-and-MVC-Pattern
对于在D中使用RAII,它们是非常强大的关键字范围
欢迎来到2014年!
截至撰写本文时,D 的最新版本是 2.067。D 在 方面稍微不稳定auto,但除此之外,我不明白为什么不使用 D。编译器已经有了很大的改进。
我认为D比C++更容易阅读,也更容易学习。它包含一个 C 接口和一个 C++ 部分接口。它甚至允许内联汇编与您的变量交互。D 标准库称为 Phobos。
我强烈建议 D.D 是为了效率而设计的。Adam D. Ruppe 表示,“[C]同样快”。C 是最快的语言之一。因此,如果您想构建一款具有 C 的速度和 C++ 的高级功能的游戏,D 就处于中间位置。如果您有任何疑问,请随时加入 irc.freenode.net #d。
总而言之,D 基本上是 C++ 的安全版本。虽然该语言是多范式的,包括 OOP,但重点放在 FP 范式上,使用pure函数和不变性。所有对象都有一个init属性,因此如果您声明“int foo;”,它就会被初始化为int.init. 是的,还是有指点的。D 中的指针称为左值,值称为右值。左值总是指向右值。
欲了解更多信息,请访问 D 官方网站:http://www.dlang.org/。
| 归档时间: |
|
| 查看次数: |
20996 次 |
| 最近记录: |