2

我意识到不可能拥有一种对所有事情都最好的语言。

但是有一类简单的程序,其源代码在任何语言中看起来几乎相同。

我想的不仅仅是“hello world”,还有算术,也许是字符串操作,这些基本的东西你通常会在实用程序类中看到。

我想将我的实用程序保留在这种元语言中,并让它自动翻译成一堆流行的语言。我现在用手做这个。

同样,我不要求翻译每一个可能的程序。我在想一种非常有限、简单的语言,但超级便携。

你知道这样的事吗?它不应该存在有什么理由吗?

4

5 回答 5

2

检查Haxe及其维基百科页面。它是开源的,其主要目的就是您所描述的:仅从一个来源生成多种语言的代码。

于 2011-12-14T18:04:01.847 回答
1

几乎任何你选择的语言都会有一些不能以自然方式映射到另一种语言的特性。我能想到的最接近的可能是 JavaScript 的一个有用子集。当然,如果你是语言作者,你可以尽可能地限制它,只提供几乎所有语言通用的结构(循环、条件等)

出于可变性的目的,最好使用 XML 表示,但您不希望在其中编写代码。

于 2010-12-09T17:17:39.373 回答
1

如果您发现没有通用语言,您可以尝试一种实用的模型驱动开发方法,使用基于模板的代码生成器。

在模板上,您保留了算法的基本概念。然后,您可以在必要时以一种或多种特定语言(C++、Java、JS、Python)为该算法添加代码。无论如何,无论您选择哪种语言或方法,您都必须这样做。配置开关将为您应用的任何模板选择正确的语言。

AtomWeaver是一个代码生成器,它使用模板并采用 ABSE 作为建模方法。

于 2010-12-14T01:11:34.147 回答
1

我做了一些寻找,发现了这个。 https://www.indiegogo.com/projects/universal-programming-language 看起来很有趣

于 2015-01-12T15:34:45.253 回答
0

经典的 Pascal 非常简单。Oberon 是另一个类似的选择。或者,您可以发明自己的衍生语言,类似于计算机科学教科书中的伪代码。将其中一种语言的翻译器实现为任何体面的现代命令式语言是微不足道的。

于 2010-12-10T10:36:30.450 回答