看板 Soft_Job 關於我們 聯絡資訊
因為板友翻到一半,我順便把後半段翻完好了,原文在此: http://www.codinghorror.com/blog/2013/03/why-ruby.html 原文裡連結參考資料實在太多了,很堅持要看的人就直接看原文吧,這邊除了有引文的 以外都不列出。 ============================================== 但為什麼是 Ruby ?簡單但無趣的答案是,我心中早就內定要用 Ruby 或 Python 之一, 而另一個創辦人 Robin Ward 從 2006 年起就在寫 Rails 網站了,所以 Ruby 勝出。 我總是對 Ruby 有點好奇,主要是因為早在 2006 年 Steve Yegge 就大力推崇它[1],這 篇文章我一直銘記在心。 ([1]: https://sites.google.com/site/steveyegge2/tour-de-babel) (引文) 大致而言,Ruby 有和 Perl 一模一樣的字串處理和 Unix 整合,也就是當你開始用 Ruby ,你就獲得了 Perl 最大的優勢。這是很好的開始,尤其你未必想要 Perl 其他的特 性。 但還不只如此,Matz[2] 還從 Lisp 裡借鑑了串列(list)處理,從 SmallTalk 和許多語言 裡拿了最好的物件導向,從 CLU 裡找了最好的迭代器(iterator),以及其他每個語言最好 的特性。 他巧妙地融合了這些特性,讓你甚至不會注意到它們的存在。我學 Ruby 比學其他任何語 言都快,大概只花我三四十個鐘頭吧;我才寫了三天,用 Ruby 就比用 Perl 順手了,而 我當時已經寫了八年的 Perl。它是如此的一致,當你猜測它是如何運作時,你多半會猜 對。Ruby 美麗、有趣、實用。 ([2]: Ruby 發明人松本行弘) Steve Yegge 是一位我非常尊敬的多語言使用者,基本上他說的任何話--除了關於槍枝 管制、女性主義和 T'Pau[3] 的奇怪觀點--我都會不假思索地接受。 ([3]: 英國樂團,http://en.wikipedia.org/wiki/T'Pau_(band) ) 抱歉,Steve,這七年來我都在逃避 Ruby。不過我的等待是有道理的: - Ruby 的效能還算過得去,但你真的必須買很好的硬體來跑。是的,我知道,直譯語言就 是這麼回事,還有快取、資料庫、網路之類的問題。我們架 Discourse 時,已經用上了市 面上最高級的 CPU (4.0 Ghz Ivy Bridge Xeons),然而效能只能說是...不錯(Good),稱 不上非常好(Great)。 我承認我是被 .NET JIT 編譯出來的效能寵壞了。我已經習慣了那種速度。我常常緬懷當 我還在用 .NET 時,隨便就能寫出可在 50 毫秒內回應的網站的「悲慘」歲月。直譯語言 本質上就是無法達到這種效能。我能想像在 2006 年,那個 CPU 只有現在五分之一快的 黑暗時代,Ruby 的性能到底多糟。因此我很慶幸自己是在今日才接觸 Ruby,摩爾定律已 經穩定推進了多年。 - Ruby 已經相當成熟,在 Discourse 宣布之後不到一個月,Ruby 2.0 就釋出了。是的, Ruby 跑得慢,但有很多簡單的方法來改善效能。真的很多。Discourse 光是升到 2.0 就 快了 20%,而增加垃圾回收上限以後更是加速將近一倍[4]。考慮到未來的效能進展,Ruby 已經沒什麼缺點了。 ([4]: http://meta.discourse.org/t/tuning-ruby-and-rails-for-discourse/4126) - Ruby 不再那麼「酷」了。是的,你沒聽錯。會寫 Ruby 現在已經不是特別酷的事,那 些喜歡酷玩意的人老早都跑去寫 Scala 和 Node.js 了。我們的專案並不酷,只是一些無 聊老舊的 Ruby 程式碼。我個人很高興 Ruby 已經足夠成熟,社群裡的人不用再假裝他們 是為了成為最酷的孩子而寫 Ruby。這代表我們這些只想把這些鳥事做好(Get Shit Done) 的人,終於可以捲起袖子和同伴們把東西做出來,而不是像神經病一樣亂跑,追逐下個新 奇的玩具技術。 當然,Ruby 的社群一直非常棒。我們從不缺少了不起的開源 gem[5] 和了不起的開源貢獻 者。我認為無論你來自什麼背景,現在都是進入 Ruby 世界的最好時機。 ([5]: Ruby 的 package 統稱) (然而值得一提的是,如果要找個比「Ruby專案」更好的描述,Discourse 其實是一個 Javascript 專案。不信你可以看看 http://try.discourse.org 這裡的原始碼,它與 其說是個論壇,不如說是跑在你瀏覽器裡的 app。) 即使有這麼多好理由,一夕之間換掉你已經熟悉二十年的程式技術,仍然有點令人害怕。 但我認為好的程式師應該懂得欣賞不同的語言和環境--而我希望 Discourse 能讓我和 其他人都有機會學習成長。現在就 fork 它吧[6]! ([6]: Discourse 現在放在 Github,https://github.com/discourse/discourse) ========================================================= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.251.194 ※ 編輯: raincole 來自: 140.112.251.194 (03/23 18:57)
thanksyou:有C++的web framework 嗎? 03/23 20:01
aoeidermo:有TNT 還有兩個吧,三四年前查的有點忘了,不知到活的如 03/23 20:10
dryman:大感謝,翻前段我就翻了三個小時,翻譯真不是給人做的... 03/23 21:10
descent:感謝兩位的翻譯 03/23 21:23
hSATAC:翻完推 03/24 00:28
hSATAC:如果要高效編譯 web 可以考慮看看 go 03/24 00:28
gpmm:看完這篇讓我決定接下來要開始踩 Ruby 了 XDD 03/24 02:22
CGary:Dart? 我最近看很多人看好 Dart... 03/24 02:24
yauhh:get shit done譯他媽的什麼,是稍微延伸了原意,原文沒有這種 03/24 02:48
yauhh:激烈的語氣及語境,突然跳這一句出來只是為了強調shit一字. 03/24 02:48
yauhh:本來意思應該只是說,把爛的工作任務做好而已 03/24 02:50
aoeidermo:http://goo.gl/DMs2 前三名都會了就差不多了 03/24 12:59
※ 編輯: raincole 來自: 140.112.251.194 (03/25 13:14)