RubyTuesday Ruby SH 薄荷聚会有感

hewe · 2016年05月23日 · 最后由 michael 回复于 2016年05月24日 · 8442 次阅读

我参加了这么聚会,但是有一个感觉,难道我们做 ruby 的,只是用 rails 做 web 开发吗?难道就没有做其他的吗? 会上讨论的几个 topic,基本都是关于 rails 的,请大神指导。

PS:目前我只是用 ruby 做一些自动化脚本和公司的架构对接,活着做一些小的工具。

@lgn21st 一直想在会上问的,没好意思。

答案其实可以很复杂,我开个头,这个问题并非只有我能回答。

首先,用 A 做 B,这个选择应该由 B 来导向,如果做 Web 开发,Rails 是不是一个好的选择呢?我觉得是,但并不是唯一选择。

其次,用 A 做 B,有的时候取决于你对 A 的掌握程度,如果对 A 掌握的足够熟练,能解决 B 的问题,那么选择就是合理的。

最后,除了用 A 做 B,还能用 A 做什么,这个我们很少讨论,但是 Rails 几乎只能用来做 Web,但是 Ruby 适用的场景非常多,远远超过 Web 本身。

但愿 Ruby 能丰富你的人生,而非限制它

我非常想用 Ruby 做科学计算,可是根本没库 每次写 Scipy 感觉都被艹了一样

可以看下 https://github.com/rails/arel 已经跳出了 web

目前 Ruby 大部分应用以 Web 开发为主,而 Web 开发中以使用 Rails 为主,这个现状导致每一次 Ruby 的会议或者活动通常需要有 Rails 一席之地,不过这次活动的 topic 并不全是 Rails 啊,:)

但是 Rails 并不是 Ruby 的全部,还有很多其他选择。首先使用 Ruby 做 Web 开发,除了 Rails,还有 Sinatra,Grape,Padrino 和 Hanami 等等供选择。另外不做 Web 开发,Ruby 在测试,系统管理等等也有成熟应用,比如 Cucumber,Chef,Puppnet,Homebrew,CocoaPods,不过确实不多。

Ruby 其实是一门年轻的老语言,虽然 Ruby 诞生于 1993 年,但是 Ruby 在世界范围内被人熟知大概是 2006 年 Rails 获得 Jolt Award,在 2006 年 Rails 开始火起来时 ( github, twitter 等一批知名的网站就是在那段时间内用 Rails 开发出来的),Ruby 才开始被人们熟知,也就是说从 93 年到 2006 年,整整 13 年时间 Ruby 默默无闻,相当长一段时间没有人知道有这样一个语言存在,这可能是造成 Ruby 的应用领域比较狭窄的一个原因,为什么 Ruby 会有这么长的一段沉寂期,这应该是其他原因造成的,而不是 Ruby 自身的原因,总之是金子总会发光,Ruby 以后会不会在其他领域爆发这个还真说不定。另外说一句,我最开始玩 Ruby 不是用 Rails 做 web 开发,而是为一个叫 RPG Maker 的游戏框架写 Ruby 脚本玩。

Ruby 在其它领域的现状,主要不是 Ruby 语言本身,而是领域相关的社区及资源远远不完善。

与 Ruby 目前的圈子组成也有相关,在 Web 领域,Ruby 开发者自然当仁不让。但在其它领域,要么是 领域专家不了解 Ruby,人家自然用自己熟悉的 语言 做项目,要么是 Ruby 开发者 ( 因为主要集中在 Web ) 不了解其领域,无法用 Ruby 来写该领域的项目。( 不是说没有人,只是相对 Web 领域, 其它领域的 Ruby 开发者占比太少). 互为因果吧,结果就是现状: Ruby 在强项领域一直很强,在弱项领域一直很弱

Python 的很多领域的库,用 Ruby 不能实现吗?当然能。那用 Ruby 来实现一个吧,呃....... 这方面不懂啊。 ;)

领域相关的社区及资源还是需要一步步来,先有项目,然后再逐步完善吧。其实 Ruby 能做很多事情。

#3 楼 @beiwang 其实我用的虽然不是很多,只是在合适的时候,用这个东西。

三大动态语言里前景最不明朗的一个

@skhizein 其实还有一个原因,其他领域一般都已经有很成熟的选择,比如 Python 在科学计算方面。就算用 Ruby 实现一套也没有本质的提升,所以大多数该领域的人会选择学一门新语言而不是拿着 Ruby 造轮子。

#12 楼 @adamshen 三大动态语言是哪三大?

#14 楼 @jojoma 我是有感而发,巧合了。

#6 楼 @vincent 谢谢 vincent,我能说我也叫 vincent 嘛。。。

#3 楼 @beiwang 好的,谢谢。

#15 楼 @larryzhao

哈哈。看上次 TIOBE 的排名,不算世界上最好的编程语言,应该是 ruby、python 和 nodejs 吧。

#13 楼 @darkbaby123 所以说这是互为因果嘛。因为 Ruby 在该领域没有好的选择,只能选择其它更成熟的。反过来,由于很少有人会在该领域选择 Ruby,因而 Ruby 在该领域也会越来越萎缩。

#20 楼 @adamshen 哈,那猜的没错

这不是个问题,去知乎钓鱼吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号