为什么Python如此流行?[关闭]


84

Python于1991年首次出现,但直到TIOBE排名将有意义的事情量化之后,它才在2004年之前还不为人所知

发生了什么?是什么引起了对这种13岁语言的兴趣的泛滥?是有原因的,在Python诞生的第一个十年里,Python就没有被认为是Perl的真正竞争对手吗?难道有一个原因是Python再过十年没有再变得相对默默无闻吗?

我个人认为Python是一种非常不错的语言,很高兴我不是唯一的一种。但是它没有企业支持或杀手级功能,无法解释相关性的突然上升。

有人知道这个故事吗?


6
从历史上看,这是一个很快的增长!
Macneil 2010年

3
这个问题很有趣。+1
Tim Post

1
文章Python悖论来自2004
。– stesch 2011年

2
人们可以通过Django来使用Python,就像通过Rails来使用Ruby吗?
安德鲁·格林

1
Django的。这是我听到人们谈论将其真正用于开发的第一个背景。在此之前,我所见过的大部分话题都是“为什么没人要使用这种语言?” 或……“ Rails是Ruby起飞的原因,而Python却一事无成。” (请注意,最后一个是在Django之前的日子)。
scriptocalypse

Answers:


74

谷歌

Google开始大量使用Python,并重新投资开发该语言。

但是它没有企业支持或杀手级功能,无法解释相关性的突然上升。

Google是企业的后盾。至于功能,Python是一种OOP解释的跨平台快速1语言。不喜欢什么 这是工具箱中的另一个出色工具。


1. 快速发展,不迅速执行。相比说Java或C,用Python编写通用脚本要快得多,而无需考虑那些语言执行得更快的事实。


25
Python的创建者Guido van Rossum于2005年左右被Google聘用,与此同时,他们开始大量使用python。这也提供了促进。
nayan 2010年

6
快速语言是什么意思?
Peaker

我记得有人说过,作为一种解释语言,它与Perl相比太慢了,但是现在计算机要快得多。
user2442 2011年

5
2004年使用量激增是因为Google在2005年开始大量使用它吗?
汤姆·霍顿

1
我在史蒂文·列维(Steven Levy)的《 Googleplex》一书中读到,第一个Web爬网程序是在1996年左右由Page和Brin在Python中实现的(很糟糕)。它是由最早在Web上有丰富经验的一名员工用C重写的。发展。因此,Python与Google的联系可以追溯到其最初。
dodgy_coder 2012年

24

我在2001年左右开始使用Python,并在04/05更加认真地使用,后来又更加认真地使用。我记得发生了一些事情,这些事情改变了人们对Python的态度,并使之作为Web开发语言更加可行。

  • 发生FCGI,然后出现WSGI。在此之前,您必须像普通的CGI一样运行Python脚本,这还不够快。mod_python远不及mod_php,.NET CLR或Java平台JIT VM。

  • 杰出的大学开始使用Python教授算法和其他课程,并且出版了《学会像计算机科学家一样思考》一书并广受欢迎。

  • 在20年代初,它成为Google的顶级实施语言,这对它的重视程度产生了影响。

  • 可见的开发人员和标准开发人员,例如Joe Gregorio和Mark Pilgrim,都使用Python来实现Atom协议的原型。然后,Pilgrim编写了DiveIntoPython,它帮助了很多人学习和学习该语言。

  • 2.x分支变得稳定并实现了一些功能,例如Unicode支持,良好的XML解析,新的垃圾收集器,生成器和功能方法等。

  • 最大的引爆点是Django-Django与RubyOnRails一起在2005年左右变得非常著名。Django的哲学与Rails有所不同,许多开发人员发现它更适合于项目。

对于不受大型公司支持的语言(例如C#和Java),采用和开发曲线非常典型,并且接近其他开源语言(例如Ruby)。

Django对Python的影响不如Rails对Ruby的影响,因为科学家,数学家,量子力学,学术界等已经广泛使用Django。


10

2004年TIOBE索引的改组归结于Google改变了他们的搜索。从TIOBE确实可以学到很多东西-这完全是胡说八道。我不认为Python的普及率会突然上升。当然不是因为一个公司碰巧在内部将其用于某些东西。


5
如果您不信任TIOBE,则可以尝试果真网站。 自2005
Robert Harvey 2010年

3
不管是不是废话,很多程序员在2003年和2005年底都没有听说过Python。这对于第二种语言来说是不寻常的。
埃里克·威尔逊

@RobertHarvey:似乎Web开发语言的趋势确实是普遍的。例如。实际上.com / jobtrends?q = python%2C + php%2C + ruby
vartec 2012年

@vartec实际上,它看起来像是稳定的增长(大概是以Perl的增长为代价的),而不是突然的跳跃。/有趣的是,观察Obejctive-C相对较差-大概是苹果有成千上万的程序员在最低工资以下工作。
Tom Hawtin-定位线

6

谷歌是原因。Google只要求使用少数几种语言:C ++,Java,Python,Javascript,PHP?

企业的支持对语言的成功非常重要。例子:

  • C ++:AT&T贝尔实验室
  • Java:Sun
  • C#:微软
  • Python:Google

2
您真的不应该发布与现有答案相似的答案。编辑任何您认为缺少的内容。
乔什(Josh K)2010年

1
@Josh,我对你投了赞成票,但感觉没有说我想说的全部,但是我不确定如果我修改了答案,人们是否会想要。
grokus 2010年

6
如果它提高了答案的质量,我想应该没问题。该功能的存在是有原因的。
nayan 2010年

2
那是该网站的想法。;)
Josh K 2010年

我希望Perl能够获得公司备份。
2015年


-1

坦率地说,python的某些方面使其显得过时。使您感觉像是在大型机上的打孔卡上编码的事情。就像缩进间隔对代码块很重要。像这样的小东西使很多人在简短浏览后便不使用该语言。我怀疑这在初期就很糟糕。尤其是在那些已经在这类环境中生活了多年的人群中,除了离开大型机并进入网络之外,他们什么都不想。


4
缩进范围界定是一个宗教辩论。有些人喜欢它,另一些人讨厌它,但是不可能给出结论性的支持或反对的论据。
dbkk 2010年

1
正是我的意思。那些讨厌它的人一意识到它就放弃了该语言,许多人因此而向同行宣扬了该语言。我认为很长一段时间以来,这种做法都不利于采用。(TBH:这是我至今仍无法在* .py上工作的原因之一)
cabbey 2010年

4
在任何现代语言中,无论如何都要缩进以使结构清晰。因此,放下括号是一个明显的进步。它与打孔卡无关,而且我认为拥有打卡经验的程序员人数并不多,或者是13年前。此外,我希望他们中的大多数人不会像您那样牵强。
maaartinus 2011年

@maaartinus:这是一个明显的进步,直到遇到一个表达式太长而无法在一行中显示而没有水平滚动时为止。然后事情就变得尴尬了。
梅森惠勒

1
@Mason惠勒:在编辑器中更好的换行的方法也可以帮助:stackoverflow.com/questions/759577/...
retracile
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.