加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如果Ruby和Python都允许进行猴子补丁,那为什么Ruby更有争议?

发布时间:2020-12-16 19:52:52 所属栏目:百科 来源:网络整理
导读:在许多讨论中,我已经听说过 Ruby,人们对这个语言表达了自己的看法,猴子补丁的问题成了他们的主要关切之一. 然而,我很少听到在Python的上下文中提到的相同论据,尽管Python语言也是允许的. 为什么这个区别? Python是否包含不同类型的保护措施,以最大限度地减
在许多讨论中,我已经听说过 Ruby,人们对这个语言表达了自己的看法,猴子补丁的问题成了他们的主要关切之一.

然而,我很少听到在Python的上下文中提到的相同论据,尽管Python语言也是允许的.

为什么这个区别?

Python是否包含不同类型的保护措施,以最大限度地减少此功能的风险?

解决方法

作为一个熟悉Ruby(并喜欢它)的Python程序员,我认为当Python开始流行时,有一点讽刺意味.

C和Java程序员会“抨击”Python,指出它不是一种真正的语言,而且它的类型的动态性将是危险的,并允许人们创建“坏”代码.随着Python变得越来越流行,其快速开发时间的优势变得明显,更不用说冗长的语法:

// Java
Person p = new Person();
# Python
p = Person()

我们开始看到更多的动态特性出现在Java的更高版本中. Autoboxing和-unboxing使处理原语变得不那么麻烦,而泛型允许我们编码一次并将其应用于许多类型.

有一些娱乐,我看到了Ruby – Monkey Patching的一个关键的灵活功能,被Python人群所吹捧.今年开始向学生教授Ruby,我认为能够“修复”现有课堂的实现,即使是系统的一部分也是非常强大的.

当然,你可以拧坏你的程序可能会崩溃.我也可以很容易地在C中进行segfault.而Java应用程序可能会导致火焰死亡.

事实是,我认为Monkey Patching是动态和元编程的下一步.有趣的是,自从Smalltalk以来已经有了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读