java - JVM/CLR 源代码兼容语言选项

标签 java .net programming-languages

我有一个开源 Java 数据库迁移工具 ( http://www.liquibase.org ),我正在考虑将其移植到 .Net。

该工具的大部分(至少从复杂性方面来说)是围绕逻辑的,例如“如果您要添加主键并且数据库是 Oracle,请使用此 SQL。如果数据库是 MySQL,请使用此 SQL。如果主键是命名并且数据库是 Postgres 使用此 SQL”。

我可以 fork Java 代码库并(手动和/或自动)隐藏它,但是随着对上述逻辑的更新和错误修复,我不想将它应用于两个版本。我想做的是将所有这些逻辑移动到一种可以被 Java 和 .Net 版本天真地编译和使用的形式。

我要转换的代码不包含任何高级库使用(JDBC、System.out 等),这些使用在 Java 和 .Net 之间会有很大差异,所以我认为这不会成为问题(最坏的情况是它可以围绕它来设计)。

所以我要找的是:

  • 一种语言,我可以用这种语言编写我的应用程序的通用部分,并将其编译成目标平台上“标准”语言可用的类
  • 不向系统添加任何运行时要求
  • 没什么奇怪的是它吓跑了潜在的贡献者

我知道 Python 和 Ruby 都有针对 JVM 和 CLR 的实现。它们是否符合我的要求?有没有人成功(或不成功)将这种技术用于跨平台应用程序?我需要担心什么问题吗?

最佳答案

查看 Fantom programming language .它有自己的类似 Java/C# 的语法,但可以针对 Java VM 或 .NET CLR。​​

他们的 "Why Fantom"页面高度概述了他们的可移植性方法与在 VM 上运行的动态语言。

关于java - JVM/CLR 源代码兼容语言选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/812474/

相关文章:

java - 本地安装 Spring 温室的问题

java - 哪个更快 - Cursor 或 ArrayList?

php - 在没有数据库的情况下结构化文件

swift - 编程语言如何实现跨平台特性?

java - 使用 java 编辑 Pastebin 帖子

java - Kafka 连接 API 客户端

c# - CreateDelegate 拒绝为实例方法创建委托(delegate)

c# - 如何在不发送电子邮件的情况下检查 smtp 服务器?

c# - EF 代码优先 - 从代理获取 POCO

c# - VB.NET和C#的语法比较系统、全面、完整