我目前正在玩编程语言。我花了一些时间用高级语言(最著名的是 Haxe)编写解析器和解释器。
我有一些结果,我认为实际上相当不错,但现在我想让它们快点。
我的想法是将输入语言翻译成 C。
我的 C 知识仅限于你在大学学到的知识。除了一些练习之外,我从未编写过真正的 C 程序。但我有信心我可以让它发挥作用。
当然,我可以尝试为 LLVM 编写前端或生成 MSIL 或 JVM 字节码。但我觉得现在要学习的东西太多了,实际上我并没有看到太多的收获。
C 语言也完全是人类可读的,所以如果我搞砸了,更容易理解为什么。毕竟,C 是高级别的。我真的可以从输入语言中翻译概念,而无需费神费力。我应该在合理的时间内启动并运行一些东西,然后在我认为合适的时候对其进行优化。
那么:使用 C 有什么缺点吗?你能推荐一个替代品吗?
感谢您的见解 :)
编辑:一些澄清
- 我想一路走下去的原因是,我正在编写一种支持 OOP 的语言,并且我想手动实现我的方法调度,因为我有一些非常具体的想法。
- 主要使用领域是编写 HTTP 服务,但我可以想象将绑定添加到 GUI 库(可能是 wxWidgets)或其他任何东西。