我最近阅读了 R-Bloggers 的一篇文章,该文章链接到John Myles White 的这篇关于一种名为Julia的新语言的博客文章。Julia 利用了即时编译器的优势,该编译器为其提供了极快的运行时间,并将其置于与 C/C++ 相同数量级的速度上(相同的顺序,而不是同样快)。此外,它使用了我们这些开始使用传统语言进行编程的人所熟悉的正统循环机制,而不是 R 的 apply 语句和向量操作。
R 不会以任何方式消失,即使 Julia 提供了如此出色的时机。它在行业中有广泛的支持,并且有许多很棒的包可以做任何事情。
我的兴趣本质上是贝叶斯,其中矢量化通常是不可能的。当然,串行任务必须使用循环来完成,并且每次迭代都涉及大量计算。在这些串行循环任务上,R 可能会非常慢,而 C/++ 并不是在公园里散步。Julia 似乎是用 C/++ 编写的一个很好的替代方案,但它还处于起步阶段,并且缺少很多我喜欢的 R 功能。只有获得足够的支持,将 Julia 作为计算统计工作台学习才有意义来自统计界的人们开始为它编写有用的包。
我的问题如下:
Julia 需要具备哪些功能才能拥有使 R 成为事实上的统计语言的魅力?
与学习 C/++ 之类的低级语言相比,学习 Julia 执行计算量大的任务有哪些优点和缺点?