JVM和.NET运行时的编程语言

时间:2019-03-01 14:12:20

标签: java c# .net clojure jvm

我知道Clojure是为JVM和.NET(CLR)发布的。 是否有可以在JVM和.NET(CLR)上运行的任何编程语言。 我认为如果可以编写一次程序并同时在JVM和.NET上运行它,那是很好的。

谢谢。

2 个答案:

答案 0 :(得分:0)

我可以使用Google搜索找到以下内容:

  1. Ć编程语言http://cito.sourceforge.net/

cito会自动将Ć编程语言转换为C,Java,C#,JavaScript,ActionScript,Perl和D。Ć是一种新语言,旨在制作可移植编程库,其语法类似于C#。转换后的代码轻巧(没有虚拟机,仿真或大型运行时),易于阅读,并且非常适合目标语言(包括命名约定和文档注释)。

  1. 哈克斯https://haxe.org/

使用Haxe语言编写的代码可以按源代码编译为ActionScript 3,JavaScript,Java,C ++,C#,PHP,Python,Lua和Node.js。 Haxe还可以直接编译SWF和Neko字节码。

  1. 幻想http://fantom-lang.org/

Fantom是一种优雅的开源,面向对象的软件语言,可在Java虚拟机(JVM)上运行。 Fantom设计为可移植的,还可以编译为Javascript,甚至可以在.NET公共语言运行时(CLR)上运行!

  1. Onelang

https://github.com/koczkatamas/onelang

https://ide.onelang.io/

打字稿⇒C ++,C#,Go,Java,JavaScript,Perl,PHP,Python, Ruby,斯威夫特

答案 1 :(得分:0)

  1. JTransc

这与我的要求略有不同。

但是,您可以使用Java编写代码并将其转换为C#等:

https://www.kotlinresources.com/library/jtransc/

https://github.com/jtransc/jtransc

将Java,Kotlin和Scala代码转换为JavaScript,C ++,D,C#,PHP,AS3,Dart和Haxe并在任何地方运行。还可以将您喜欢的语言的JVM代码用作库。

JTransc(Java Trans编译器)是一种AOT(提前编译器),可以将.cl​​ass和.jar文件编译为目标编程语言/可执行文件,将所有必需的依赖项捆绑在一个文件或文件夹中,而无需抖动或外部运行时。

一开始它生成了as3和javascript,但现在有多个目标:Javascript,Haxe,C ++和D。Haxe本身可以定位其他几种语言:JS,AS3,C ++,C#,Java,PHP和蟒蛇。这样一来,便可以在台式机,浏览器和移动设备等不同平台上运行程序。


  1. XMLVM(字节码到字节码转换器)

http://www.xmlvm.org/overview/

XMLVM可作为多个项目的保护伞。对于所有项目,首先将Java类文件或.NET可执行文件转换为XML文档。基于前端生成的XML文档,可以进行各种转换。第一个转换从.NET交叉编译为JVM字节码。另一种转换使Java或.NET应用程序可以交叉编译为JavaScript,以便它们可以在任何浏览器中作为AJAX应用程序运行。另一个转换允许将Java程序交叉编译到Objective-C以创建本机iPhone应用程序。

相关问题