成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

編程語言大對決!Ruby和Python誰更可讀?

開發 新聞
計算機編程語言Python和Ruby誰更易懂可讀,網友們展開了激烈論戰。

也許很多人認為,編程只要被計算機讀懂就可以了。

但是對于調試人員,或者維護人員來說,也得需要易懂可讀。

總之,越是容易理解和閱讀的代碼當然越好了。

這不,關于編程語言Python和Ruby誰更可讀,網友都吵翻了。

圖片

很多網友站隊Ruby,這是為什么呢?

Ruby大戰Python

?其實,Ruby和Python幾乎沒有區別。

如果一個Python程序員打開了一個Ruby代碼庫,他不需要外部資料也能輕松弄懂它。

反過來Ruby程序員也是如此。

然而,Ruby程序員不太可能像Python程序員瀏覽Ruby代碼庫那樣輕松地瀏覽Python代碼庫。

圖片

接下來本文將告訴你原因。

先讓我們先用Python來創建一個類「博客文章」。

圖片

我想要打印這篇博客文章的標題,在Python中有兩種方法可以實現:

圖片

第一種是簡單的打印屬性(attribute)。

圖片

第二個是在我們的類中添加一個 __str__ 方法:

圖片

這樣我們就能更輕松地打印標題了。

圖片

那如果我想要改變這篇博客的標題呢?

同樣很簡單。

圖片

讓我們看看同樣的步驟在Ruby里表現如何。

圖片

類運行同樣很輕松。

圖片

讓我們來試著打印這篇博客的標題。

圖片

oops!出現了未定義的方法(undefined method)。

在Ruby中,無法像在Python中那樣訪問實例變量。你需要一個getter。

圖片

你也不能直接設置屬性——你需要一個setter:

圖片

現在我們再試著運行看看。

圖片

到現在Python和Ruby的可讀性似乎都不錯,等等,讓我們看看下面的測試。

在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的語法更豐富,要求更高。

那么,你覺得這兩種語言哪個更易懂可讀?

責任編輯:張燕妮 來源: 新智元
相關推薦

2017-02-24 19:08:48

PythonPHPRuby

2009-05-18 09:12:59

JavaRuby on RaiMVC

2017-10-09 08:45:13

編程語言Amazon AtheSharePoint

2017-01-20 17:40:12

PHP vs Ruby

2017-01-20 16:55:13

編程PHPRuby Python

2017-09-13 15:37:53

2009-07-21 10:04:57

Scala編程語言

2014-11-26 09:40:02

編程語言Ruby

2014-11-26 10:49:32

編程語言

2023-09-06 12:11:21

ChatGPT語言模型

2010-03-10 19:46:07

Python編程語言

2025-03-26 02:55:00

2017-11-22 08:47:02

2019-07-30 07:30:56

編程語言PythonJava

2013-11-12 11:06:10

扁平化UI設計

2011-07-12 09:12:54

PowerShellPowerCLI

2016-08-03 15:47:20

AndroidIOSApple

2012-09-04 11:20:31

2011-09-22 16:10:09

編程語言

2020-09-18 15:22:31

編程語言C語言Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人1区2区 | 日韩一区二区三区在线看 | 日本久久福利 | 91精品观看 | 久草在线| 免费观看www7722午夜电影 | 成人免费视频播放 | 日韩一区二区三区在线 | 老外几下就让我高潮了 | 久久久国产一区二区三区 | 一本大道久久a久久精二百 国产成人免费在线 | 亚洲自拍偷拍视频 | 在线免费黄色小视频 | 一区二区免费在线观看 | 日韩精品一区二区三区高清免费 | a级在线免费视频 | 国产精品99视频 | 日韩在线视频观看 | 日本午夜免费福利视频 | 亚州综合在线 | 精品一区二区三区在线视频 | 国产在线视频一区二区董小宛性色 | 久久国产婷婷国产香蕉 | www亚洲免费国内精品 | 国产精品99久久久久久久久久久久 | 国产综合在线视频 | 成人精品视频在线观看 | 亚洲免费网址 | 久久国产亚洲 | 夜夜操操操 | 国产精品免费一区二区三区四区 | 午夜爽爽爽男女免费观看影院 | 欧美日韩国产中文 | 国产一级电影在线观看 | 久久久精品一区 | 亚洲一区二区三区四区在线观看 | 久久久久久久一区二区三区 | 国产一区二区三区在线看 | 亚洲精品一二三区 | 国产一区二区精品在线 | 国产在线精品免费 |