JVM / CLRソース互換言語オプション
-
03-07-2019 - |
質問
私はオープンソースのJavaデータベース移行ツール( http://www.liquibase.org )を持っています。 .Netへの移植を検討しています。
ツールの大部分(少なくとも複雑さの面から)は、主キーを追加し、データベースがOracleがこのSQLを使用している場合、"のようなロジックを中心にしています。データベースがMySQLの場合、このSQLを使用します。主キーに名前が付けられ、データベースがPostgresの場合、このSQL"を使用します。
Javaコードベースをフォークして(手動および/または自動的に)変換できますが、上記のロジックの更新とバグ修正が行われるため、両方のバージョンに適用する必要はありません。私がやりたいのは、すべてのロジックを、Javaバージョンと.Netバージョンの両方で単純にコンパイルおよび使用できる形式に移動することです。
変換しようとしているコードには、Javaから.Netに大幅に変化する高度なライブラリの使用法(JDBC、System.outなど)が含まれていないため、問題になるとは思わない(最悪の場合)周りに設計することができます)。
だから私が探しているのは:
- アプリの一般的な部分をコーディングし、「標準」で使用できるクラスにコンパイルできる言語。ターゲットプラットフォーム上の言語
- システムにランタイム要件を追加しません
- 潜在的な貢献者を怖がらせることはそれほど何もありません
PythonとRubyの両方がJVMとCLRの実装を持っていることを知っています。それらは私の要件にどの程度適合しますか?クロスプラットフォームアプリケーションでこの手法を使用して成功した(または失敗した)人はいますか?私が心配する必要がある落とし穴はありますか?
解決
Fantomプログラミング言語をご覧ください。独自のJavaライク/ C#ライクな構文がありますが、Java VMまたは.NET CLRのいずれかをターゲットにできます。
" Why Fantom" ページには、その概要が記載されています。移植性に対するアプローチとVM上で実行される動的言語。
他のヒント