科学计算是算法密集型的,也可能是数据密集型的。在继续下一步之前,它通常需要使用大量内存来运行分析并释放它。有时,它还使用内存池为每个分析回收内存。托管语言在这里很有趣,因为它可以让开发人员专注于应用程序逻辑。由于它可能需要处理巨大的数据集,因此性能也很重要。但是我们如何使用托管语言来控制内存和性能呢?
发布于 2008-09-24 07:18:30
最近,Python在科学计算领域变得相当强大。它是一种托管语言,因此您不必记住释放内存。同时,它还提供了用于科学和数值计算(NumPy、SciPy)的包,为您提供了类似于编译语言的性能。此外,Python可以很容易地与C代码集成。
Python是一种表现力很强的语言,这使得它比许多传统语言更容易编写和阅读。它在某些方面也类似于MATLAB,这使得它比C++或Fortran更容易被科学家使用。
University of Oslo最近开始教授Python语言,将其作为信息学系以外的所有理科学生(仍在学习Java)的默认语言。
专注于科学计算、偏微分方程等领域的Simula Research Laboratory广泛使用python。
发布于 2008-09-24 05:17:17
你在问一个从根本上有缺陷的问题。托管语言的全部意义在于你不需要处理内存。这是由垃圾收集器处理的,虽然您可以执行某些操作来更好地让它以高效的方式完成其工作,但这不是您的工作。
在一个性能不受您控制的世界中,您可以做的提高性能的事情很简单。确保你没有保留你不需要的推荐信。如果你需要更多的控制,可以使用基于堆栈的变量。
发布于 2008-09-24 05:19:07
F#似乎在某种程度上瞄准了这些受众。实际上,有一本书叫做F# for scientists。
此外,这位question也被问到了终极版Lambda。
https://stackoverflow.com/questions/125516
复制相似问题