Ruby Ruby 值得一学

G.K · 2021年04月28日 · 最后由 dajianshi 回复于 2021年06月08日 · 4251 次阅读

之前学过两次 Ruby,均以失败告终,甚至一气之下在 v 站发了个帖子:Ruby, Rails 不值一学。

但是牢骚归牢骚,学习还是要坚持的。尤其最近换了一家写 Ruby 的公司,再次拿起书本系统性的学习 Ruby,越学越香。

感觉之前只会写点 Go 确实坐井观天了,最近学习才发现,Go 中的很多生态都来自 Rails,比如 GORM,很多函数名都跟 Rails 的一样;sql-migrate 库也是从 Rails 汲取的,Gin、Echo 之类的框架等等。

虽然 Go 的性能特别好,但是就开发效率来说还是跟 Ruby 有差距,最近用 Go 重构了一个公司的 Rails 模块,代码量增加了好多。感觉对于一般小公司或者个人开发者,Ruby 真的应该是首选,特别是 Rails 框架,一周干完别人两周甚至一个月的活。

即便是从学习设计思想上来讲,学习 Ruby 也是大有裨益,之前很多 Go 库的使用只知其一不知其二,现在随着对 Ruby 的学习,才理解了那句“语言只是工具,重要的是思想”。

现在每天都学的很开心,特意来分享下😋 。

v 站的帖子链接是不是失效了,想看看当初是怎么想的😀

真香警报 😂

确实很多语言从 Rails 借鉴了不少东西,但很多框架只是学到皮毛,并且受限于语言特性学得很别扭,不如直接用 Rails。所以看到说别的语言也有类 Rails 框架,Rails 就不值得学的言论我都是一笑置之。有的框架是学 Rails 之余,有自己思想和创新的,就值得去学。例如我对 Phoenix 的 live view 有兴趣,不知道跟 Rails 最近出的 turbo_stream 有什么不同。

对 yagche 回复

V2EX 有的帖子登录可见,未登录会跳转到首页。那个帖子还在。

对 Rei 回复

单从 web 开发这块,确实是 Go 的很多库都是用 go 重写了一遍 Ruby 的,现在我看到公司 Rails 项目用了什么,直接用 go 搜都能找到,比如"go I18n",问题是 Rails 是一个整体,无缝结合了 orm、脚手架、migrate 啥的,go 的得各自去找然后拼到一个项目里,这就不如 Rails 的开发体验自然。我的拙见是很多公司的项目和业务体量,Ruby 和 Rails 是足够支撑的,只是随着 go 太火都跃跃欲试。😋

其实学 ruby 花不了多少时间,学了也不亏,就算以后用不到也没有多大的损失。

至于说学 ruby 太费劲,那是因为编程基础没有学好。或者学 rails 太费劲,是因为 web 开发基础没有学好。这样表面上你学 ruby 和 rails 花了不少时间,其实大部分时间都是在用来补充自己的基础知识,这个锅扣不到 ruby 和 rails 上。

当然啦。从纯功利的角度上讲,学 ruby 和 rails 是没有必要的,因为不好找工作,生态也在走下坡路,不如多学点别的,面向工资编程。

对 adamshen 回复

我找工作都是 Go 开发,学 Ruby 就是单纯的感觉眼界太狭隘,也希望在技术上持续提升自己。

非宁静无以致远

对 piecehealth 回复

原来如此。👍

感到学 Rails 太费劲的往往是相对优秀的同学,如果不求甚解的用,其实不要太好用,但是很多优秀的同学喜欢刨根问底,那肯定会经过一段迷茫期的。

对 ericguo 回复

如果遇到问题不深究的话,总有一种如鲠在喉的感觉,但是有时候过度深究又会陷入各种无限困境,类似 node_modules 那种。。😅

对 adamshen 回复

学了不亏好评😉

手动为你点赞

Rails 约定优于配置 影响了多少后来人

之前有阵子因缘际会摸了点 laravel,也觉得根本一样,该改名为 php on rails 才对

15 楼 已删除

虽然现在不用 Ruby 了,但还是特别喜欢这个语言。Roda,Sequel 的做者将要出一本 Ruby 的新书,看到他发推的当天就果然预定了。

请问 Crystal 现在写起来怎么样?

我觉得 Rails 项目代码阅读起来挺有障碍的,一个功能的实现具体在哪里不太好定位

对 shiweifu 回复

不怎样,已弃坑

对 shiweifu 回复

amber 这个框架维护太慢了,Crystal 三月份发布 1.0.0,2000 多星星的框架到现在还没支持 1.0.0。kemal 也是不勤励维护的状态。lucky 到现在 issue 还一大把。整一个 Crystal 都被 Ruby 的概念绑架了,难以突破和超越。看不到未来。

@ThxFly 现在入哪个坑了?

对 steve 回复

go 语言。我们公司某个新项目用 go 语言开发,相关人员花半个月就上手了,开发效率是可以的。代码提示,fmt 都是开发利器

@ThxFly go 的语法确实丑了点

那 Go 不判空不一样一堆异常,除非是 Null Safe 的语言,不然感觉都一样

Go 主流都是用 Echo、Gin 这类框架配合 Vue、React 搞前后端分离。

找了一圈,发现了借鉴了 Rails 思想的 Buffalo,下一个项目想试试

@ThxFly 你们用 go 做 web 开发吗?

对 steve 回复

ruby, go, python 都在用

对 steve 回复

API 开发

你好!请教一下,“开发效率 Go 只是比 Ruby 慢一点”这个怎么说呢?

shiweifu 在 Crystal 1.0 了 提及了此话题。 06月05日 10:23
对 xiaox 回复

慢多了

个人愚见,ruby 很好学,语法学会用不了一天,但是思想掌握了需要使用一定时间,再者是 rails 框架比较难掌握,毕竟太大了,包罗万象,还有很多魔法在里面。但是学会了之后,真的不愿意用其他语言框架了,毕竟被 RoR 惯坏了😀 😀 😀

G.K 在 三年后,仍在热爱 Ruby 提及了此话题。 11月05日 22:03
需要 登录 后方可回复, 如果你还没有账号请 注册新账号