当前位置: 首页 > 科技观察

编程语言对决!Ruby和Python谁更具可读性?

时间:2023-03-22 15:39:06 科技观察

可能很多人认为编程只需要被计算机理解即可。但对于调试者或维护者来说,它也需要易于理解和阅读。简而言之,代码越容易理解和阅读越好。这不,网友们正在争论编程语言Python和Ruby谁的可读性更强。很多网友站在Ruby一边,这是为什么呢?Rubyvs.Python事实上,Ruby和Python几乎没有区别。如果一个Python程序员打开一个Ruby代码库,他可以在没有外部资源的情况下轻松理解它。反过来,Ruby程序员也是如此。但是,Ruby程序员不太可能像Python程序员浏览Ruby代码库那样轻松地浏览Python代码库。下面的文章会告诉你为什么。让我们首先在Python中创建一个类“博客文章”。我想打印这篇博文的标题。在Python中有两种方法:第一种是简单地打印属性。第二个是在我们的类中添加一个__str__方法:这样我们可以更容易地打印标题。那么如果我想更改这篇博文的标题怎么办?也很简单。让我们看看相同的步骤在Ruby中是如何工作的。课程也很轻松。让我们尝试打印这篇博文的标题。哎呀!有一个未定义的方法(undefinedmethod)。在Ruby中,不能像在Python中那样访问实例变量。你需要一个吸气剂。您也不能直接设置属性——您需要一个设置器:现在让我们尝试再次运行它。Python和Ruby目前看来都是可读的,等等,看下一个测试。在Python中,我们可以通过BlogPost.count或post.count访问帖子数。而在Ruby中,我们可以访问post.count,但我们不能像在Python中那样访问BlogPost.count。由于这是一个类变量,我们需要能够从类本身访问它。现在我们可以使用BlogPost.count,但我们不使用post.count,因为它可能与常规实例变量混淆。现在我们只能从BlogPost类访问计数,那么我们可以设置一个类变量吗?让我们试试看。OMG,我们从来没有为这个变量定义一个setter。把它放在Python中怎么样?很有用,我们甚至可以在课堂上这样做。那么有人会问了,Ruby的对象是不是更直接?我认为在Ruby中更容易看出类和实例属性之间的区别。Setter和getter允许您明确指定哪些属性是可读和可写的。您可以通过不实现setter来保护您的类属性。在Python中,很容易不小心写入count属性——它会破坏你的程序。默认情况下,post.count和BlogPost.count都返回该属性的值,但如果它只能从类中访问,则更容易注意到它是一个类属性。文章最后的结论是说Python和Ruby都比PHP和Java更易读,但是Ruby更近了一步,它写的代码让你一目了然。网友们争论Python和Ruby谁的可读性更高,评论区网友们展开了热烈的讨论。单独来看,我认为Ruby比Python更具可读性,也更容易理解。实际上,Ruby代码并非如此。一旦有人开始高级元编程,你就想杀了他并埋葬他。Rails是用Ruby编写的Web应用程序开发框架,它凭借自己的设计、良好的文档以及编写了问题答案的庞大用户群,在很大程度上摆脱了这些陈规。网友们纷纷称赞,真是反映了我的真实经历。Ruby是一种非常一致的语言,但我认为人们真正迷恋Ruby的是,包括我自己在内,很快你将需要头脑中有很多上下文才能理解正在发生的所有“魔法”。有人反驳。我精通Python,到现在为止我在Ruby中做不了任何有用的事情。事实上,Python比Ruby更具可读性和易懂性。我同意,对于这两种语言的新手来说,Ruby的@和@@会使它有点难以阅读,而且对我来说似乎更冗长,Python胜出。有网友直接引用了Ruby设计师YukihiroMatsimuto曾经说过的话。我并没有让Ruby适合所有人,因为每个人的感受都不一样。没有一种语言是适合所有人的。对于GuidovanRossum来说,完美的语言可能是Python。我希望看到Ruby使世界上的每个程序员都能提高工作效率,享受编程,并享受编程的乐趣。这是Ruby语言的主要目的。一些网友认为这篇文章是在讽刺。每次比较之后,当他们说Ruby更具可读性时,我以为他们在开玩笑,直到我看到多重继承部分。要说Python和Ruby真正流行,那绝对是Python胜出。以GitHub在2021年底发布的年度报告为例,除了在榜单中占据主导地位的JavaScript之外,Python是第二受欢迎的编程语言。近年来,Ruby的受欢迎程度也有所下降。从应用广度来看,Python的应用范围更广。除了web开发,Python在服务器后端高性能服务器实现,各种密集计算,全文搜索,各种文本处理,系统管理等方面也有广泛的应用。那么,Ruby的应用仅限于网络开发领域。在薪资方面,根据在线社区Glassdoor的数据,Ruby开发人员的平均年薪应该在76,540美元左右,或每月大约6,380美元。Python开发人员的平均年薪为92,000美元,相当于每月近7670美元。从这一点来看,Python开发人员的薪水要高于Ruby,每个月1000多美元。反正Python和Ruby更像是拼音输入和五笔输入。Python语言更简单,适合初学者,而Ruby语法更丰富,要求更高。那么,你觉得这两种语言中,哪一种更容易理解和阅读呢?