编程语言大对决!Ruby和Python谁更可读?(2)

简介: 编程语言大对决!Ruby和Python谁更可读?

在Python里,我们可以通过BlogPost.count或post.count访问帖子的数量。

而在Ruby中,我们可以访问post.count,但我们不能像在 Python 中那样访问 BlogPost.count。

由于这是一个类变量,我们需要能够从类本身访问它。

现在我们可以使用BlogPost.count了,但我们不用post.count,因为它可能与常规实例变量混淆。

现在我们只能从BlogPost 类中访问count,那我们可以设置类变量吗?

让我们试试看。

OMG,我们从来没有为这个变量定义过setter。

放到Python里怎么样?

有用了,我们甚至可以在类里完成这一操作。

那么有人就要问了,Ruby的对象更直接吗?

我认为在 Ruby 中更容易看出类和实例属性之间的区别。

Setter 和 getter 允许您清楚地指定哪些属性是可读和可写的。

您可以通过不实现 setter 来保护您的类属性。在Python中,很容易意外写入count属性——这会破坏你的程序。

默认情况下,post.count 和 BlogPost.count 都返回属性的值,但如果它只能从类中访问,则更容易注意到它是类属性。
文章最后的结论说,显然Python和Ruby都比PHP或Java更容易阅读,但Ruby更近了一步,它写出来的代码让你一眼就能看明白。

网友争论


关于Python和Ruby谁更可读,网友们在评论区展开了激烈的讨论。

单独看,我认为Ruby比Python更具可读性,并且容易理解。实际上,Ruby代码并非如此。一旦有人开始进行高级元编程,你就想杀了他然后把他给埋了。

使用Ruby编写的Web应用开发框架Rails在很大程度上可以通过自主设计、良好的文档,以及已经编写问题答案的大量用户群来摆脱这些困境。

网友大赞,这确实反映了我真实的经历。Ruby是一门非常一致的语言,但我认为人们真正迷恋 Ruby 的是元编程,也包括我自己在内,很快你将需要在大脑中掌握大量上下文来理解所有正在发生的「魔力」。

有人就对其进行了反驳。

我精通的Python,直到现在我仍然无法在Ruby中做任何有用的事情。其实,Python比Ruby更具可读性、易懂。

我同意,对于这两种语言的新手来说,Ruby的@和@@可能会使阅读起来有点困难,而且对我来说似乎更冗长,Python获胜。

还有网友直接搬出了Ruby设计者Yukihiro Matsimuto曾说过的话,

我没有让Ruby对于每个人来说都很完美,因为每个人感受不同。没有一种语言可以完美地适合所有人。

对于Guido van Rossum来说,最完美的语言可能是Python。

我希望看到Ruby能够让世界上每个程序员变得高效,享受编程,并且快乐编程。这是Ruby语言的主要目的。

有网友认为这篇文章就是在讽刺。每次比较之后,当他们说Ruby更易读时,我都以为他们是在开玩笑,直到看到了多重继承这部分。

要说,Python和Ruby真正受欢迎程度,那绝对是Python获胜。

就拿GitHub在2021年底发布的年度报告来看,除了霸榜的JavaScript,Python是第二受欢迎的编程语言。

Ruby的受欢迎程度也是近年来连续下降。

从应用广泛程度上来看,Python的应用范围更广。

除了web开发外,Python还被广泛用在服务器后端的高性能服务器实现,各种密集运算,全文检索,各种文本处理,系统管理等等。

那么,Ruby的应用仅限在web开发领域。

再从薪资待遇上来看,

根据在线社区Glassdoor的数据,Ruby开发人员的平均年薪应约为76,540美元,或每月大概6380美元。

Python开发人员的平均年薪为92,000美元,相当于每月近7670美元。

这么来看,Python开发人员薪水要比Ruby的高,每月多出来1000多美元。

不管怎么说,Python和Ruby更像是拼音输入和五笔输入的感觉。Python语言更简单,适合初学者,而Ruby的语法更丰富,要求更高。

那么,你觉得这两种语言哪个更易懂可读?


参考资料:https://confuzeus.com/posts/python-ruby-readability/https://news.ycombinator.com/item?id=32158800

相关文章
|
1月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
38 7
|
1月前
|
存储 开发者 Python
Python 中的数据结构与其他编程语言数据结构的区别
不同编程语言都有其设计理念和应用场景,开发者需要根据具体需求和语言特点来选择合适的数据结构
|
1月前
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
48 5
|
1月前
|
人工智能 数据挖掘 Linux
Python语言是一种高级、解释型的编程语言
Python语言是一种高级、解释型的编程语言
41 2
|
1月前
|
机器学习/深度学习 移动开发 数据挖掘
Python是一种广泛使用的高级编程语言,具有许多优点和缺点
Python是一种广泛使用的高级编程语言,具有许多优点和缺点
74 1
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
Python编程语言的魅力:从入门到进阶的全方位解析
Python编程语言的魅力:从入门到进阶的全方位解析
|
3月前
|
测试技术 数据库 开发者
Python作为一种谦逊的编程语言:对象自省机制的探讨
Python的自省机制是该语言的一个强大特性,为开发者提供了深入了解和操作对象的能力。它增强了Python的灵活性,使得开发者可以更加精准地控制程序的行为。然而,合理利用自省能力,避免其成为代码复杂性的来源,是每个Python开发者需要考虑的问题。通过熟练运用Python提供的自省工具和技巧,可以更好地设计和实现高效、易维护的Python应用。
46 2
|
24天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
23天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
11天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80