2011年4月28日 星期四

10. Scala 的企圖心,也是它的特性 --JVM 還是 .Net,還是...

上篇提到 Scala 與 Java 的關係,實在很密切,可以把 Scala 看成是 Java 的另一個面貌。

Scala 既然與 Java 關係這麼密切,那 Windows 這陣營的人,看起來與 Scala 無緣了。

那你錯了,支援 .Net 平台是 Scala 重要的功能,Scala 除了可將 Scala 原始碼編譯成 JVM bytecode,也可以編譯成 .Net 的 CLR,因此可以在 Windows 平台上順利運行。

至於 Scala 與 C# 合作關係是否可以像 Scala 與 Java 的合作關係,答案當然是否定,或許這是未來 Scala 開發團隊所應該持續努力的。
但可以確定的是,你至少可以把 Scala 當成是開發 .Net 應用程式的另一個程式語言,就像其他 .Net 的程式語言一樣。

Scala 除了可以 compile 出在 JVM 與 .Net 平台的標的碼外,還可支援其他的嗎?Native machine code 可以嗎?LLVM 可以嗎?還有其他的嗎?

現階段 Scala 只支援 JVM 與 .Net,但 LLVM 似乎已在 Scala 的支援預定項目當中,只是不知何時現世。

對於 natvie machine code 個人也很好奇為何沒有,也許書沒有讀透,找到之後再來更新。

其實個人最希望它支援的標的是 JavaScript,好像有點混淆是不是?我們下篇再談。

沒有留言:

張貼留言