BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース クロスコンパイルできるScala for .NET

クロスコンパイルできるScala for .NET

原文(投稿日:2011/07/21)へのリンク

Scalaは、Javaプラットフォームで人気の言語であり、École Polytechnique Fédérale de Lausanneによって.NETの進出し、マイクロソフトから資金提供をうけている。プロジェクトは、CLR(.NETとMono)上で実行されるJava仮想マシンであるJeroen Frijters氏のIKVMに強く依存している。

InfoQは、月のダウンロード数がたった1,000程度だった2006年からScalaをレポートしている。その後、Javaの世界に旋風を巻き起こし、Twitterがバックエンドのソフトウェアに使用していることは特筆すべきところである。European Research Councilは、10歳の言語に資金を提供している。

Scalaは元々.NETプラットフォームをサポートしていたが、Scalaバージョン1.4を最後に維持されなくなっている。 EPFLのMiguel Garciaは次のように書いている。

クロスコンパイラはJDK上ではすばらしい働きをしていました。ソースの多くはJDKのAPIに依存していました。これは、一般的なScalaアプリケーションで典型的です。Scalaプログラマは、Scala SDKに同等なものを見つけたとしても、JDKが提供する機能を信頼しています。私たちは、クロスコンパイラを持っていましたが、JDKに依存している部分を.NETのライブラリに自動的に置き換える方法がありませんでした。

Scalaは、IKVMライブラリで同等のものを自動化する方法でJDKへの依存を置き換える方法が必要だった。彼は次のように続けた。

最初のステップは、ソースレベルで変換が必要な初期セットを作ります。次にScalaコンパイラが変換を受け入れるように拡張します。すべてのコンパイラは十分に柔軟じゃないかこの種のサービスを提供していない。Scalaコンパイラは、非常にモジュール化されており、プラグインをサポートするのが非常に簡単でした。新しいScalaプラグインであるJDK2IKVMは、バッチモードでソースを変換するために適用されました。ソースコードは標準のコンパイラフェーズを通った結果、IKVMライブラリを参照するMSILバイトコードが生成されます。Scalaコンパイラとそれ自身をコンパイルできるScala.Netのできあがり。ブートストラップは達成されました。

EPFLのScalaグループは、Visual Studio plugin for Scalaも提供する予定がある。

あなたは、ScalaプログラムをMS Visual Studioで直接開発することができます。Visual Studio plug-in for Scala は、コード補完、コード閲覧、ラインブレイク、エクスプレッションブレイク、例外レポーティングなど、IDEに期待されている基本的な機能をサポートしています。短期的には、現在のプラグインはコード補完やコード閲覧をまだサポートしていません。その理由としては、開発者はEclipseやIntelliJを使ってJVMのコードを書く方を好んでおり、最終的にVisual Studioでデバッグしています。あなたは、「使い方」ガイドとScala.Netプロジェクト概要のプレゼンテーションスライドを見つけることができます。

この記事に星をつける

おすすめ度
スタイル

BT