我有多少回旋余地来学习一门新语言?

2022-09-04 06:26:10

我是一个相对较新的员工,我正在开始一个很小的,相当简单的项目。该项目将采用哪种语言来实施仍有待确定。这个问题基本上可以归结为 - Java还是Python?

这是一个两难的问题:我的经理更喜欢用Python完成。我不反对这一点,但我没有Python方面的经验。我真的很想学习Python,并认为我可以相当快地管理它(特别是因为它是一个小项目)。但该项目将于3月底到期,届时必须准备就绪。因此,他们宁愿在Java中按时使用它,而不是在Python中和后期使用它,如果我认为我不能按时完成,他们不想强迫我用Python完成它。

很抱歉背景 - 但我的问题基本上是,平均需要多长时间才能适应一门新语言?我知道这是主观和个性化的,取决于特定程序员的速度......但是谈到一个普通的程序员,甚至是一个快速掌握事物的程序员,用非母语(但具有相似概念)编程会导致多少百分比的增长?例如,如果这个项目在Java或.NET语言中需要大约2周的时间,那么在Python中我需要多长时间?我可以假设时间增加一倍(即一种新的,不熟悉的语言导致编程时间增加50%)就足够了吗?

包括在这个问题中 - 从我所听到的,从Java切换到Python似乎很容易/直观。这是真的吗?

感谢大家的所有答案!我没有意识到这个问题有这么多方面......我会尽快选择一个答案 - 每个回复都让我以不同的方式看待它,很难选择一个答案。


答案 1

我认为这取决于项目的领域。虽然GUI在Python中并不难,但任何类型的GUI框架都会有一个有点陡峭的学习曲线。如果它是一个web应用程序,我会说去Python。通过易于使用许多Python网络框架,可以快速获得额外的学习时间。

最大的风险是,你会像编写Java一样编写Python代码。Java中的许多事情在Python中都不是真的,反之亦然。它可能会使您的Python代码缓慢而冗长。

如果您决定尝试Python,请阅读来自Java的常见陷阱,例如:http://dirtsimple.org/2004/12/python-is-not-java.html


答案 2

您有大约5周的时间来完成该项目。如果你确信Java版本需要2周,那么在Python版本上还有3周的时间,直到你必须放弃。我说去吧。Python相对容易上手。我认为三周的工作足以让你有时间知道你是否可以在截止日期前完成。

恕我直言,这是你学习一门新语言的好借口。定期向经理更新您的进度。我认为,随着时间的推移,正确的决定将变得显而易见。