将Python项目重写为Java-值得



首先,我喜欢Python,我目前用它来做大多数事情。但是,作为一名博士生,我主要实现原型来测试和评估想法。这也包括我通常是唯一的编码者,而且 - 虽然我当然试图编写半途而废的代码 - 性能不是主要问题。对于快速原型设计,Python对我来说是整洁的。

现在我考虑更"严肃"地处理我的一些东西,即把它带到一个生产环境中,让它更好地维护,也许更有效率。所以我想知道是否值得将我的代码重写为Java(我也相当熟悉Java)。我知道Python并不慢,但是像Java的静态类型(包括)之类的东西似乎使它更不容易发生更大规模的错误,特别是当不同的人在同一项目上工作时。

只有当

它解决了一个真正的问题时,它才值得,请注意,这个问题可能是

  1. 我想学习更好的东西
  2. 我需要它更快地运行以降低我的colo的功率需求。
  3. 我需要雇用更多的人和人才库[在此处插入语言]太小了。
  4. 在这里插入无数的实际问题。

Python和Java都适合生产。把它写在最容易解决你和/或你的团队面临的问题的任何内容中,如果你想抢占一些问题,请确保你已经做好了功课。许多项目都因为选择了C/C++而夭折,因为他们相信性能将是一个主要因素,而不考虑很好地使用这些语言所涉及的额外努力。

你提到了可维护性。你可能需要更多的代码来用Java重写它,并且Bugs和LOC之间存在直接关联。哪一个更容易维护还有待商榷。我相信两个阵营都相信他们的是。

在两者中,您最喜欢编码哪一个?

关键问题是:"Java的静态类型似乎使其在更大范围内不那么容易出错"。 这里的关键词是"似乎"。 当然,Java将帮助您捕获这种特定类型的错误。 但这有多重要,你必须为此付出什么? Java的类型系统带来的开销意味着你必须编写更多的代码行,这意味着生产力的降低。 我两者都用过,我毫不怀疑我在 Python 中更有效率。 我发现 Python 中与类型相关的错误通常很容易找到和修复。 请记住,在专业环境中,如果不仔细测试代码,您就不会发布代码。 编程环境的底线是生产力 - 每单位工作量的可用功能,而不是您在开发过程中发现和修复的错误数量。

我的建议是:如果你有一个用Python编写的工作项目,除非你确定有好处,否则不要重写它。

Java本质上是面向对象的。或者,python是程序性的。

就语言处理大型项目的能力而言,您可以使用其中任何一个。

至于生产更多可用的产品,我会推荐java脚本而不是java,因为它在浏览器中的可行性。通过将 js 嵌入到公共托管的网站中,您可以允许没有编码知识的人在浏览器中无缝运行您的项目。

此外,HTML的所有GUI设计功能都可供您使用。

也就是说,任何语言都有起伏,我在这里所说的一切都只是我的看法。

最新更新