1

当我几年前学习 C++ 时,我有一些想法,例如:“为什么不通过编写一个具有统一语法的统一程序来在语言中添加一些有用的词法结构,该程序将通过几个翻译模块获得预源代码(用 smt 编写。像 perl 一样可移植)“并将最终文件传递给编译器。”

而我现在唯一的想法是:

  1. 如果您不知道如何用纯 C++ 编写它 - 再想一想
  2. 它可能(在一些糟糕的实现中)不是类型安全的
  3. 如果您使用其中一些“语法模块”,其他程序员可能无法理解您的代码

但:

  1. 我并不是说它不能用 C++ 编写——我只是说它看起来一定不完美。我说如果 C++ 看起来像 Ruby< 就没有什么问题。
  2. 如果实施很好 - 没问题。
  3. 如果 使用您从未听说过的库,您不会花费太多时间来了解它的一般工作原理——语法也是如此。

而且,实际上,现在我对 C++ 没有任何意见(除了在某些情况下会出现可怕的错误消息)。而我现在的想法是——

编写一个翻译器,从接近 Ruby* 这样美妙的语言到像 Erlang 这样强大的语言。

当然,我不会涵盖它们的所有功能,但对于一小部分任务(例如 - 直接用于 Web 开发)可能没问题,不是吗?

* 在我尝试之前,我也对 Ruby 和 RoR 持怀疑态度。我应该说 - 我很惊讶,但很高兴。

4

1 回答 1

4

如果您在 C++、Ruby 和 Erlang 等语言之间看到的唯一区别是语法,我会恭敬地建议您没有考虑过这个问题。语法在某种程度上很重要,但更大的问题是语义。所有这三种语言都有相当不同的语义,因此将一种语言中编写良好的智能代码翻译成另一种语言中同样智能的代码并非易事。

顺便说一句,Erlang 已经有一种类似于 Ruby 的编程语言,称为Reia。当您查看 Reia 代码时,语言之间的差异已经很明显了(对于初学者来说,Erlang 是不可变的,而 Ruby 是可笑的可变的,并且 Erlang 的模块/参与者/数据结构和 Ruby 的对象结构之间存在很大差异)。AFAIK,该项目已被放弃。

于 2011-12-04T02:57:22.487 回答