编程语言大对决!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

相关文章
|
3月前
|
机器学习/深度学习 Devops TensorFlow
Python:简洁而强大的编程语言
Python:简洁而强大的编程语言
85 0
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:简洁高效的编程语言
Python:简洁高效的编程语言
90 0
|
5月前
|
人工智能 测试技术 编译器
从 Python 演进探寻 AI 与云对编程语言的推动
Python 自 2008 年发布 3.0 版本以来,经历了持续演进与革新。十六年间,从 Python 3.0 到即将发布的 3.14,语言设计、性能优化、类库生态及虚拟机技术等方面均有显著提升。字符串处理、异步编程、类型系统等核心功能不断现代化,Faster CPython 和 JIT 编译技术推动运行效率飞跃。同时,AI、云计算等新兴技术成为其发展的重要驱动力。本文全面回顾了 Python 的演进历程,并展望未来发展方向。
212 2
|
4月前
|
机器学习/深度学习 Rust Java
Python:简洁高效的万能编程语言
Python:简洁高效的万能编程语言
|
5月前
|
人工智能 Java 测试技术
Java or Python?测试开发工程师如何选择合适的编程语言?
测试工程师如何选择编程语言?Java 还是 Python?多位资深专家分享建议:Python 入门简单、开发效率高,适合新手及自动化测试;Java 生态成熟,适合大型项目和平台开发。建议结合公司技术栈、个人基础及发展方向选择。长远来看,两者兼通更佳,同时关注 Go 等新兴语言。快速学习与实践才是关键。
|
存储 开发者 Python
Python 中的数据结构与其他编程语言数据结构的区别
不同编程语言都有其设计理念和应用场景,开发者需要根据具体需求和语言特点来选择合适的数据结构
492 151
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
295 5
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
318 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
345 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
274 103

推荐镜像

更多