Re: [問題] 學習ruby只能邁向rail嗎?

看板Ruby作者 (dragon)時間9年前 (2015/06/11 19:57), 編輯推噓6(604)
留言10則, 8人參與, 最新討論串3/3 (看更多)
原文恕刪。提供一下經驗談。 寫了滿久的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
ruby連自己人都嫌效能差啊...
06/12 00:39, 2F

06/12 08:28, , 3F
New MacBook vs MacBook Pro, just like that
06/12 08:28, 3F

06/12 15:18, , 4F
Ruby效能有在改善了,經驗推
06/12 15:18, 4F

06/12 17:54, , 5F
當然嫌效能差啊 這點python也一樣啊XD 直譯語言常態www
06/12 17:54, 5F

06/12 23:45, , 6F
還有GIL,說起來難以見人啊
06/12 23:45, 6F

06/13 11:38, , 7F
到底甚麼時候MRI才要拿掉GIL阿QQ
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
根據xdite的說法 ruby夠好了 要做的是改善寫法
06/16 17:13, 10F
文章代碼(AID): #1LUNUoIs (Ruby)
文章代碼(AID): #1LUNUoIs (Ruby)