从一个Perl 5背景的人,有什么移动到Perl 6的或Python的优势是什么?
编辑:如果你downvoted这一点,因为你认为它只是flamebait, 请阅读下面的答案。 他们不是呓语参数; 他们精心编写每种语言的利弊的讨论。 给堆栈溢出社会一些信贷。
从一个Perl 5背景的人,有什么移动到Perl 6的或Python的优势是什么?
编辑:如果你downvoted这一点,因为你认为它只是flamebait, 请阅读下面的答案。 他们不是呓语参数; 他们精心编写每种语言的利弊的讨论。 给堆栈溢出社会一些信贷。
没有通过切换从Perl来Python中获得优势。 也没有通过切换从Python中的Perl来获得优势。 他们都同样有能力。 请根据你所知道的,问题你正在努力,而不是解决对某种概念,一个是莫名其妙天生优于其他的工具。
唯一真正的好处是,如果你是从你不知道你懂得的语言,在这种情况下,您的工作效率可能会去一个语言切换。
Perl 6的拥有蟒蛇一些强大的功能。 我认为这些都是功能Python 3里没有:
而且这股与Python对Perl 5以下优点:
Perl6的实现不是100%完成,或调整不够使用的“性能敏感”的应用程序特定的值。 但是,这是需要的用例95-99%的规范的80-90%是完全Rakudo,现在*
*我忽略了对异步I / O的任何规定。 规范的那部分是在不断变化。
**虽然流行麋项目提供了这个在Perl 5。
Python没有结 。 事实上,我认为只有Perl有结为止。 :-)
在我看来,Python的语法是更清洁,更简单,一致的。 你到处都可以定义嵌套的数据结构相同,你是否打算将它们传递给函数(或者从一个归还),或直接使用它们。 我喜欢Perl的很多,但只要我学到足够的Python来“搞定”它,我从来没有回头。
根据我的经验,Python中的随机片段往往比Perl的随机片段更具可读性。 所不同的真的可以归结为各地每种语言的文化中,Perl的用户经常欣赏聪明而Python用户更常常喜欢清晰度。 这并不是说你不能有明确的Perl或Python的狡猾,但这些都是很少见。
两者都是精细的语言和解决了许多相同的问题。 我个人对瘦的Python,如果没有其他原因,它似乎是蓄势待发,而Perl中似乎失去了用户Python和Ruby。
需要注意的遁词在上面的丰度。 老实说,这真的要归结为个人喜好。
Perl是一般比Python更好地为快速一个衬垫,尤其是涉及文/正则表达式
http://novosial.org/perl/one-liner/
Python有一个巨大的优势:它的实施,有它相当稳定的编译器。
Perl 6的是一个相当有远见的语言,没有任何地方几乎足够稳定生产。 但它有一套非常酷的功能,其中包括:路口,语法(是的,你可以写全分析器与Perl 6的“正则表达式”)在石墨烯的水平,统一处理,懒惰的名单和强大的宏。
在当你知道的Perl 5您的特定情况下,你会得到熟悉的Perl 6的语法非常快。
对于什么很酷的功能,Perl 6的都有,看到一个更全面的列表的常见问题解答 。
你还没说你为什么要在Perl搬走*。 如果我的水晶球生活功能那是因为你不知道完全的语言,所以它让你失望。
用Perl坚持和学习语言好。 如果你做的那么有一天你会成为大师,知道为什么你的问题是无关紧要的。 启示是属于那些寻求它。
Python有今天的生产就绪的格式是可用的一大优势。
Python有Jython和IronPython的,如果你需要使用Java或.NET CLR紧密合作。
Perl 6的具有基于所述相同的原理,Perl的(1-5)的优点; 如果你喜欢Perl中,你会喜欢的Perl 6出于同样的原因。 (有这样做,等超过单程)
Perl 6的也有仅部分实现的优势:如果你想破解的语言内部或有助于确定标准库,这就是要在Perl 6日开始的好时机。
编辑 :(2011)它仍然是一个伟大的时间来破解的Perl6内部,但现在有一个更成熟,可用Perl6分布, Rakudo星 。 如果你想利用今天Perl6,这是一个很好的选择。
IMO python的regexing,ESP。 当您试图代表像Perl的/ E运营商在s/whatever/somethingelse/ e
,变得相当缓慢。 所以在怀疑,你可能需要留在Perl5的:-)