python、ruby、perl技术特点各有什么不同?


Author: Kimmy

python、ruby、perl技术特点各有什么不同?

知乎链接


三个语言各有特色:Python简洁清爽,Perl充斥着各种黑魔法,Ruby则有机的结合了这两者,并发展出了自己的特色

Python除了最开始可能不太适应的缩进语法之外,其他的都设计的中规中矩。勉强算是支持函数式风格,但是匿名函数限制有点多,写起来难受。
虽然没有统一的包管理工具,不过还好甭管哪个都能正常用。

Perl最明显的就是sigil和各种惯用法了。如果你不小心的话可能就会被一些默认约定给坑了。另外值得一说的是Perl强行区分了值和引用的,这一点虽然增加了语言复杂度和学习难度,但多少也避免了“手动boxing”问题。
还有,对于Perl来说,CPAN简直就是一个发掘不完的宝藏。

Ruby很屌的一个是各种神奇的接口,另一个就是对象模型。前者比如Enumerable模块,影响了从prototype.js到underscore等库的设计;比如标准库自带的un,可以把某些库当作程序来用。后者的影响更是深,甚至造就了RoR这种大杀器,为此还有人专门出了一本书来讲解Ruby元编程技术。
另外,紧凑的语法和block,让Ruby可以很轻松地实现各种DSL来方便程序开发。

就是这样。
==========================

没太详细看题目就回答了,请见谅。
鲁棒性

桌面级应用更推荐Python,因为PyQt跟PyGtk也算是经过实践检验的框架了。
Web服务,在Ruby和Python中二选一,看口味吧。
系统管理,鉴于三者都有坚实的后盾做支持,Perl/Ruby/Python三选一,看口味吧。
只是学来增长见识Ruby和Perl二选一。
用来学习设计思想和更高层面的东西,就选Ruby吧。

如果跟上面的需求都不合,就选Perl吧。

以上。

创建时间:2015-03-05 最近更新时间:2023-11-03