Re: [問題] 學習ruby只能邁向rail嗎?
原文恕刪。提供一下經驗談。
寫了滿久的Ruby,雖然效能很糟(我是在做文字處理的),但是人的生產力很高,
所以拿來做產品的prototype(不限於網頁),或是將產品分成好幾個部分,處理
效能要求沒有那麼高的地方是很合適的。
另一方面,假如人的進用沒那麼容易的話,訓練一個合格的Ruby碼農成本其實是比
較低的(和Java比;和C++那就不用比了)。如果你考慮幫公司雇人的話,這也算是
一個考量點。
第三,如果你不用Rails,那麼在用MRI寫一段時間,嫌效能不好的時候,可以在幾乎
沒什麼改源碼的狀況下改用JRuby來執行你的程式,是強在沒有GIL,所以可以真的平
行處理。雖然Ruby的Thread控制還滿原始的,但是有人幫忙寫出 concurrent-ruby,
Celluloid, EventMachine 等等套件(都在Github上),實質上地幫助寫出好的多緒
程式,什麼Executors, Future, Actor Model 等等都已經有人幫忙做好了,最近試
用的結果是一直後悔為什麼不早點看到這些套件。
再來,寫程式大概都在「整合」,後端是什麼,有沒有對應的套件很重要。在我工作
上碰到的,不管是 Redis, MongoDB, MySQL/PostgreSQL, 甚至現在最依頼的
ElasticSearch (已改名叫做 Elastic),Ruby的相關套件都出得很快,回報有臭
蟲解的速度也快。至於XML, JSON, protobuf 等等資料格式,在嫌不夠快的時候就
已經有人用C, C++, Java(JRuby) 幫忙加速了,這是Ruby生態圈的一個很大的優點。
再來,如果你對「測試」有興趣,不管是單元測試、整合測試、非功能測試,Ruby
生態圈下的功夫很深,像RSpec, Cucumber這種測試用的專門套件都已發展得相當成
熟,就算只拿來研究都很有成就感,更別說開發產品的時候離不開它們了。
最後想提一點,如果是認真的開發Ruby程式的話,最有效率的方式是趕快學會、學
好一個 Ruby gem 要怎麼包起來,要怎麼用來符合開發程式的總體需求。你不一定
需要放在Github上,自用也是相當好用的。
目前在積極地學習Java,不過也只會用在某個效能瓶頸上而已,不會全部改寫。
希望這對於學Ruby的人有點幫助。不過還是建議有空的話要學一下Python啦,就
業市場上應該是有用的,哈哈。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.78.3
※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1434023858.A.4B6.html
推
06/11 21:31, , 1F
06/11 21:31, 1F
推
06/12 00:39, , 2F
06/12 00:39, 2F
→
06/12 08:28, , 3F
06/12 08:28, 3F
推
06/12 15:18, , 4F
06/12 15:18, 4F
→
06/12 17:54, , 5F
06/12 17:54, 5F
→
06/12 23:45, , 6F
06/12 23:45, 6F
推
06/13 11:38, , 7F
06/13 11:38, 7F
推
06/15 13:42, , 8F
06/15 13:42, 8F
→
06/15 13:42, , 9F
06/15 13:42, 9F
推
06/16 17:13, , 10F
06/16 17:13, 10F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章