作家
登录

Python和Ruby两大语言全方位对比

作者: 来源: 2017-09-13 17:06:15 阅读 我要评论

51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦!


比来在斟灼揭捉?习一门后端说话,在Ruby和Python直接迟疑,然后本身做了一些比较,欲望能帮到有同样问题的你。

一、异同比较选择

1、Python和ruby的雷同点:

  • 都强调语法简单,都具有更一般的表达方法。python是缩进,ruby是类basic的表达。都大年夜量削减了符号。
  • 都是动态数据类型。都是有丰富的数据构造。
  • 都具有C说话扩大才能,都具有可移植性,比perl的可移植性更好。也都可以作为嵌入说话。
  • 都是面向对象的说话,都可以作为大年夜项目标开辟对象。
  • 都有丰富的库支撑。
  • 也有最宽松的版权许可,除了一些对象属于GNU世界。
  • 都有lisp特点的eval函数,也都能把函数作为参数。
  • 也有图形界面的ruby的专门编辑器。
  • 都获得了广泛的c库的支撑。如qt、gtk、tk、SDL、FOX等,ruby筹划实现SWIG接口。
  • 都有完美的文档。

2、和python比拟ruby的长处:

具有正则表达式和嵌入html的功能。python也有正则表达式,但没有ruby的应用便利和广泛。python的嵌入html项目才刚起步。ruby还有apache的mod模块。ruby本身也实现和很多unix对象,如racc,doctools。比python更亲近Linux。

  • 比python功能更完全的面向对象的语法。
  • ruby的┞符个库都是具有类持续的构造。
  • 他的根本的数据类型和运算符都是可以重载的。
  • ruby重要的功能都是经由过程对象的办法调用来实现的,而不是函数。python也在向这方面成长,但没有ruby做的彻底。
  • ruby的类是更规范的单持续,还有接口等概念的实现。
  • python可以实如今列表内的前提语句、轮回语句,而ruby用“块”的方法来实现这个功能,比python的更灵活,更具有通用性。
  • ruby具有类似lisp的彻底的函数方法的前提语句、轮回语句等。语句的表达才能更强。
  • 附带一些unix对象,如racc等。

3、和python比拟ruby的不足:

  • 最大年夜的不足恰是因为ruby的强赶紧引起的。它没有python的简单性好。比较复杂的面向对象语法、“块”语法的惹人、正则表达式的惹人、一些简写标记都增长了说话的复杂性。
  • python的缩进表达方法比ruby的basic的表达方法更让人好看,ruby法度榜样的满眼的end让人不舒畅。当然,ruby认为end的方法比python更先辈。
  • ruby还没有python的“自省”的才能,没有大年夜法度榜样文件中生成文档的才能。
  • ruby没有国际化的支撑。国际化支撑在ruby的筹划中。这是因为ruby的汗青比python要短造成的。
  • ruby没有类似jython的器械。

4、python和ruby的说话的选择:

大年夜简单的就是好的来说,选python是没错的。python合适寻找简荡竽暌癸言的人,这很可能造成python更风行,是以也有更多的支撑。但如不雅要寻求更强大年夜的语法功能,则ruby是好的选择。因为ruby和python的┞奋学有很多类似的处所,先大年夜python入手,尽量用python,如不雅python的才能不足了,可以在找ruby。

ruby和python的比较,就像五笔和拼音输入法的比较。拼音作为入门的输入法和长久应用的输入法都没有问题。五笔合适更高请求的情况。如不雅寻求机能的不妨学学ruby。对编程说话感兴趣,想懂得各类编程概念的学ruby也会很高兴。

Python:

二、两者各有特点:

1、Python大年夜语法上来说更朴素一些,而Ruby更性感一些

Python的语法相对其他脚本说话来说,没有太多花巧的处所,显得比较逝世板一点,其实大年夜Python强迫代码缩进也可以看出来Guido设计说话的取向。语法逝世板的一面就是不轻易玩出来更性感的器械,比方说Rails如许的框架,别的Python也无法做DSL如许的工作,然则语法逝世板的另一面就是比较规范,相对来说,加倍适应软件开辟的工程性请求,更轻易组织大年夜范围的团队进行开辟。

Ruby的语法异常灵活,Matz设计ruby的出发点也是为了coding for fun,是以可以用ruby玩出来很多花样,应用足够的技能,可以用Ruby写出来切近亲近天然说话的DSL,对于法度榜样员来说,玩ruby确切充斥潦攀乐趣。Rails能在ruby社区出生,而不是Python社区出生绝对和编程说话有直接的关系。不过ruby语法灵活的另一面就是编程实现风格的多样性,这对于大年夜范围团队的协作和治理是一个挑衅。

2、Python的解析器实现更成熟,第三方库质量高

Ruby1.9解析器尽管已经有了很大年夜的机能晋升和很多新的功能,然则大年夜源代码实现的角度来说,根本上是经由过程在Ruby1.8源代码上打patch来增长功能的。大年夜源代码的构造来说,Ruby的实现邃古老了,Ruby扩大起来比较艰苦,只能赓续打patch。这也是为什么如今Ruby社区出现出来那么多新的Ruby解析器实现的原因。大年夜很大年夜程度上来说,这制约了Ruby的成长速度。相对而言,Python解析器更成熟,也比较稳定。

在第三方类库的数量上来说,Ruby并不比Python少,然则高机能高质量久经考验的第三方类库Python要明显比Ruby多,事实上很多Ruby的第三方类库都不太成熟,是以这也很大年夜程度上制约了Ruby的成长。

3、Python的应用范畴异常广泛,而Ruby今朝重要局限在在Web范畴

Python是一门异常优良的说话,大年夜Python迁徙到Ruby,你将发明一些语废喔赡不合。

Python应用的范畴异常广泛,除了web开辟以外,还被广泛用在办事器后端的高机能办事器实现,办事器后端的各类密集运算,全文检索,各类文本处理,体系治理等等,别的桌面应用范畴wxPython也是一个很成熟的跨平台GUI框架。对于某些特别的应用,比方说调用操作体系内核API,Python也可以完成的很好,比方说大年夜量小文件的及时同步筹划,就是用Python直接调用linuxKernel的inotify特点来实现的。所以可以说Python是软件开辟范畴的瑞士军刀,什么工作都可以做。

 1/6    1 2 3 4 5 6 下一页 尾页

  推荐阅读

  河北首个数字化交通设施户籍化管理系统投入使用

51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 看到这条信息后,他们急速联喷鼻魅这位市平易近,具体懂得他的诉求,并向辖区交警懂得该路段的具体情况。>>>详细阅读


本文标题:Python和Ruby两大语言全方位对比

地址:http://www.17bianji.com/lsqh/37397.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)