Python 和 Ruby 是新一代高级编程语言的经典案例,它们专注于简单性,赋予给开发者快速完成工作的能力。
两个编程语言有相似之处,它们都是成熟的高级语言,并且都是面向对象的语言。
两个编程语言都提供交互式Shell、标准库、跨 Linux、Unix、Windows 和macOS等操作系统的多平台以及持久性支持。
Python 和 Ruby 都可以用于开发网站和 Web 应用程序,可用于构建和管理任何复杂功能的站点与应用程序。
例如 YouTube 和 Google 都使用Python构建。当然也有一些很棒的网站是用 Ruby 构建的,例如 Twitter(最初)、Groupon、GitHub 和 Hulu等站点。
什么是 Ruby
Ruby 是一种动态的、面向对象以及基于脚本的编程语言。
Ruby 最初是由一位名叫 Yukihiro Matsumoto 的日本程序员创建的。他的目的是结合世界上所有脚本编程语言的优点于一身。
最初源于 Yukihiro 想要创建一种通用的且面向对象功能的脚本语言。当时面向对象的编程语言正在发展,但还没有支持对象编程的脚本语言。
Ruby 是用 C 语言编写的, Yukihiro 受到 C、Perl、Java 和 C++ 的影响,但有所升华,Ruby 编程思想已经转变为完全的面向对象。
在 Ruby 中一切都是对象,甚至全局变量实际上都在 ObjectSpace 对象中表示。类和模块本身就是对象,函数和操作符是对象的方法。
以下列出 Ruby 语言的特征:
1、使用块处理
2、函数式编程
3、碎片式
4、支持可散列/非散列的类型
5、可变字符串
Ruby 使用场景
Ruby 通常用作支持开发网站的编程语言。基于服务器端渲染,网站需要通过服务器渲染,这是一个优势,特别是对于搜索引擎优化。
但是 Ruby 经常被人们被等同于 Python,因为它和Python具有相同的基本功能。
什么是 Python
Python 是使用最广泛的编程语言之一,从机器学习、数据科学和学术界开始普及。它开始出现在 1991 年;一位名叫 Guido van Rossum 的程序员希望帮助编码人员为大小型项目编写逻辑清晰的代码。
与Ruby 大胆、有点冒险的天性不同,Python 略有点保守。Python 厌恶 Ruby 的“做某事的多种方式”学派,Ruby 与 Perl 和 PHP 等语言有共同之处。
Python 一直强调只有一种最好的方式来做某事,并且该语言应该这样做。这导致语言对布局和缩进甚至要使用的空格数量(!)都非常严格,此种严格的哲学导致 Python 具有极高的可读性和易学性——事实上,许多学校和大学都使用 Python 作为教学辅助工具。它的语法非常简单,几乎不需要记住,所以非常适合初学者。
Python 哲学是通过遵循面向对象的方法来优先考虑可读性。Python 拥有丰富的库和面向对象的特性,尽管它不像 Ruby 那样“纯粹”,并且类似于 C++ 中的面向对象。
下面列出了 Python的一些特性:
1、更好的命名空间和模块使用
2、迭代器的集中使用
3、内部功能强大
4、丰富的数据结构集
这两种编程语言的根本区别是什么,尤其是对于网站开发而言?Python还是用 Ruby?
为什么在 Web 开发中使用它们?
1)Ruby on Rails 中的 MVC 架构
前面提到过,这两种编程语言可以用于网站开发,从头开始创建网站。
Ruby on rails 是基于基本的 MVC 架构设计。MVC 或 Modal View Controller 是一种用于开发 Web 应用程序的软件设计模式。它由 3 个部分组成:
模型(Model)
视图(View)
控制器(Controller)
2)用于 Web 开发的 Python 框架
Python 有一系列支持 Web 开发的框架。
它有着脚本语言的灵活性,可以作为Web编程语言执行各种功能。事实上,它自己定位是一种后端编程语言,通过API与服务器之间通信与数据传输、与数据库交互以及管理站点安全性的支持等。
另一方面,支持网站开发的python框架有很多。比如:
Django
Flask
CherryPy
web2py
Ruby on Rails 与 Python 的比较
1)Ruby 比 Python 更好吗?
根据 W3techs.com 的数据表现,就可以得出 Ruby 优于 Python 的结论。
Ruby (5.7%) 与 Python (1.4%) 之间的数字差了 4.3%。这表明 Ruby 在基于服务器端编程语言的 Web 开发中具有巨大的优势。
尽管两者都同样快速、高效,并且拥有庞大而忠诚的用户社区,但它们都离不开每个网站所有者的需求。一个假设是,大多数网站所有者都希望对流量大的应用程序进行快速原型设计,这是对Ruby的开发质量及其受欢迎程度优于 Python 的一个因素。
2)Web 开发的目的
预期必要性是网站所有者的目的。RoR 被很多公司广泛使用,它提供了许多可以加快工作速度的有用库和工具。但对于需要多种创造性解决方案的项目,它具有灵活性的缺点。
虽然 Python 通常用于出于项目的自动化工作流程,但它通常广泛用于构建网站应用程序、机器学习和其它应用程序。这种使用python的流行往往在数据处理或数据库方面。
RoR vs Python:基于性能的比较
两者是具有相似性能的语言。它们都在项目中实现,则可以区分这一点。以下是项目中使用同时满足的两个条件:
对于 Web 项目/应用程序,Ruby on Rails 比 python 要成熟得多
如果对创建数据项目感兴趣,IoT(物联网)或hacking建议选择python
Ruby on Rails 与 Python:哪个最适合 Web 开发?
比较这两个语言来创建或开发一个网站是非常困难的。
由于每种语言的速度、优缺点以及受欢迎程度,许多网站运营者都会追随当前编程语言的趋势。
但是在创建和开发网站时,很少有人知道编程语言本身的用途和目的,而Ruby 和 Python 在创建时就清晰的定位自己的用途和功能。
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。