【问题标题】:Programming Language for both JVM and .NET Runtime [closed]JVM和.NET运行时的编程语言[关闭]
【发布时间】:2019-03-01 14:12:19
【问题描述】:

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

提前致谢。

【问题讨论】:

  • Haxe 和 Fantom 似乎对我很有希望(好)。
  • 挑剔:...编写一次程序... 程序使用外部库(从 Internet 下载的 jar 或 dll)是很常见的。如果你的程序使用了这样的依赖,那么跨平台运行是不可能的。

标签: java c# .net clojure jvm


【解决方案1】:

我可以通过谷歌搜索找到以下内容:

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

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

  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. 一郎

https://github.com/koczkatamas/onelang

https://ide.onelang.io/

Typescript ⇒ C++、C#、Go、Java、JavaScript、Perl、PHP、Python、 红宝石,斯威夫特

【讨论】:

    【解决方案2】:
    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 Compiler) 是一种 AOT(提前编译器),可将 .class 和 .jar 文件编译成目标编程语言/可执行文件,将所有必需的依赖项捆绑在单个文件或文件夹中,无需抖动或一个外部运行时。

    一开始它生成 as3 和 javascript,但现在有几个目标:Javascript、Haxe、C++ 和 D。Haxe 本身允许以其他几种语言为目标:JS、AS3、C++、C#、Java、PHP 和Python。这反过来又允许在不同的平台上运行程序,例如桌面、浏览器和移动设备。


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

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2011-04-09
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 2012-04-20
      相关资源
      最近更新 更多