我应该为计算科学学习哪种语言?

计算科学 语言
2021-12-05 03:09:33

我对计算科学的概念完全陌生,正在寻找一个好的起点。

我知道没有客观上最好的语言,但我想学习一种在计算科学方面具有无可争议的强大和突出存在的语言——一种被认为具有非凡能力和效率的语言。

首先,我倾向于与原子键合和相互作用相关的建模,需要图形表示/模拟。

某些语言在某些领域是否比其他语言更好(即物理与纯数学)?还是根据其他因素选择语言?

我听说过 Fortran 这个名字被广泛使用。

建议?

4个回答

Python!

  1. 直接使用numpy库、小脚本和ipython交互式 shell 开始。
  2. 在众多免费书籍和教程的帮助下获得更高级的信息
  3. 使用scipy作为高性能数值例程的前端和用于可视化的matplotlib提高工作效率
  4. 利用KrypyFeNiCS许多其他的科学计算的成熟和强大的模块
  5. 请注意,平面和面向对象编程之间的平滑过渡以及 Python 固有的模块化使得大型项目易于处理。
  6. 只需在cython中重写关键部分,即可使您的代码与 C 或 Fortran 一样快您还可以轻松地包含用 Fortran 或 C 编写的例程

这解释了我认为解决科学计算问题的最佳方法。首先通过在小脚本中玩弄玩具示例来解决问题。变得更加系统化并设置一套代码。然后让你的代码工作!!!最后,如有必要,做代码优化。不要重新发明轮子,不要过早优化。

(额外的优点:Python 是免费提供的——没有许可证问题,大型社区,例如在 stackoverflow 上,用于单元测试或日志记录等良好编程的模块......)

大多数情况下,它归结为您可用的数字库,这将有助于完成您的任务。C/C++ 为它们实现了大量的数值库,但作为低级语言并不是快速原型化的最佳选择。

我认为要快速找到解决方案,我建议使用 Matlab 或 Mathematica 之类的东西。他们拥有庞大的工具集并且非常高级。最有可能的是,您的实现不会扩展到生产使用,但它可能是尝试不同方法的好地方。一旦你知道要走的路,你总是可以更有效地用 C/C++ 实现一些东西。

尝试使用 Python,例如Python Scripting for Computational Science中的描述。

Python 可以是一个很好的起点。以下资源是一个很好的起点。

http://www.openbookproject.net/thinkcs/python/english2e/