Re: [问题] 学习ruby只能迈向rail吗?

楼主: dragonyy (dragon)   2015-06-11 19:57:35
原文恕删。提供一下经验谈。
写了满久的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啦,就
业市场上应该是有用的,哈哈。
作者: Neisseria (Neisseria)   2015-06-11 21:31:00
推大大的经验谈
作者: LaPass (LaPass)   2015-06-12 00:39:00
ruby连自己人都嫌效能差啊...
楼主: dragonyy (dragon)   2015-06-12 08:28:00
New MacBook vs MacBook Pro, just like that
作者: david50407 (Davy)   2015-06-12 15:18:00
Ruby效能有在改善了,经验推
作者: danny8376 (钓到一只猴子@_@)   2015-06-12 17:54:00
当然嫌效能差啊 这点python也一样啊XD 直译语言常态www
楼主: dragonyy (dragon)   2015-06-12 23:45:00
还有GIL,说起来难以见人啊
作者: mars90226 (火星人)   2015-06-13 11:38:00
到底什么时候MRI才要拿掉GIL阿QQ
作者: ireullin (raison detre)   2015-06-15 13:42:00
效能的好坏有一大部分来自于你程式的写法而不是程式语言本身
作者: semicoma (后勤人力足 前进灾区吧)   2015-06-16 17:13:00
根据xdite的说法 ruby够好了 要做的是改善写法

Links booklink

Contact Us: admin [ a t ] ucptt.com