【问题标题】:How hard is it to learn Python/Django for a Java EE dev?为 Java EE 开发人员学习 Python/Django 有多难?
【发布时间】:2010-09-10 11:08:56
【问题描述】:

我想知道对于已经相当熟悉 OO 编程 (C++/Java) 和一些 Web 开发 (Java EE) 的人来说,学习 Python 和 Django 是一个艰难/耗时的过程吗?

我开始寻找一种技术来实现我的硕士论文的一部分,因为它将是一个网络应用程序,我正在考虑使用 Java EE(因为我已经熟悉它)、Python/Django(因为我的教授建议了它,我真的很想学习 Python),Ruby on Rails(也是我的教授建议,但不知何故我不想学习它)和 PHP(最后一个建议,但我鄙视 PHP)。哦,他还说他听说过一些关于 Scala 的事情,但据我所知,Scala/Lift 还不是主流,使用它可能会有问题?

我最担心的是时间,因为在接下来的 4-5 个月内,我将参加我的正常课程,上班并完成我的论文(然后我将有 4-5 个月的时间只用于工作+我的论文),我'不确定我是否有时间学习一门新语言。

整个事情将是一个网络应用程序,供教师/学生在大学检查和制定他们的日程安排(会有一些约束编程等,我们希望实现一个算法,该算法将基于以前的数据年和一些用户输入,为来年制定时间表)。

我个人喜欢 java,但我的老师说它是性能猪,我想知道 python 的性能是更好还是更差?

【问题讨论】:

    标签: java python django


    【解决方案1】:

    我想请你的教授提供一些数据来支持“性能狂”。对我来说,这听起来像是肤浅的思考和 FUD。可以找到支持任一位置的基准,所以我不太关注。

    学习一门语言的真正原因是它可以影响你对编程的看法。我认为 Python 将是有益的。为你的教授没有提出这个问题感到羞耻。她/他担心表现?询问他们最后一次编写对性能很重要的代码是什么时候。

    作为一名长期从事 Java 的人,我现在正在学习 Python。我认为学习任何东西都需要一些时间。我正在学习 Wesley Chun 的“Core Python Programming”。

    到目前为止,我非常喜欢它。我喜欢这种语言。这些想法很好地映射到我已经了解的 Java 和 OO,但有一些差异(例如,动态类型、函数式编程等)值得理解。

    最重要的是编写代码。我正在仔细地完成这些练习,并将其放在我的手指下并进入我的大脑。我使用 JetBrains 的 PyCharm 作为我的 IDE。这么好的工具触手可及,真是太棒了。

    我大约一个月前开始的。我大约完成了练习的 1/3(阅读更靠前;大约一半)。我的目标是在今年年底之前完成它,并且感到足够舒适以拿起 Django。

    我希望你和我一样喜欢它。祝你好运。

    【讨论】:

      【解决方案2】:

      如果对于您的论文,并且您已经预先决定喜欢它并想要使用它,那么在我看来,您拥有可以想象的最佳情况。

      去吧。尽你所能学习。尽力而为。

      这将在你的职业生涯中一次又一次地发生,你不妨在有经验丰富的导师手边的情况下尝试它(但要按照导师说的去做!)

      【讨论】:

        【解决方案3】:

        先回答:

        从技术上讲,与 Java 相比,它可能会慢一些。

        我认为这方面的文章已经不少了。

        这里---> Is Python slower than Java/C#?

        这里——> Python vs. Java performance (runtime speed)

        python 在可能的速度方面的不足之处在它的结构化思维和在线社区创建的预构建模块中得到了极大的弥补。

        Python 背后有一个庞大的社区,我们学会了使用我们的代码使其变得有趣,共享常用工具,并通过创建开源工具来提高代码质量。

        易于阅读的代码易于修复,因此可长期维护。

        我学习 Python 已经快两年了,西雅图的 Python 社区非常棒。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-09
          • 2010-10-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多