Python对于大型应用程序足够好吗?

2024-04-28 14:10:16 发布

您现在位置:Python中文网/ 问答频道 /正文

从我面对Python的那一刻起,我唯一能说的就是“它太棒了”。我正在使用Django框架,我很惊讶事情发生的如此之快,以及这种语言对开发人员的友好程度。但从很多方面我听说Python是一种脚本语言,对小事情、实验等非常有用

所以问题是,一个大而重的应用程序能否用Python(和django)构建?由于我主要关注web开发,这类应用程序的例子可以是Stack Overflow、Facebook、Amazon等


根据许多答案,也许我得重新表述这个问题。Python有几个大的应用程序(最好的例子是YouTube),这样它就可以处理它们,但是为什么它不象在大型项目中那样流行(例如)java、C++和.NET?


Tags: django框架web语言应用程序amazonfacebook开发人员
3条回答

与Python一起开发大型应用程序是一种乐趣。与其他企业流行语言相比:

    没有编译时间,如果你曾经在一个大型C++项目上工作过,你知道这会花费多少时间
  • 一种简洁、干净的语法,使阅读代码更容易,在阅读别人的代码甚至是你的代码时,这也是一个很大的节省时间的方法
  • 核心级的可移植性,如果您的应用程序在多个平台上运行很重要,那么它肯定会有帮助
  • 对于大多数事情来说,它已经足够快了,如果不是,用Cython和numpy之类的工具在C中重写热点就很简单了。因为速度原因而反对动态语言的人们已经忘记了80-20规则(或者从来没有听说过)。在为性能关键型应用程序IMHO选择语言时,需要考虑的一件重要事情是,在需要时,您可以多么容易地访问C级别,而Python正是这方面的佼佼者

然而,它不是一种神奇的语言,你需要使用其他语言中用于大型项目的相同技术:TDD(有些人可能认为它比其他语言更重要,因为缺乏类型检查,但这对其他语言来说不是一个胜利,单元测试在大型项目中总是很重要)、干净的OO设计,等。。。否则维护应用程序将成为一场噩梦。

与.NET、Java等相比,它在企业中缺乏可接受性的主要原因。可能没有一大群顾问和“认证专家”吹嘘他们的工具是地球上最好的东西。我也听说java很容易接受,因为它的语法类似C++。考虑到C也选择了这条路线,这可能不是一个愚蠢的想法。

谷歌倾向于大量使用python,所以我认为它已经准备好了。我们使用python作为我们产品的粘合剂,所以我们对它很满意。

你的问题的答案其实可以归结为当你说“大应用程序”时你的想法。简单的回答是“是”。Python是非常复杂的系统的骨干,它做得非常优雅(看看Twisted&Django有多大,但设计得有多好)。不过,它和其他工具一样。它包含的性能权衡可能非常适合您的应用程序域,也可能不太适合您的应用程序域。

如果你想建立一个高性能的飞行模拟器,必须运行复杂的计算在1000赫兹以上。。。那么Python可能不是整个项目的正确选择。另一方面,如果单CPU性能不是主要因素,或者应用程序将分布在多个服务器上以实现可伸缩性需求,那么Python可能是一个不错的选择。

令人惊讶的是,人们很容易忘记开发时间的昂贵。Python以惊人的速度开发出高质量的应用程序而闻名。对于几乎任何不重要的事情,节省的开发时间将远远超过将一些额外的服务器放入池中的相关成本。

相关问题 更多 >