我和我的 friend 正处于为他的论文创建专为游戏编程而设计的特定领域语言的第一阶段。
该语言将是相当低级的,它将具有类似 C 的语法、可选的垃圾收集,并且将面向内存或处理能力很少的系统(即任天堂 DS),但应该足够强大方便PC端开发。 它不会是一种脚本语言,而是一种编译语言,但由于我们不想花几个月的时间来编写一个普通的编译器,因此第一个实现基本上是一个 LanguageName 到 C 的翻译器,以 TCC 或 GCC 为结尾编译器。
现在,我有一个问题要问所有游戏程序员:
您希望在这样的语言中看到什么?从实现和语法角度来看,哪些功能最适合它?要避免什么?
编辑:
我们已经想到的一些事情:
- 基于状态的对象 - 对象可以存在于其状态之一(或子状态)
- 事件和函数 - 事件不一定要存在才能被调用,并且可以冒泡
- 有限的动态分配和指针支持 - 我们希望它尽可能安全
- 支持对象合成(Hero 由 Actor、Hurtable、Steerable 等(动态)组成)
- 状态中的“资源”,在状态开始/结束时自动加载和卸载(例如,OpenGL 纹理对象就是一种资源)
- 对本地化和序列化的基本支持
- 可快速解析的语法
- 我们希望使语言尽可能一致:所有内容都作为值传递,每个声明都有可预测的语法(例如,
function retType name(type arg) is (qualifier, list) { }
;除了限定符列表之外,任何地方都没有const
、static
、public
限定符)等。
最佳答案
让并发编程变得更容易的东西。也许是 Erlang 和 C++ 的混合体。自从 Cell 处理器发布以来,我一直断断续续地思考这个问题,但开发它并解决传统 C++ 程序中已经有解决方案的许多问题需要大量的研发时间。
关于programming-languages - 您希望在游戏编程 DSL 中看到哪些功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783957/