Ruby先驅者談該程式語言之短板

51cto發表於2015-02-09

  Ruby締造者松本行弘以及Rails締造者David Heinemeier Hansson就該語言作出坦率評論。

  作為最初釋出於1995年的動態語言,Ruby憑藉著自身的便捷性優勢而受到廣泛好評、並經常出現在人氣語言評選的榜單之上。不過多年以來Ruby也受到了不少批評者們的抨擊。面對這一狀況,Ruby社群中最為突出的兩位成員毫不畏懼,以坦率的態度笑看針對該語言的攻擊與讚賞。

  Ruby締造者松本行弘與高人氣Ruby on Rails Web開發框架締造者David Heinemeier Hansson就自己對於Ruby的態度,接受了InfoWorld本週進行的郵件採訪。

  Ruby的優勢

  松本行弘在談到他一手打造的程式語言的優勢與短板時顯得有些沉默寡言。根據他的說法,Ruby擁有“簡潔特質並提供具備可讀性的程式碼。”此外,Ruby還擁有“更出色的抽象化能力,例如物件導向程式設計、函式性程式設計以及超程式設計等等。”

  他同時指出,Ruby的效能表現“對於大多數用例來說已經足夠優秀”,而且目前網際網路上擁有大量與Ruby相關的資源、因此該語言“在全世界範圍內都擁有積極的社群體系。”在羅列Ruby優勢時,松本行弘還提到了Ruby on Rails以及RubyGems包管理器。

  與此同時,Hansson則在列舉這款語言的優勢時,首先提到“Ruby很明顯高度關注程式設計師的積極情緒”。“從這一關注重點出發,Ruby擁有理想的使用舒適度以及源自便捷性的突出美感。編寫Ruby程式碼是一種簡單而愉悅的體驗,我所使用過的任何一種其它程式語言都無法在這方面與之比肩。”

  他同時表示,Ruby語言還包含有多種正規化:“Ruby是一種顯而易見的後現代程式語言:它從所有主流程式設計正規化當中汲取到精華。大家可以在必要時利用它實現物件導向開發,而函式性程式設計也能在Ruby當中實現。其廣泛的能力以及精妙的程式設計規劃原則實在令我感到歎為觀止。”

  Ruby還在發展與穩定之間找到了理想的平衡點,Hansson指出。“Ruby世界可謂發展迅猛,但卻並沒有快到讓使用者搞不清狀況——就像JavaScript那樣。此外,Ruby的發展步伐也沒有慢到像Perl那樣趨於停滯、甚至像Python 3那樣根本鮮有人問津。它顯然找到了適合自己的絕佳發展軌道。”

  Ruby的短板

  說起劣勢話題,松本行弘表示Ruby的語法可能太過複雜、開發人員很難一次性將其徹底掌握。此外,Ruby“與Java或者Scala等靜態編譯語言相比,在速度上處於劣勢”。而且在非Web領域缺少豐富的應用程式與庫,例如研究性計算範疇,不過這個問題正隨著SciRuby專案的建立而逐漸得到解決。

  說起速度問題,Hansson坦言“對於一部分特定的利基型應用程式及網際網路規模級別來說,Ruby確實算不上最理想的選擇。這種利基性需求與規模水平如今正變得愈發淡化、且遠離主流需求,但其仍然客觀存在。如果我們能夠利用Ruby應對一切,而不必再屈就於Go、Rust或者C等系統級語言當然最好,但實際情況卻並非如此。”

  與此同時,Ruby的可表達性往往會讓DSL變得“過於聰明”,Hansson指出。“如果大家願意,完全可以編寫出看起來大體類似於普通英文那樣的Ruby程式碼。不過大體類似有時候反倒不如‘完全不同’來得好,AppleScript已經用實際教訓向我們證明了這一點。在我看來,一部分非常流行的Ruby庫在這方面似乎有點誤入歧途了。”

  英文:infoworld

相關文章