我主要用Objective-C和Swift编程,并理解苹果在年底宣布开源Swift是为了让它也可用于后端编程。引用Craig Federighi (高级副总裁工程)在主题演讲中的话:“我们认为Swift是我们将进行应用程序和系统编程的语言”。提到系统编程,并提到Linux将会有库,这似乎清楚地表明了将其用作后端开发语言的道路。
所以我的问题与可能采取的两种可能的路径有关。一方面,Swift的page说:“使用令人难以置信的高性能LLVM编译器,Swift代码被转换为优化的本机代码,从而最大限度地利用现代硬件。”这意味着它必须针对我假设的每个目标硬件进行编译。这个假设是正确的吗?
另一方面,如果Swift被编译到JVM中,我认为这将使Swift的采用范围更广、速度更快,因为它可以利用JVM的硬件独立性。
我想我的问题的重点是:上述两个假设是否正确?有没有可能把Swift编译成JVM?如果是这样的话,相对于每个目标硬件的本机代码,它有什么优点和缺点。
我很想知道这是不是对Swift的这个发展有什么看法。
发布于 2015-06-09 09:50:50
LLVM IR可以用作平台无关的二进制分发方法。谷歌正是通过PNaCl做到了这一点。http://www.chromium.org/nativeclient/pnacl/introduction-to-portable-native-client
我不知道JVM是否提供了比LLVM IR更好的优势,但它不同于锁定到一种精确的二进制格式。
https://stackoverflow.com/questions/30721706
复制相似问题