当我几年前学习 C++ 时,我有一些想法,例如:“为什么不通过编写一个具有统一语法的统一程序来在语言中添加一些有用的词法结构,该程序将通过几个翻译模块获得预源代码(用 smt 编写。像 perl 一样可移植)“并将最终文件传递给编译器。”
而我现在唯一的想法是:
- 如果您不知道如何用纯 C++ 编写它 - 再想一想
- 它可能(在一些糟糕的实现中)不是类型安全的
- 如果您使用其中一些“语法模块”,其他程序员可能无法理解您的代码
但:
- 我并不是说它不能用 C++ 编写——我只是说它看起来一定不完美。我说如果 C++ 看起来像 Ruby< 就没有什么问题。
- 如果实施很好 - 没问题。
- 如果 使用您从未听说过的库,您不会花费太多时间来了解它的一般工作原理——语法也是如此。
而且,实际上,现在我对 C++ 没有任何意见(除了在某些情况下会出现可怕的错误消息)。而我现在的想法是——
编写一个翻译器,从接近 Ruby* 这样美妙的语言到像 Erlang 这样强大的语言。
当然,我不会涵盖它们的所有功能,但对于一小部分任务(例如 - 直接用于 Web 开发)可能没问题,不是吗?
* 在我尝试之前,我也对 Ruby 和 RoR 持怀疑态度。我应该说 - 我很惊讶,但很高兴。