9

这不是“编程”问题,而是更多与技术/平台相关的问题。我试图弄清楚 Python 是否可以成为企业/Web 应用程序的合适 Java 替代品。

哪些是您更愿意使用 Python 而不是 Java 的理想情况?与典型的 Java 应用程序相比,典型的 Python Web 应用程序(数据库/会话/并发)的性能如何?特定的 Python 框架如何与基于 Java 的框架(Spring、SEAM、Grails 等)相抗衡?

对于企业来说,从 Java 基础架构切换到 Python 基础架构……是不是太难/太贵/资源密集/不可行?还阐明了为最终客户提供基于 Python + Google AppEngine 的解决方案的商业案例。在典型情况下是否具有成本效益?

抱歉,如果我问的问题太宽泛,我希望保持具体,但我需要你的帮助,从程序员、服务提供公司和最终业务客户的角度评估 Python 的整体。

对于 SME,基于 Python/GoogleAppEngine 的技术堆栈是一个可扩展且价格合理的平台。但是对于已经在 J​​ava 上进行了大量投资的大型跨国公司又如何呢?

非常感谢。我自己正在研究这个,很乐意在这里分享我的结论!

谢谢你,斯里兰根

4

5 回答 5

14

已经拥有大量 Java 投资的企业应该将jython添加到他们的技术组合中——它可以逐渐地被采用,首先用于辅助功能,例如测试、“一次性”数据迁移等、新功能的原型设计,使用一些现有的开源 Python 库显然非常方便的情况,等等等等——然后,随着公司中的许多 Java 开发人员学习使用 Jython,一些原型将投入生产作为 Jython 代码,因为重新编码它们没有优势,一些需要重新编码的旧子系统将在 Jython 中重新编码,等等。

抛弃庞大的现有和工作代码库以及它所代表的巨额投资从来都不是一个真正明智的决定——Python 的优势包括其丰富的强大的生产级实现、它们“与他人合作”的能力以及 Python 的能力如何逐渐地逐渐渗透到大多数开发商店。

于 2009-12-10T06:59:40.877 回答
4

您对现有技术的投资越大,放弃它的成本就越高。COBOL 可能是这里最好的例子。

该投资不仅用于移植现有解决方案,还用于重新培训或雇用新员工,以便您拥有构建和支持新技术的技能,即使仍然保留您的旧解决方案。

此外,对于大多数大型跨国公司来说,软件并不是他们的核心业务。只要它有效运作并满足业务需求,他们就不会太在意“细节”。

你需要能够提供一些非常引人注目的好处来克服这种惯性。

悲伤但真实。

于 2009-12-10T07:06:41.567 回答
1

如果你需要做一些你可以用 Django 做的事情,那么 Django 和 Python 完全是你想要的。Google App Engine也运行 Django。因此,您可以制作一个 Django 应用程序并将其托管在 Google App Engine 上,然后改变主意并切换到传统的服务器托管,或者如果您有自己的服务器,则使用自托管。

我没有尝试过 Google App Engine,但我的理解是价格对于你得到的东西来说是相当合理的。Google 的 IT 部门在保持数据中心运转方面做得很好。如果您将托管外包给 Google App Engine,您知道您的数据已备份,您知道服务器不会停机,即使反铲挖掘机将整个 Google 数据中心从 Internet 上移除,其他一些 Google 数据中心仍将继续提供服务将您的应用程序提交给您的客户。您还知道,如果您的应用程序突然变得非常流行,Google App Engine 将自动扩展以处理负载。(我认为你为你愿意支付的最高金额设置了一个上限,它会一直缩放直到达到上限。但正如我所说,我没有使用它,我不确定。)

我还没有使用过 Java,但据我所见,Python 是一种更具表现力的语言,熟练的 Python 编码人员可以在一天内完成更多工作,因为该语言要好得多。但是,如果您已经投资了 Java 并且在内部拥有 Java 方面的专业知识,那么一夜之间离开那将是疯狂的。正确的做法是选择一个新项目来尝试那个疯狂的 Python 项目。

我真的推荐 Django。您可以获取 Django 书籍并试用该教程。如果您在 Python 中的第一个试点项目是 Django 项目,那么您应该会很轻松。

于 2009-12-10T07:37:42.813 回答
1

你的问题的答案是肯定的。Python 非常适合企业,因为 Python 是一种具有原始功能、灵活且可以与其他编程语言粘合的语言。企业真正需要的是一种可以做所有事情的语言,我觉得 python 已经为企业做好了准备。如果您想要示例,那么我相信没有比谷歌更大的示例了。谷歌正在内部和外部运行 python 用于其关键业务应用程序。python的唯一问题是它没有得到顶级跨国公司的认可,我们作为python程序员很难说服管理团队。我想你会面临同样的问题。但我向你保证,一旦你涉足蟒蛇,你就会明白它的真正力量

于 2010-03-24T08:20:13.380 回答
0

对于任何技术选择,几乎没有可用的“商业案例”。

“对于已经在 J​​ava 上投入大量资金的大型跨国公司来说呢?” 四处询问。看看是否有 Java 的商业案例。

我怀疑你会找到任何东西。大多数公司慢慢转向技术选择。

COBOL 没有商业案例——在过去,它是城里唯一的游戏。

Java 很少有商业案例。通常会发生一些有远见的人开始构建第一个网站(可能是在 Perl 中)。“网络事物”受到关注,一些有远见的人开始用 Java 构建网站。最终,这些小团队的成功向其他人表明,Java 比 COBOL 具有优势。

经理们说的是“制定商业案例”,但要注意他们实际做了什么。他们倾听 (1) 同龄人的意见,(2) 成功人士的意见。

要为 Python 制定“商业案例”,您必须是那个有远见的人。

1) 使用 Python。

2) 成功。

3)分享你的成功。

4)准备好解释你的成功是由于你的工具,而不是你个人的天才和魅力水平。

于 2009-12-10T11:37:23.633 回答