除了不喜欢空白作为语法之外,我并不讨厌,只是对Python不感兴趣。
我欣赏Perl的诗歌,并用bash&korn和shebang编写了漂亮的Web服务gnuplot
。我写文件,troff
不介意REXX。几年前没有发现tcl有用,但是关于Python的最大臭味是什么?我在简历中看到工作清单和许多应聘者,以此作为奖杯和奖杯。
我想实际上,我想以此为卖点,我只是找不到原因。
0x09
,则您可能不会反对,并且可能会在首选缩进宽度中使用一致的缩进。这是Python允许的。
除了不喜欢空白作为语法之外,我并不讨厌,只是对Python不感兴趣。
我欣赏Perl的诗歌,并用bash&korn和shebang编写了漂亮的Web服务gnuplot
。我写文件,troff
不介意REXX。几年前没有发现tcl有用,但是关于Python的最大臭味是什么?我在简历中看到工作清单和许多应聘者,以此作为奖杯和奖杯。
我想实际上,我想以此为卖点,我只是找不到原因。
0x09
,则您可能不会反对,并且可能会在首选缩进宽度中使用一致的缩进。这是Python允许的。
Answers:
Python是一种经过精心设计的语言,具有相当干净的语法,完善的标准库,出色的包含和第三方文档,广泛的部署以及“脚本”风格语言的即时性(即,没有显式的编译步骤)。
len
?
__double_underscore_names__
,alllowercasefunctionames
与mixed_underscore
和mixedCamelCase
名称混合使用。它要求:
在def
或循环的末尾有一个。它采用了大量奇怪的缩写str
,dict
,islice
。看起来根本没有约定。真是混乱。点子,点子,禅宗...它更像是一种python宗教,而不是一种语言。它可能具有一些不错的功能,但是并不能解释为什么这么多的人如此退出。pyhon没有什么特别的。只是另一个设计不佳的产品。
def
什么?为什么我用a def
而不是a 定义函数func
?没有其他语言像python那样直观。
我发现Python是我编写过的最自然的编程语言。在Python之前和之后,我已经使用许多语言进行了编码,或者或多或少地,您必须与之抗争。让它做您想要的。Python大大减少了这种麻烦。埃里克·雷蒙说,很多比我更好,为什么Python中?
与此相关的是,即使在迅速发展的同时,Python仍保持其清洁度。在我使用过的大多数语言中,引入新的语言功能会带来很多麻烦。但是,使用Python甚至可以一直添加主要的语言功能(想到装饰器),而不会感到难看。
我希望这听起来不会太愤世嫉俗,但是IMO Python如此受欢迎是因为Java,C#和Objective-C完全相同。不是因为语言本身有什么奇妙的地方,而是因为它们每个人都有一个大型公司的赞助商,能够赞助大量的宣传,大量的广告,大量的库以及对他们首选语言的支持。
我的经验是,在编程中找到真正快乐的人通常会比在学校或大学学习的语言更适合自己。基本上,这意味着它们将从默认的PHP / Visual Basic / C ++ / Java / C#过渡到更奇特的(业务/职业),例如Python,Ruby,Haskell甚至是perl(因为它具有巨大的hack价值和晦涩感)。
别误会,有很多经验丰富的C#/ VB.net程序员对他们的工作和代码感到非常自豪和高兴(StackOverflow的家伙是一个很好的例子),但是您不会成为python程序员,仅仅是因为那就是他们在学校教给你的;这必须由您自己决定。
我认为Jeff Atwoord对此发表了一篇博客文章,但我找不到它。如果找到它,我将更新此评论。
与确实很酷并且会产生惊人的Code Golf-offs的Ruby相比,Python的核心理念是:“应该有一种-最好只有一种-显而易见的方法”,这是惯用的Python方法。与Ruby相比,我发现这是一个巨大的优势。
首先,如果语言本身具有强大的表达能力和实用性,那么像Python中的强制缩进这样的琐事就显得无关紧要。一开始我也因此而被拒之门外,但很快就学会了跳过它,现在甚至没有感觉到它是一个障碍,因为这种语言使我更容易使用。它就像Perl中变量的信号一样,这是一种无害的语言怪癖,任何熟悉该语言的人都不会对此感到困扰。
要了解为什么很多人认为Python很棒的原因,只需尝试学习该语言即可。原因与Perl大致相同。我发现我喜欢Python中的语法(例如,列表推导,OOP语法等),但这确实是主观的,您的看法可能会有所不同。我更喜欢将Python用于较大的项目,而我仍将Perl用于较小的脚本。
而这是回答你的问题。您将Python与Perl,bash和tcl进行了比较。事实是,这不是一个公平的比较。诸如bash之类的语言旨在编写小型脚本来自动执行常见任务。有些人认为,如果代码足够大,Perl也会变得笨拙(编写良好的Perl不会,但是编写好的代码很难在大型项目中获得)。IMHO Python与其他“脚本”语言的不同之处在于,它可以很好地扩展到大型项目以及小型一次性脚本。我认为Ruby也具有相同的质量。
仁慈的独裁者应该贯彻其良好风格的理念[1],良好编程的理念,如何编程的理念经常使我感到沮丧。我不喜欢范·罗森(van Rossum)。但是,他的语言拒绝表达非范·罗苏姆思想的尝试。他的思想工作真的好了很多(大多数?)程序员。但是我似乎不适合他的编程模型。
这就是为什么我认为Perl是一种高级语言。
[1]参见他的博客有关删除reduce
。
我认为在某种程度上,除非您想编写OS内核,否则Python是您唯一需要的编程语言。它适用于交互使用,随机破解,系统管理,科学应用程序,操作系统工具,Web应用程序,GUI应用程序,嵌入等,它是便携式,免费且广泛使用的。在实践中,没有其他编程语言真正涵盖所有这些领域。对于个人和公司而言,这是一项非常好的战略投资。
从2004年开始,我就开始使用Python进行开发:
早在2004年,Python就成为了首选语言,因为Python脚本几乎不需要做任何修改就可以在Windows,Linux和Mac上移植。
对我而言,Python一直是亲爱的朋友。这是一种体面的脚本和原型语言。我能想到的关键是:
它优雅且易于学习,一旦您熟悉了它的基本类型(尤其是列表),您的工作效率将无极限。它非常适合用于原型算法,或者用于最终可以直接放在机器上的类似于伪代码的语言中编写它们,并且它非常适合作为脚本语言来执行重复性工作或对文件执行烦人的操作。我将它用作使子流程彼此通信的胶合语言:对于某些简单的任务,它不如bash强大,但是,如果您需要做的不仅仅是一行代码,那么它将变得更加轻松。
然后,它不区分函数和子例程,您知道我的意思。
现在我有点累了,重新解决这个问题:
我发现Python是特别适合科学编程任务的一种语言,这是其流行度非常强劲的地方之一。原因如下:
它不是编程语言的最终目标,而是一种不错的“是的,我可能有一个工具来解决出现的任何问题”语言,这可能就是为什么它现在很受欢迎。
在可用的框架(Django,Zope等)和易于导入的库中,Python都是一种非常“ webby”的语言,该库又涵盖了许多Web函数。
对于仅使用HTML,CSS + JS技能集(过去几年间大量新程序员的来历)的Web开发人员而言,我认为这使其成为一个非常有吸引力的主张(同上Ruby)。
另外,谷歌不是微软。
我认为主要原因之一是90%的google是由Python制成的。
但是,Python还是一种易于学习的功能强大的编程语言。它具有高效的高级数据结构和简单但有效的面向对象编程方法。Python优雅的语法和动态类型以及其解释的特性使它成为大多数平台上许多领域中脚本编写和快速应用程序开发的理想语言。
Python解释器和广泛的标准库可从Python网站http://www.python.org/免费以源代码或二进制形式用于所有主要平台,并且可以免费分发。同一站点还包含许多免费的第三方Python模块,程序和工具以及其他文档的发行版和指针。
Python解释器可轻松扩展为以C或C ++(或从C调用的其他语言)实现的新功能和数据类型。Python也适合作为可定制应用程序的扩展语言。