2KB项目,专业的源码交易网站 帮助 收藏 每日签到

Python vs Ruby: 谁是最好的 web 开发语言?

  • 时间:2019-01-23 18:27 编辑:2KB 来源:2KB.COM 阅读:324
  • 扫一扫,手机访问
  • 分享
摘要:
Python Ruby 英文原文:Python vs Ruby: Which is best for web development?

Python 和 Ruby 都是目前用来开发 websites、web-based apps 和 web services 的流行编程语言之一。

这两种语言在许多方面有相似之处。它们都是高级的面向对象的编程语言,都是交互式脚本语言、都提供标准库且支持持久化。但是,Python 和 Ruby 的解决方法却千差万别,因为它们的发展历程导致它们的语法和原理都大不相同。

那么要采用哪种语言来进行编程就需要好好考虑了,因为每种语言都是自己的优点和缺点。而且这些优缺点都会影响我们的决定。

基础知识

Python 最初是作为科学领域的原型设计语言的,因为它可以很容易转换成 C++ 语言。Python 发展很久之后才被第一次用于网站开发。而 Ruby 之所以流行就是因为网站开发,继承自 Ruby 的 Rails 框架被开发人员用来设计复杂的网站。

哪种编程语言更适合你的需要?下面对于每种语言都做一个概述来帮助你选择:

方法:最好的方法 VS 以人为本的语言

Python

Python 作为一种直接面向对象的编程语言。它主要的目的是对程序员来说所有的事情都是很明显的。在 Python 语言中做某件事情的时候,只有一种‘最好’的办法。这种原理导致 python 语言的代码规范很严格。

Python 的核心理念主要包括三条关键的分层原则:

  •     显示优于隐式;

  •     简单优于复杂;

  •     复杂优于超复杂;

这种严格的原理导致 Python 语言是一种易读且易学——这也就是为什么一部分码农说 python 语言是伟大的语言。对于,入门级的编程语言 Python 有很大优势。它的语法简单,几乎不需要去记。因为它的代码结构很明朗,开发者很容易知道一切从哪里来,也很容易去调试。

Python 代码的层次结构是很明显的一个特点。不同于其他编程语言,包括 Ruby,Python 语言使用空格进行流程控制。代码的缩进决定了它执行的意义。使用空格是 Python “显示”原理的一个很典型的例子,一个 Python 代码的形状决定了它的逻辑结构和执行顺序。 

Ruby

不同于 python ,Ruby 是“以人为本”的语言,是按照开发者认为的方式来运行的,它的代码读起来更像是口语化的语言(像开发者)而不是像其他语言一样类似于一种机器语言。Ruby 遵循“最小惊动”原则,提供很多作相似事情的方法。这些相似的方法有多个名称,使得很多开发者感到困惑和沮丧。

不同于 Python,Ruby 语言使用了“模块”,一级对象在程序中被当做一个单元。事实上,Ruby 是一种面向对象编程的语言。一切皆为对象——甚至全局变量事实上都是对象空间中的对象。类和模块本身就是对象,函数和运算符都是方法的对象。这种方式使得 Ruby 尤其强大,尤其是当结合其他主要力量:函数式编程和 lambdas 表达式的使用。

除了模块和函数式编程,Ruby 为编程者提供了许多特性包括分片、哈希、不哈希类型以及可变字符串类型。

Ruby 的追从者认为它优雅的编码方式是它最好的特点。同时,Ruby 的“神奇”的功能和灵活性使得它很难追踪 bug。

社区: 稳定与创新

尽管特性和编程哲学是选择一个语言的首要驱动因素,但是社区开发者的力量仍然会扮演一个重要的角色。幸运地是,Python 和 Ruby 都为自己有强大的社区而自豪。

Python

Python 的社区已经包含一个巨大的 Linux 社区和学术社区,因此它能提供很多学术(数学和自然科学)上使用的案例。这种支持不仅给社区带来了稳定,还带来了多样性,这就导致了 Python 的增长不仅限于在 web 开发上。

Ruby

然而,Ruby 的社区从一开始主要就聚焦在 web 开发上。它在创新上往往比 Python 社区更快,但是这种创新也引起了更多的破坏。另外,它在多样性上,还没有达到 Python 的水平。

总结

对于 Web 开发,Ruby  有 Rails ,Python 有 Django 。 两者都是强大的框架,所以当谈到 Web 开发时,你使用任何一种语言都不会出错。你的决定最终将归结于你的经验水平和偏好。

如果打算专注于构建 Web 应用程序,Ruby  是流行和灵活的,拥有一个建立在它之上的非常强大的社区,始终处于研发的最前沿。

如果你对构建 Web 应用程序有兴趣,并希望学习更加通用的语言,请尝试 Python 。 你会得到一个多元化的社区,并从其所应用的各个行业中感悟到很多,并得到很多支持。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部