![]() |
1
4
many other languages 成功地这样做应该会给你一些安慰。 总的来说,我认为JVM可能是目前新的/实验性语言的最佳目标,特别是如果您希望在利用真正出色的JIT编译器和大量非常强大的库的同时实现跨平台功能的话。 尽管如此,在我看来,针对JVM可能遇到的主要缺点如下:
一些可能有用/有趣的链接:
|
![]() |
2
7
您可能需要考虑将LLVM作为目标,而不是JVM。LLVM可以用于针对许多体系结构,包括x86。 可移植性不仅仅是简单的CPU支持,但是LLVM可以提供很多帮助,如果您愿意的话,还可以提供本机代码。 |
![]() |
3
3
如果您为JVM创建一种语言,那么您还有一个巨大的优势,那就是您脚下有一个巨大的库,可以从您的语言中轻松地使用它。如果您为x86编译,则很可能不是这种情况。我假设如果没有C解析器,就无法在语言中包含例如C-headers。 基于这个原因,Scala、Groovy和其他公司都取得了巨大的成功。
|
![]() |
4
1
如果您希望代码的运行时部分完全依赖于第三方代码并要求用户安装这样的代码,那么您应该只针对JVM, 和 JVM将提供一些实质性的功能,这些功能不能合理地开发自己,或者要求人们为此而扩展(例如C++中的OS头), ,您对JNI作为本机代码(以及其他托管代码,如.NET)的接口感到满意。 最终,这完全取决于您可用的资源以及您如何描述语言互操作。如果您打算使用JVM来提供许多特性,并且您对互操作的糟糕感到高兴,那么就使用它。否则,我认为你应该重新考虑。 |
![]() |
Sam · jvm如何优化循环代码? 7 年前 |
![]() |
pushpavanthar · 纱线中的调谐火花作业 7 年前 |
![]() |
Ashish K · 在Groovy中将字符串参数传递给对象方法参数 7 年前 |
![]() |
St.Antario · 在Java中侦听多个目录以创建文件 7 年前 |
![]() |
Bonsaisteak · 为什么年轻一代需要三个区域来收集垃圾? 7 年前 |