python、ruby、perl技术特点各有什么不同?
三个语言各有特色:Python简洁清爽,Perl充斥着各种黑魔法,Ruby则有机的结合了这两者,并发展出了自己的特色。 Python除了最开始可能不太适应的缩进语法之外,其他的都设计的中规中矩。勉强算是支持函数式风格,但是匿名函数限制有点多,写起来难受。 Perl最明显的就是sigil和各种惯用法了。如果你不小心的话可能就会被一些默认约定给坑了。另外值得一说的是Perl强行区分了值和引用的,这一点虽然增加了语言复杂度和学习难度,但多少也避免了“手动boxing”问题。 Ruby很屌的一个是各种神奇的接口和库,另一个就是对象模型。前者比如Enumerable模块,影响了从prototype.js到underscore等库的设计;比如标准库自带的un,可以把某些库当作程序来用。后者的影响更是深,甚至造就了RoR这种大杀器,为此还有人专门出了一本书来讲解Ruby元编程技术。 就是这样。 没太详细看题目就回答了,请见谅。 做桌面级应用更推荐Python,因为PyQt跟PyGtk也算是经过实践检验的框架了。 如果跟上面的需求都不合,就选Perl吧。
虽然没有统一的包管理工具,不过还好甭管哪个都能正常用。
还有,对于Perl来说,CPAN简直就是一个发掘不完的宝藏。
另外,紧凑的语法和block,让Ruby可以很轻松地实现各种DSL来方便程序开发。
==========================
“鲁棒性”
做Web服务,在Ruby和Python中二选一,看口味吧。
做系统管理,鉴于三者都有坚实的后盾做支持,Perl/Ruby/Python三选一,看口味吧。
只是学来增长见识,Ruby和Perl二选一。
用来学习设计思想和更高层面的东西,就选Ruby吧。