从 Python 的 Django 转 Ruby on rails 跨度大不大?

2018-12-22 11:43:32 +08:00
 beaock

没学过 Ruby,不知道这两者之间有多大的相似性与不同

学习 Ror 之前要先了解 Ruby 语言么?

人在日本,感觉日本的 web service 的公司基本都是在用 ror,想了解一下

谢谢

5105 次点击
所在节点    Python
28 条回复
greatbody
2018-12-22 11:48:24 +08:00
不了解 Django,但是 用过一年多的 ROR

Ruby 还是很好学的,除了一些玄学部分比如语法糖。
ROR 的一些坑大多都是 ORM 的。
pynix
2018-12-22 11:56:47 +08:00
自从转了 ROR 就回不去了。。。。Django 发布到什么版本都不知了,现在。。
beaock
2018-12-22 11:59:11 +08:00
@pynix 这么刺激的么...
ithou
2018-12-22 12:09:00 +08:00
@pynix 2.1.4
colorfulberry
2018-12-22 12:11:04 +08:00
ROR 挺好的的,会 js 那么很多语法糖 ror 都有。
janxin
2018-12-22 12:48:48 +08:00
都换语言了你说大不大
abcbuzhiming
2018-12-22 13:03:32 +08:00
ROR 是目前最接近声明式编程语言思想( tel me what you want,not how to do )的 Web 框架,如果你理解了它的思维你写起来会非常爽(号称最理解程序员)。缺陷就是速度特别慢,外加语法糖太多了,导致你理解别人的代码就有困难。再就是声明式如果搞不定问题的时候,你就要头疼了
loading
2018-12-22 13:44:59 +08:00
@abcbuzhiming 看着像普通软件用 vb 写,就是点属性的样子?
FrankFang128
2018-12-22 13:46:07 +08:00
楼上的有几个是长期用 RoR 的?
FrankFang128
2018-12-22 13:50:39 +08:00
RoR 是经典的全栈框架,一直被抄袭,从未被超越。
即使你不会 ruby 依然可以使用 Rails,因为语法实在是太易懂了,只要你会英文就行(不会英文或者不想学习英文的就滚粗吧)。

优点:重视程序员的幸福感、注重最佳实践、注重约定优于配置、注重开箱即用
缺点:不快(但也没你们说得那么慢,跟 C、Golang 肯定是比不了的,但是重在开发效率)

创业公司用 RoR 是非常合适的,因为 RoR 足够撑到你公司到达 A 轮融资,融资之后嫌慢花钱找人重写即可。
FrankFang128
2018-12-22 13:53:52 +08:00
哦,还有一个缺点:不适合不自信的程序员。
不自信的程序总希望自己用的语言和框架是人人称赞的,但是 RoR 目前的支持者基本不说话了。
所以不自信的程序员需要找粉丝多的语言和框架,以支撑自己深入下去。

自信的程序员才不管别人说啥。
KgM4gLtF0shViDH3
2018-12-22 14:16:35 +08:00
如果楼主基础扎实水平较高换什么都无所谓吧,如果水平一般这样折腾就变成框架仔了
limbo0
2018-12-22 14:49:57 +08:00
都是脚本需要,入手很容易的
strahe
2018-12-22 15:11:47 +08:00
如果只是单纯会 python, 跨度还是很大的.
renyijiu
2018-12-22 15:30:38 +08:00
不大,提前看一下 rails 的一些默认规范,很快就可以上手了(因为我就是这么过来的)
pynix
2018-12-22 15:58:08 +08:00
@FrankFang128 大概用了两三年了。。
franky_xhl
2018-12-22 16:19:14 +08:00
日本也有一些公司用 Python 与 Django 的
msg7086
2018-12-22 19:00:24 +08:00
Ruby 语言表达能力强,包容性强,不会强迫你做你不太想做的事情。
Ruby 和 Python 看上去很相似,但是骨子里完全相反。
如果你熟悉 Python 的哲学理念,你会发现无数 Ruby 代码几乎是和 Python 完全在唱反调。

比如 Python 的核心哲学,「用一种方法,最好是只有一种方法来做一件事」,直接结果就是一千个人心中有一千个哈姆雷特,凭什么你心中的才是最好的,我心中的就不是?
Ruby 则是随便你怎么玩。Code Wars 上很多 Ruby 的简单算法题,如果你去看别人的答案,你很可能会看到十来种完全不同的解法,有些速度快,有些简洁,有些精妙,但是很少有人会说「你写的方法不 Rubyic*」。(*所以并没有 Rubyic 这个词。)
而且 Ruby 这门语言是集三种前辈语言的优点于一身 —— Lisp Smalltalk 和 Perl。他有 Lisp 的函数式风格,Smalltalk 的纯面向对象机制,和 Perl 强大的文字处理功能,写代码就是两个字,舒服。

Rails 也是一样,你可以用任何 make sense 的方法去写代码,只要符合大体上的规则就行了(比如测试驱动开发,不写又臭又长的函数,等等 )。性能差是硬伤没办法,但是代码,写起来就是舒服。不过各种黑魔法用得太多以后,调试的时候会比较累……

我自己是从 PHP 转过去的。开始用 Rails 之前我写了大概 10 年的 PHP 代码,然而花了大概一个星期学会用 Ruby 和 Rails 以后,我之后所有的个人项目全都用 Rails 写了。PHP 最多帮人修修 Discuz 论坛的时候才会用了。
ppyybb
2018-12-22 19:06:28 +08:00
用了一年多 rails,要换 python 和 go 的路过...
rails 写起来很快,也非常灵活(源码一脸蒙蔽,放弃)

不过现在市场不大,如果只是干活就随便看看能干活就好,没必要深究
blacklee
2018-12-22 19:26:40 +08:00
别相信什么 Ruby on Rails 速度不行的鬼话,还是看人。
大概 7 年前我用 Rails 写了个后台编辑站点,后来产品被外包公司用 Java 重做。结果用户普遍抱怨新的没旧的好用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX