it-swarm.cn

为什么在Python中如此受欢迎?

除了不喜欢空白作为语法之外,我并不讨厌,只是对Python不感兴趣。

我欣赏Perl的诗歌,并用bash&korn和Shebang gnuplot编写了精美的Web服务。我用troff写文档,不介意REXX。几年前没有发现tcl有用,但是关于Python的最大臭味?我在简历中看到工作清单和许多应聘者,以此作为奖杯和奖杯。


我想实际上,我想以此为卖点,我只是找不到原因。

55
Jé Queue

Python是一种经过精心设计的语言,具有相当干净的语法,完善的标准库,出色的包含和第三方文档,广泛的部署以及“脚本”风格语言的即时性(即,没有明确的编译步骤)。

61
Greg Hewgill

我发现Python是我曾经用代码编写过的最自然的编程语言。)在Python之前和之后,或多或少,我都使用多种语言进行编码在某种程度上,您必须与语言进行斗争才能让它按自己的意愿去做。Python大大减少了这场斗争。EricS Raymond说过很多为什么要使用Python?

与此相关的是,Python甚至在快速发展的同时也保持了它的清洁度。)在我使用过的大多数语言中,新语言功能的引入都会带来很多麻烦。但是对于Python,甚至主要语言始终添加功能(装饰者想到),而不会感到丑陋的骇客。

76
Chinmay Kanchi

我希望这听起来不会太愤世嫉俗,但是IMO Python如此受欢迎,原因与Java,C#和Objective-C完全相同。这不是因为语言本身有什么吸引人的地方,而是因为他们每个人都有一个超级赞助商,能够产生大量的宣传,大量的广告,大量的库以及对他们首选语言的支持。

26
Mason Wheeler

我的经验是,那些在编程中真正感到高兴的人通常会比在学校或大学学到的语言更适合自己。基本上,这意味着它们将从默认的PHP/Visual Basic/C++/Java/C#)转向更特殊的(商务/职业)Python之类的东西。 ,Ruby,Haskell甚至Perl(因为它具有巨大的破解价值和晦涩感)。

别误会,有very经验丰富的C#/ VB.net程序员对他们的工作和代码感到非常自豪和高兴(StackOverflow团队是一个很好的例子),但是您不会成为一名python)程序员,只是因为那是他们在学校教给你的;必须由你自己决定。

我认为Jeff Atwoord对此发表了一篇博客文章,但我找不到它。如果找到它,我将更新此评论。

11
Ivo van der Wijk

与Ruby相比,Ruby确实很酷,并且可以产生令人赞叹的Code Golf-off。相比之下,Python拥有这样的核心哲学,即“应该有一种-最好只有一种-显而易见的方法, ”,这是惯用的Python=方法。与Ruby相比,我发现这是一个巨大的优势。

9
Dan Rosenstark

我开始爱Python的原因与Eric S. Raymond所述的原因相同:用Python编写程序的行为在概念上非常类似于脑海中设计代码的行为。

学会成为一名优秀的_Python程序员,使我成为了很多更好的C#程序员。一方面,它使了解LINQ变得容易得多。如果我没有在Python中使用类和生成器,我可能永远不会接受Dictionary<string, Func<T>>这样的类型,或者习惯于使用yield return。现在,我已经使用Python装饰器,因此AOP易于理解。清单继续。

8
Robert Rossney

首先,如果语言本身具有强大的表达能力和实用性,那么像Python)中的强制缩进这样的琐事就显得无关紧要。我也因此而被拒之门外,但很快就学会了超越它并现在甚至都不觉得这是一个障碍,因为该语言使我更容易使用。它就像Perl中变量中的信号一样,无害于语言,任何熟悉该语言的人都不会对此感到烦恼。

要了解为什么很多人认为Python很好,请尝试学习该语言。原因与Perl大致相同。我发现我喜欢Python(例如列表理解,OOP语法等),但这确实是主观的,您的看法可能会有所不同。我更喜欢Python较大的项目,而我仍将Perl用于较小的脚本。

that是您问题的答案。您将Python与Perl,bash和tcl进行了比较。)那是个不公平的比较。像bash这样的语言是为编写小型脚本来自动执行常见任务而设计的。有些人认为Perl也如果代码变得足够大,代码将变得笨拙(Perl编写得不好,但是在大型项目中很难编写出很好的代码)。恕我直言Python与其他“脚本”语言不同,它可以很好地扩展到大型项目以及小的一次性脚本。我认为Ruby也具有相同的质量。

6
MAK

仁慈的独裁者应该贯彻其良好风格的理念[1],良好编程的理念以及如何编程的理念经常使我感到沮丧。我不认为是范·罗森(van Rossum)。但是,他的语言拒绝表达非范·罗苏姆思想的尝试。对于许多(大多数?)程序员来说,他的思想很有效真的。但是我似乎不适合他的编程模型。

