ruby与python
Python和Ruby是用于开发网站,基于Web的应用程序和Web服务的一些最受欢迎的编程语言。
在许多方面,这两种语言有很多共同点。 在外观上它们非常相似,并且都为程序员提供了高级的,面向对象的编码,交互式外壳,标准库以及持久性支持。 但是,Python和Ruby在解决问题的方法上是天壤之别,因为它们的语法和哲学差异很大,主要是因为它们各自的历史。
对于哪种Web开发实施方法需要一些思考,因为所有语言都有优点和缺点,因此您的决定将产生后果。
基础
Python是在科学领域有机开发的,是一种原型语言,如果原型可以工作的话,很容易将其翻译成C ++。 这发生在很早就被用于Web开发之前。 另一方面,Ruby尤其是由于Web开发而成为主要参与者。 Rails框架在开发复杂网站的人们中扩展了Ruby的流行。
哪种编程语言最适合您的需求? 以下是每种语言的快速概述,可帮助您选择:
方法:与人类语言相对的最佳方法
Python
Python采用直接编程方法。 它的主要目标是使所有内容对程序员来说都是显而易见的。 在Python中,只有一种“最佳”的方式来做某事。 这种哲学导致了严格的布局语言。
Python的核心理念包括三个关键的分层原则:
- 显式胜于隐式
- 简单胜于复杂
- 复杂胜于复杂
这种严谨的哲学思想使Python可读性强且易于学习-以及为什么Python非常适合初学者。 Python在编程入门课程中立足 。 它的语法非常简单,几乎不需要记住。 由于其代码结构是明确的,因此开发人员可以轻松分辨所有内容的来源,从而使调试相对容易。
Python的原理层次结构在语言的许多方面都很明显。 它使用空格来进行流控制作为语言语法的核心部分,与大多数其他语言(包括Ruby)不同。 缩进代码的方式决定了其动作的含义。 空格的使用是Python的“显式”哲学的主要示例,Python应用程序采用的形状说明了其逻辑以及该应用程序将如何运行。
Ruby
与Python相反,Ruby专注于“人工语言”编程,其代码读起来像一种口头语言,而不是许多初学者和专家都喜欢的基于机器的语言。 Ruby遵循“ 最少惊讶 ”的原则,并提供了无数种方法来做同样的事情。 这些相似的方法可以有多个名称,许多开发人员会感到困惑和沮丧。
与Python不同,Ruby使用“块”,这是一类对象,被视为程序中的一个单元。 实际上,Ruby将OOP(面向对象编程)的概念发挥到极致。 一切都是对象,即使全局变量实际上也表示在ObjectSpace对象中。 类和模块本身就是对象,而函数和运算符则是对象的方法。 这种能力使Ruby特别强大,特别是结合其他主要优势:函数式编程和lambda的使用。
除了块和函数式编程外,Ruby还为程序员提供了许多其他功能,包括分段,可哈希和不可哈希类型以及可变字符串。
Ruby的粉丝发现其优雅是其最畅销的产品之一。 同时,Ruby的“神奇”功能和灵活性使查找错误非常困难。
社区:稳定与创新
尽管功能和编码原理是选择给定语言的主要驱动力,但开发人员社区的实力也起着重要作用。 幸运的是,Python和Ruby都拥有强大的社区。
Python
Python的社区已经包括一个大型Linux和学术社区,因此提供了许多数学和科学方面的学术用例。 这种支持使社区具有稳定性和多样性,并且随着Python越来越多地用于Web开发而不断增长。
Ruby
但是,Ruby社区从一开始就一直专注于Web开发。 它倾向于比Python社区更快地进行创新,但是这种创新也会导致更多的问题。 另外,尽管它已经变得更加多样化,但仍未达到Python所具有的多样性水平。
最后的想法
对于Web开发,Ruby具有Rails,Python具有Django。 两者都是强大的框架,因此在进行Web开发时,任何一种语言都不会出错。 您的决定最终将取决于您的经验水平和您的哲学偏好。
如果您打算专注于构建Web应用程序,那么Ruby是流行且灵活的。 在此基础上建立了非常强大的社区,他们始终处在发展的前沿。
如果您对构建Web应用程序感兴趣,并且想学习更常用的语言,请尝试使用Python。 您将获得一个多元化的社区,以及使用它的各个行业的巨大影响和支持。
翻译自: https://opensource.com/article/17/4/python-or-ruby-web-development
ruby与python