为转译而构建的抽象(编程)语言

Abstract (programming) language built to transpile

简介

我经常遇到库是用特定编程语言编写的情况。太好了,如果我想使用同一种语言的库,但如果我想使用不同的语言,那将是一个问题(这并不意味着可能会有或多或少的 hacky 方式)。
对于某些库,我感觉它们是用特定的编程语言编写的,这仅仅是因为任何语言都可以(并且由于作者的个人偏好),这意味着没有使用特定于语言的高级外部 3rdparty 库.对于这些情况,我认为如果有某种抽象(编程)语言,库作者可以在其中指定算法,然后可以将其转换为许多其他编程语言,那就太好了。因此,如果我想使用该库,我可以简单地使用转译器以我选择的语言获取该库。


真题

所以我要找的是一种语言,它专门用于翻译成最流行的语言(例如 Java、C/C++、Python)。我感兴趣的是,以前是否有人经历过创建这种 "universal" 转译器语言的努力。

请注意,我不是寻找从一种语言到另一种语言的特定转译器。我想知道是否存在一种(编程)语言被设计为可转换为许多不同实际编程语言的源代码。因此,我正在寻找的语言本身可能甚至 运行(只有转换后的代码才是实际程序)。
尽管我很想听听一般 pros/cons 是否存在这种语言,但这也不是这个问题的问题,因为这里有关于 SO 的规则。所以我想请你,不要用这种风格写基于意见的答案。

这个问题的答案很可能是没有这样的语言,但由于我的研究没有发现任何东西,我想也许这里有人知道这样的语言,我可能错过了它没有被广泛使用。

一种旨在转换为其他各种语言的语言是 Haxe
在撰写本文时,它支持为以下内容生成源代码:

  • Java脚本
  • 动作脚本 3
  • PHP(包括PHP7个)
  • C++
  • Java
  • C#
  • Python
  • Lua

(参考:https://haxe.org/documentation/introduction/compiler-targets.html

还支持针对特定虚拟机直接编译成字节码