这就是为什么我认为Perl是一种高级语言。

[1]请参阅他的博客,其中涉及删除reduce

6
Paul Nathan

从2004年开始,我就使用Python来开发:

  • 图形用户界面
  • 用Python到C++绑定
  • 跨平台自动构建系统
  • 测试脚本
  • 解决日常问题的通用工具
  • 网站和网络应用

早在2004年,Python是选择的语言,因为Python脚本在Windows,Linux和Mac上都是可移植的,几乎不需要修改。

5
Thierry Lam

我认为在某种程度上Python是您唯一需要的编程语言,除非您想编写OS内核。它适用于交互使用,随机黑客,系统管理,科学应用程序,操作系统工具,Web应用程序,GUI应用程序,嵌入等等等,它是可移植,免费且广泛使用的,实际上没有其他编程语言可以真正覆盖所有这些领域。一家公司。

5
Peter Eisentraut

它优雅且易于学习,一旦您熟悉了其基本类型(尤其是列表),您的工作效率将无极限。它非常适合用于原型算法,或者用于最终可以直接放在机器上的类似于伪代码的语言中编写它们,并且它非常适合作为脚本语言来执行重复性工作或对文件执行烦人的操作。我将它用作使子流程彼此通信的胶合语言:对于某些简单的任务,它不如bash强大,但是如果您需要做的不仅仅是一行代码,那么它将变得更加轻松。

然后,它不区分函数和子例程,您知道我的意思。

4
Lorenzo Stella

对我来说Python是一位亲爱的朋友。这是一种不错的脚本和原型语言。我能想到的关键是:

  • 语法简洁,非常简单易懂
  • 多范式,将其用作命令式语言?当然。哎呀没问题。它还具有一些轻松的功能语言功能,例如lambda,列表推导等.
  • 对于基本计算需求,它对基本数据结构,数组,元组,字典(关联数组),集合等具有本地支持。
  • 其他功能可以使程序员非常高效,例如鸭式打字,反射,元编程,装饰器,生成器等。
  • 丰富的库支持
4
grokus

许多Python=恋人,我看到他们刚从C语言环境切换过来,并对"Hello "+ "World""Hello World"。因此,我想说这是第一种不收集深奥/特定标签的脚本语言,因此在mar难者中散布,就像在干燥的森林中生火一样。这样创造出来的时尚现在可以独立存在。

3
mbq

现在我有点累了,重新解决这个问题:

我发现Python是一种特别适合科学编程任务的语言,这是它的流行度非常强劲的地方之一。原因如下:

  • 相当强大的社区支持意味着这里有一些强大的库,并且Python可以很好地替代MATLAB和该领域的其他一些流行语言。
  • 当您do需要速度时,它可以很好地与C配合使用,但是速度实际上并没有那么必要,因此Python的解释性质并不是一件大事。
  • 我发现它是一种相当平易近人的语言,而对于局外人来说却没有太多的感觉,就像是一种奇怪的任意语法规则。它很漂亮Swift在伪代码和Python之间进行翻译。
  • “接受或保留它,面向对象”。许多科学编程项目并不能从广泛的OOP中获得很多好处。有的。拥有一种可以轻松在两者之间切换的语言是很高兴的。
  • 强大的跨平台支持。尤其是因为我使用的很少涉及GUI,因此我几乎可以依靠能够将Python)程序发送给其他人而无需担心他们正在运行什么操作系统。

它不是编程语言的最终目标,而是一种不错的“是的,我可能有一种工具来解决出现的任何问题”语言,这可能就是为什么它现在很受欢迎。

2
Fomite

在可用的框架(Django,Zope等)和易于导入的库中,Python都是一种非常“ webby”的语言,该库又涵盖了许多Web函数。

对于仅使用HTML,CSS + JS技能集(过去几年间大量新程序员的来历)的Web开发人员而言,我认为这使其成为一个非常有吸引力的主张(同上Ruby)。

而且,谷歌不是微软。

1
Jon Hadley

我认为主要原因之一是90%的google是由Python制成的。

但是,Python还是一种易于学习,功能强大的编程语言。它具有高效的高级数据结构和一种简单但有效的面向对象编程方法。Python的优美语法和动态类型,加上其解释性,使其成为大多数平台上许多领域中脚本编写和快速应用程序开发的理想语言。

Python解释器和广泛的标准库可从Python网站, http: //www.python.org/ ,并且可以免费分发。同一站点还包含许多免费第三方Python模块,程序和工具,以及其他文档。

Python解释器很容易扩展为使用C或C++(或其他可从C调用的语言)实现的新函数和数据类型。Python可定制应用程序的扩展语言。

0
blackhat