数学选择Java还是Python?

21 投票
8 回答
13007 浏览
提问于 2025-04-16 10:22

我正在尝试写一个比较复杂的数学项目,这个项目每天需要处理超过100MB的数据好几次,所以我需要一种快速且易于使用的编程语言。我本来想用C语言,但用C做一个大项目真的很难,尤其是低级编程会让人感到很麻烦。因此,我在考虑Python和Java。这两种语言都有面向对象的特性,我对此并不在意。现在,我来列一下选择Python的优点:

  • 语言非常简单易用
  • 有很多实用的库可以使用
  • 有一个简单易用的绘图库

选择Python的缺点:

  • 速度不是特别快
  • 没有一个活跃的原生Python神经网络库
  • 如果想要保护我的代码不被公开,过程会比较麻烦
  • 在客户的电脑上部署Python代码很难,尤其是当客户不太懂技术的时候。

接下来是选择Java的优点:

  • 库非常庞大
  • 支持很好
  • 部署起来很简单
  • 速度相当快,可能和C++差不多
  • Encog神经网络库非常活跃且很棒
  • 网络支持非常好
  • 类型强制

选择Java的缺点:

  • 找不到像Python的matplotlib那样好的绘图库
  • 没有内置的大整数支持,这意味着需要额外的依赖(我指的是非常大的整数,不只是math.BigInteger那种大小)
  • 文件输入输出相比Python有点麻烦
  • 没有很多像Python那样的数组操作或“让编程变得简单”的特性。

所以,我希望你们能告诉我该用哪种语言。我对这两种语言都很熟悉。如果有其他语言的建议也很好。

编辑:哇!你们真快!30分钟就有10个回复!

8 个回答

3

NumPy 通常能大大增强 Python 的计算能力。它是 Python 中进行实际数值计算的标准工具。我在这方面没有太多 Java 的经验,所以我不太能帮你解答这个问题。

11

为什么不利用JVM的多种语言优势,来兼顾两者的好处呢:

  • 把性能要求高的部分用Java写(或者使用现有的优秀Java库)
  • Jython来用Python编写用户界面或应用程序,必要时再调用Java代码
19

Java通常运行得比较快(这不是绝对的),但写起来会比较慢。

而Python正好相反。因为像SciPyNumPy这样的库已经存在,它们是基于快速的C语言代码开发的。如果你更喜欢快速编写代码,我建议你选择Python。除非你的应用程序需要的基本功能在SciPy和NumPy中找不到,而这些功能在Java中是有的。

撰写回答