Python如何与其他脚本语言叠加?

yrs*_*nkd 1 ruby python perl comparison

我正在学习Python(这是我的第一个编程语言,所以不要因为你的原因激烈)而且我想知道它如何与其他脚本语言(如Perl和Ruby)叠加.与其他脚本语言相比,什么是Python更好,更糟糕的是什么?

DVK*_*DVK 10

首先,建议 - 从相反的方面寻找积极的事情.意思是,你应该相信与Python相关的消息来源(或者Perl相关来源对Python的积极的说法)所说的Perl的积极的事情远不止相反.

原因有两个:

1)有理由喜欢Python的人不会倾向于说Perl的好东西,除非他们真的想要客观(这是你理想的想法).反之亦然 - 这是人类偏见和动机的问题,而不是Perl或Python.

2)写这种比较偏好一种语言的人往往完全是错误的,而且对于他们不喜欢的那种语言也没有很好的实践.作为证据,看到这篇文章:http://python.about.com/od/gettingstarted/ss/whatispython_5.htm -几乎任何东西它有什么看法Perl是,把它轻轻地,温和地,一个comlpete和完全铺位.我确信Perl粉丝也有同样愚蠢的Python推文,我从来没有读过足够多关于Python的内容,因为我能够认真思考一下.


其次,请注意,至少对于Perl而言 - 我强烈怀疑,对于Ruby和Python--"脚本"语言的绰号不再适用.

是的,他们(尤其是Perl的)起​​源有些连接到shell脚本,是的,对语言能力的一小部分可能是 - 并且 - 用来编写shell脚本,并进行小任务非常简单,非常高效.

然而,在其悠久的历史这一点上,Perl是绝不甚至远程限于这些功能,并用于开发从脚本什么的Web框架,服务器及大型企业软件,生物信息学软件.


第三,请看这个 - 它有很多链接:

http://wiki.python.org/moin/LanguageComparisons

  • 而且,对于第2点的一个主要例子,请看Paul Nathan的答案.至少他的一些比较基于Perl的一些古老特征进行比较,这些特征在过去几年中并非如此(不强大的OO,缺乏例外,缺乏Web框架)和一些不是真正的指标(更大)一套"核心"模块) (4认同)
  • @Paul - 我很抱歉,但你的评论是100%正确(语言不是图书馆),但100%支持我的观点.您回答了比较两种语言的请求,通过比较甚至不仅仅是可用的库集 - 如果您解释正确的上下文实际上是足够有效的指标 - 而是通过比较预先打包到其中一个发行版中的库的数量**(例如,Strawberry Perl预先包装了大量的CPAN,绝大多数公司的Perl安装都是如此). (2认同)
  • Perl粉丝通常是合理的 - 其他语言的容忍度在Perl文化中. (2认同)

Dum*_*001 6

我正在学习Python(这是我的第一个编程语言,所以不要因为你的原因太激烈)而且我想知道它如何与其他脚本语言(如Perl和Ruby)叠加.与其他脚本语言相比,什么是Python更好,更糟糕的是什么?

IMO.

我已经尝试过Python 2.x一段时间了,然后又回到了Perl和C++.

Python的优点是什么?Python具有更好的可移植性,并具有现代GUI库.某些地方的标准图书馆也非常好(我特别喜欢随机).算术表达式的执行速度超过Perl的执行速度.

Python有什么不好的.档案不好.没有警告,没有任何打字与弱打字/语言的动态性质相结合是一个地狱.学习容易 - 使用困难,主要是由于不成熟的优化器驱使需要在开发周期的早期考虑性能边缘情况.(有时候让我想起了Pascal.)OO目前很乱:旧式和新式课程之间的鲜明特征和差异并未得到很好的阐述; 库没有提到他们定义的类的类型.

可能应该突出显示不良文档.有大量的标准功能,但它们的生活目的并没有真正规定,也没有给出正确的例子.在Perl土地中,这些标准功能中有一半更好地位于其中的某个位置perldoc perlguts.无论如何,使用Google查找内容的速度要快得多.

缺乏警告和缺乏打字(与弱Perl use warnings/ use strict和子原型相比)最终驱使我回来.部分原因是因为我编写的代码比我能读的速度快,因此我喜欢依赖编译器/解释器告诉我在哪里写了一些我并不真正想要的东西.

也请原谅,但是我会再次在Python上抛出它:使用缩进来表示代码结构是一种变形.我不介意它本身和短期功能它是非常好的.但是在一周之后我发现我在很大程度上读取Python代码(与C++或Perl相比),因为我必须经常额外检查语句是否真的关闭或者仍然继续.如果代码不适合一个屏幕,那么总是按PgDown/PgUp进行检查就变成了一件苦差事.从来没有像我那样欣赏{}s.

所有人都认为,Python目前一团糟.值得关注的竞争者我会密切关注,但还不够成熟以满足我的日常需求.如果我现在决定学习Python,我会等待Python 3.x成熟.现在使用Python 2.x学习的许多东西在Python 3.x中可能毫无用处.而Python 3.x目前还不是很有用,因为许多库尚未移植到它.

PS我遇到的大多数虚假部分都是函数指针.比我需要他们写我早点发现他们start_time = time.timetime_elapsed = time.time() - start_time.半小时后,当脚本完成而不是结果时,我遇到了很好的解释器异常,告诉我我不能减去函数对象.半小时是由标准for循环引起的,正如教程告诉我的那样.我稍后查找的优化(rangexrange手动循环展开相比)使脚本在不到一分钟的时间内运行.