我想知道
Python适用于哪些类型的应用程序?
我是Python世界的新手,但我知道它像Perl一样是一种脚本语言,但我不确定使用Python可以构建哪些类型的应用程序。如果有人能够提供一些有用的信息,我一定会很感激。
我想知道
Python适用于哪些类型的应用程序?
我是Python世界的新手,但我知道它像Perl一样是一种脚本语言,但我不确定使用Python可以构建哪些类型的应用程序。如果有人能够提供一些有用的信息,我一定会很感激。
很难想到哪些常规应用场景不适合Python,但有几种情况下,就像所有类似的高级语言一样,Python可能被认为是一种奇怪且可能劣质的选择。
在“硬实时”应用程序中,所有动态内存分配和释放,尤其是垃圾回收,都被认为是不可取的;这排除了几乎所有现代语言(包括Python,以及Java,C#等等),因为它们几乎都依赖于某种形式的动态内存处理和垃圾回收。
如果你正在为一个预计会生产和销售大量的"嵌入式设备"编程,每一位ROM可能会显著增加总成本,因此你需要一种专注于将应用程序压缩到最后一个可能的位的语言-任何依赖于丰富的支持运行时环境或操作系统(包括Python,以及再次提到的Java,C #等等)无疑都会迫使您额外花费许多ROM位(考虑像古老的Forth那样的线程解释语言:它们可以使一个实际应用程序的代码比直接的机器代码更紧凑!)。
还有其他的一些类似约束(主要集中在MEMORY上:专注于使用尽可能少的位和/或严格限制执行在精确定义的界限内-无动态性,无分配,无垃圾回收等等),基本上情况会再次倾向于相似的方式(例如,有一些服务器应用程序,旨在在许多服务器上运行,如果使用C++[特别是没有“所谓聪明”的指针; -)]而不是Java、Python、C#等等编写,每个服务器可以节省许多MB)。
当然,现代大多数编程语言(如Python、Java和C#等)选择动态内存分配、垃圾回收等技术是有很好的理由的,尽管这些技术在某些应用场景下可能会是负面因素。如果你能够承担得起这样的内存处理方式,编写应用程序变得更加容易,而且与需要仔细管理内存而缺乏此类支持相关的问题和错误可以消失,程序员的生产率真正提高了……当然,前提是你有足够的经济支持才行。例如,如果一个应用程序要在几百或几千台服务器上运行,我可能不会费心用带有手动内存管理的C++进行编码以节省内存;只有在几十万或数十万台服务器时,那些额外的兆字节的经济性才真正发挥作用。简介:
等等...
您说:
我是Python世界的新手,但我知道它是一种脚本语言。
我认为“脚本语言”和“编程语言”的区别是相当武断的。在过去的10-20年里开发的几乎每种语言都有某种形式的运行时支持,通常是通过字节码解释器或虚拟机实现的。Python也不例外:它被编译成字节码,并由Python运行时执行。关键是,我认为在Java、C#、Ruby等语言中你可以做的事情,在Python中也几乎都可以做到。
然而,不同的语言具有不同的优势。因此,肯定有一些程序更适合使用Python编写。这取决于您希望编程语言为您完成什么工作,以及您想要自己完成什么工作。正确的答案取决于您对解决哪些问题感兴趣。
Civilization IV
OpenStack
Bazaar
Mercurial
Blender 3D
TwistedMatrix
Trac
Allura (source project for SourceForge.net)
BitTorrent(<5.3)
Gwibber
Ubuntu Software Center
YUM
OpenERP
journyx
嗯,简短的回答是,既然你提到了Perl,那么你可以用Python构建任何你可以用Perl构建的东西。你可以用任何语言构建任何东西,如果这种语言有易于绑定C的功能,甚至可以高效地完成任务。
现在,问题变得有些哲学性质。Python的一个关键原则是“应该只有一种方法来做它”。Perl恰好相反。Perl的关键原则是“有多种方法可以做到”(TIMTOWTDI)或(Tim Toady,对他的朋友们而言;))。你喜欢如何做事?是一个被大多数人认同的明确而闪耀的道路?还是你更看重Perl中任何任务都有几乎无限数量的解决方案路径?
因此,假设你的任务是I/O绑定的(像大多数事情一样),而不是CPU绑定的(实时编程或游戏,或者是乳头扭曲的数字计算),那么Python就很合适。它的哲学是否适合你是关键问题。
现在大多数3D软件包,如Maya、SoftImage、Houdini、RealFlow、Blender等都使用Python作为嵌入式脚本和插件语言。
http://en.wikipedia.org/wiki/List_of_Python_software 点击链接,你会发现很多东西。其实我也想学习Python,所以我一直在寻找像你这样的答案,然后我找到了这个链接。祝你好运,伙计。
BitTorrent 是基于 Python 构建的。