介绍
我经常遇到这样的情况:库是用特定的编程语言编写的。这很好,如果我想以同一种语言使用该库,但如果我想使用不同的语言,这将是一个问题(这并不意味着可能存在或多或少的 hacky 方式)。
对于某些库,我感觉它们是用特定的编程语言编写的,只是因为任何语言都可以(并且由于作者的个人喜好),这意味着没有使用特定于语言的高级外部第三方库。对于这些情况,我认为如果有某种抽象(编程)语言,库作者可以在其中指定算法,但随后可以将其转换为许多其他编程语言,那就太好了。因此,如果我想使用该库,我可以简单地使用转译器以我选择的语言获取该库。
实际问题
所以我正在寻找一种语言,专门用于转换为最流行的语言(例如 Java、C/C++、Python)。我感兴趣的是是否有人曾经努力创建过这样一种“通用”转译语言。
请注意,我是not寻找从一种语言到另一种语言的特定转译器。我想知道是否存在一种(编程)语言,其设计用于可转换为许多不同实际编程语言的源代码。因此,我正在寻找的语言可能甚至无法自行运行(只有转译的代码才是实际的程序)。
虽然我有兴趣了解这种语言存在的一般优点/缺点,但由于 SO 的规则,这也不是这个问题的内容。因此,我要求您不要以这种风格撰写基于意见的答案。
这个问题的答案很可能是不存在这样的语言,但是由于我的研究没有提出任何东西,我想也许这里有人知道这样的语言,我可能会因为它没有被广泛使用而错过用过的。
一种旨在转译为各种其他语言的语言是Haxe https://haxe.org/
在撰写本文时,它支持生成以下源代码:
- JavaScript
- 动作脚本3
- PHP(包括 PHP7)
- C++
- Java
- C#
- Python
- Lua
(参考:https://haxe.org/documentation/introduction/compiler-targets.html https://haxe.org/documentation/introduction/compiler-targets.html)
它还支持直接编译为特定VM的字节代码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)