2011-10-13 63 views
36

Scala語言與Ruby相比有哪些優點和侷限性,特別是來自Web應用程序開發人員的觀點?強烈歡迎比較圖表和證明鏈接。Ruby vs Scala - 每個人的優點和缺點

PS這不是一個神聖的戰爭問題( - :

+1

@Downvoter - 關心評論? –

+5

蘋果與橘子相比有什麼好處和限制? – Raphael

+59

@Raphael橙子含有更多的維生素C,但蘋果含有更多的鐵。如果你有壞血病,橘子對你更有用。 –

回答

52

我一直與Ruby和Rails了2年多,我只是大約一個月到學習Scala和電梯,所以我的看法是大概是有偏見的,但是在這裏它是

Ruby讓你感覺很神奇我發現的每一件關於這門語言的新東西都讓我像一個小女生一樣傻笑使用寶石非常簡單Bundler and Gemfiles它可能是最好的圖書館管理系統我碰到過。

有一堆寶石的一切,從API的包裝ppers,複雜authentication/authorization

Ruby還有令人驚歎的社區,這將使學習語言變得非常簡單。以RailsCasts by Ryan Bates爲例。如果你看他們,你將學習如何使用Ruby和Rails進行Web開發。

對我來說,Ruby可能是我在整個編程生涯中發現的最好的東西,因爲社區的工作方式讓我改變了編程的整個方法。

另一方面,我沒有看到這個在斯卡拉世界。我不想提出一場火焰戰,但這只是我開始學習這門語言後的印象。在Ruby社區中,所有事情都非常有趣,讓我想要學習越來越多。但是對於Scala,我傾向於遇到很多障礙,沒有那麼多的文檔和教程,這將幫助我克服它們。

有很多書專門針對Ruby的非常具體的topis,它是scripting,deployment,testing,和其他一些東西(是的語用程序員規則)。最好的情況是,整個社區感覺就像一個家庭,這與Java世界不一樣,在Java世界裏,一切都是分佈式的,沒有人與彼此談話,至少這是我的印象。

因此,至少對我而言,這是如何輕鬆愉快地進入語言世界並開始做某件事情,而Ruby絕對是這裏的贏家,至少對我而言是這樣。

在性能方面,Scala速度更快,毫無疑問。這是我進入Scala的原因之一,因爲它具有非常好的併發模型,並允許您執行Ruby無法做到的事情。但對於大多數Web應用程序,您不需要這樣做。

Ruby很慢,這是唯一的缺點。它變得越來越快,98%的案例你都不會認爲它是一個問題。但斯卡拉速度更快。

Ruby社區也包含測試和美麗的代碼,這自然會導致更好的應用程序。

+3

關於穩定性,性能等等是什麼? –

+1

穩定性通常更關注您如何編寫應用程序,請閱讀已編輯的性能評論答案。 –

+0

謝謝。據我所知,Scala以犧牲社區支持爲代價來提供性能和併發優勢。 –