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

Python对于大型应用程序足够好吗?,python,django,web-applications,Python,Django,Web Applications,从我面对Python的那一刻起,我唯一能说的就是“它太棒了”。我正在使用Django框架,我对这种语言的速度和开发人员友好程度感到惊讶。但我从许多方面听说Python是一种脚本语言,对于小事情、实验等非常有用 因此,问题是能否用Python(和django)构建一个大而重的应用程序?由于我主要关注web开发,此类应用程序的示例可能是Stack Overflow、Facebook、Amazon等 另外,根据许多答案,也许我必须重新表述这个问题。Python有几个大的应用程序(最好的例子是YouT

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

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



另外,根据许多答案,也许我必须重新表述这个问题。Python有几个大的应用程序(最好的例子是YouTube),这样它就可以处理它们,但是为什么它不太受欢迎,因为大型项目(例如)java、C++和.NET?< /p> < p>谷歌倾向于使用Python很多,所以我假设它准备好了。我们使用python作为产品的粘合剂,所以我们很满意它

一般来说,是的,你可以

我主要关注web开发,因此我可以举Stack Overflow、Facebook、Amazon等为例


是用Python编写的。它有一个庞大的用户群,并收到了相当数量的流量,似乎做得很好。不过Reddit不使用Django

Python是web开发的理想选择。它轻巧、简单,并且擅长将其他部分粘合在一起,并使用高级接口。如果我做“web”开发,我不会使用其他任何东西

更新0 它也是脚本编写、小型跨平台应用程序和原型设计的高级语言。只有当极端的性能要求非常严格时,它才真正开始崩溃。也就是说,它在很大程度上支撑了局面。我还发现重构(动态类型的属性)和利用特定于平台的绑定很困难。正如在大多数其他好的语言中一样,这些东西可以很容易地解决(由于Python的C实现,以及许多用于此目的的模块)


Python是最好的高级语言,它唯一不能取代的语言是C。

性能方面的语言-是的,当然是web前端。性能瓶颈始终是数据库。

请自行查看:


我认为它可以处理大型应用程序。

YouTube的后端几乎完全使用Python。这是YouTube可伸缩性团队的工程经理Cuong Do Cuong的一次演讲,他详细介绍了他们面临的问题以及如何解决这些问题。他指出,语言速度几乎从来都不是瓶颈


我怀疑YouTube的负载比你正在做的任何事情都要高得多。

你的问题的答案实际上可以归结为你在说“大应用程序”时的想法。简单的答案是“是”。Python是极其复杂的系统的主干,它做得非常优雅(看看Twisted&Django有多大,但设计得多么好)。然而,它和其他任何工具一样都是一种工具。它包含性能权衡,这些权衡可能非常适合您的应用程序域,也可能不适合您的应用程序域

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


令人惊讶的是,人们很容易忘记开发时间是多么昂贵。Python以其开发高质量应用程序的惊人速度而闻名。对于几乎所有非琐碎的事情,节省的开发时间将远远超过向池中扔几个额外服务器的成本

在大型应用程序中使用Python是一种乐趣。与您获得的其他企业流行语言相比:

    没有编译时间,如果你曾经在一个大型C++项目上工作过,你知道这会花费多少时间
  • 简洁明了的语法使阅读代码变得更容易,在阅读别人的代码时,甚至在阅读你很久以前编写的代码时,也可以节省大量时间
  • 核心级的可移植性,如果你的应用程序在多个平台上运行很重要,那么它肯定会有所帮助
  • 对于大多数事情来说,它已经足够快了,而当速度不够快时,用Cython和numpy等工具在C中重写热点是很简单的。出于速度原因而反对动态语言的人已经忘记了80-20规则(或者从未听说过)。在性能关键应用程序IMHO选择语言时要考虑的重要事项是,当需要时,您可以轻松地访问C级别,而Python对于
  • 是非常好的。
它不是一种神奇的语言,但是,你需要使用与其他语言中的大型项目相同的技术:TDD(有些人可能认为它比其他语言更重要,因为它缺乏类型检查,但这对其他语言来说不是一个胜利,单元测试在大型项目中总是很重要)、干净的OO设计,等否则,维护应用程序将成为一场噩梦


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

事实上,Python为您提供了最好的编程能力。简单、强大、快速!
在你的项目中尽情享受吧

python有两个非常重要的因素:

1) 易于使用

2) 易于与其他编程语言接口

因素1 因为python是一种强调简单性和可读性的语言