没学过 Ruby,不知道这两者之间有多大的相似性与不同
学习 Ror 之前要先了解 Ruby 语言么?
人在日本,感觉日本的 web service 的公司基本都是在用 ror,想了解一下
谢谢
1
greatbody 2018-12-22 11:48:24 +08:00
不了解 Django,但是 用过一年多的 ROR
Ruby 还是很好学的,除了一些玄学部分比如语法糖。 ROR 的一些坑大多都是 ORM 的。 |
2
pynix 2018-12-22 11:56:47 +08:00
自从转了 ROR 就回不去了。。。。Django 发布到什么版本都不知了,现在。。
|
5
colorfulberry 2018-12-22 12:11:04 +08:00
ROR 挺好的的,会 js 那么很多语法糖 ror 都有。
|
6
janxin 2018-12-22 12:48:48 +08:00
都换语言了你说大不大
|
7
abcbuzhiming 2018-12-22 13:03:32 +08:00
ROR 是目前最接近声明式编程语言思想( tel me what you want,not how to do )的 Web 框架,如果你理解了它的思维你写起来会非常爽(号称最理解程序员)。缺陷就是速度特别慢,外加语法糖太多了,导致你理解别人的代码就有困难。再就是声明式如果搞不定问题的时候,你就要头疼了
|
8
loading 2018-12-22 13:44:59 +08:00 via Android
@abcbuzhiming 看着像普通软件用 vb 写,就是点属性的样子?
|
9
FrankFang128 2018-12-22 13:46:07 +08:00
楼上的有几个是长期用 RoR 的?
|
10
FrankFang128 2018-12-22 13:50:39 +08:00
RoR 是经典的全栈框架,一直被抄袭,从未被超越。
即使你不会 ruby 依然可以使用 Rails,因为语法实在是太易懂了,只要你会英文就行(不会英文或者不想学习英文的就滚粗吧)。 优点:重视程序员的幸福感、注重最佳实践、注重约定优于配置、注重开箱即用 缺点:不快(但也没你们说得那么慢,跟 C、Golang 肯定是比不了的,但是重在开发效率) 创业公司用 RoR 是非常合适的,因为 RoR 足够撑到你公司到达 A 轮融资,融资之后嫌慢花钱找人重写即可。 |
11
FrankFang128 2018-12-22 13:53:52 +08:00
哦,还有一个缺点:不适合不自信的程序员。
不自信的程序总希望自己用的语言和框架是人人称赞的,但是 RoR 目前的支持者基本不说话了。 所以不自信的程序员需要找粉丝多的语言和框架,以支撑自己深入下去。 自信的程序员才不管别人说啥。 |
12
KgM4gLtF0shViDH3 2018-12-22 14:16:35 +08:00 via iPhone
如果楼主基础扎实水平较高换什么都无所谓吧,如果水平一般这样折腾就变成框架仔了
|
13
limbo0 2018-12-22 14:49:57 +08:00 via Android
都是脚本需要,入手很容易的
|
14
strahe 2018-12-22 15:11:47 +08:00
如果只是单纯会 python, 跨度还是很大的.
|
15
renyijiu 2018-12-22 15:30:38 +08:00
不大,提前看一下 rails 的一些默认规范,很快就可以上手了(因为我就是这么过来的)
|
16
pynix 2018-12-22 15:58:08 +08:00
@FrankFang128 大概用了两三年了。。
|
17
franky_xhl 2018-12-22 16:19:14 +08:00
日本也有一些公司用 Python 与 Django 的
|
18
msg7086 2018-12-22 19:00:24 +08:00 1
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 论坛的时候才会用了。 |
19
ppyybb 2018-12-22 19:06:28 +08:00 via iPhone
用了一年多 rails,要换 python 和 go 的路过...
rails 写起来很快,也非常灵活(源码一脸蒙蔽,放弃) 不过现在市场不大,如果只是干活就随便看看能干活就好,没必要深究 |
20
blacklee 2018-12-22 19:26:40 +08:00
别相信什么 Ruby on Rails 速度不行的鬼话,还是看人。
大概 7 年前我用 Rails 写了个后台编辑站点,后来产品被外包公司用 Java 重做。结果用户普遍抱怨新的没旧的好用。 |
21
glues 2018-12-22 20:19:19 +08:00 via iPhone
会了 ruby 之后基本不太想写 python 了
|
22
kernel 2018-12-22 20:37:22 +08:00 via Android
ruby 这个语言对于喜欢 py 的人来说可能爱不起来,设计的太随意了,可读性也不好。
|
23
agagega 2018-12-22 20:49:14 +08:00 via iPad
其实现在各大 MVC 的 Web 框架都有点 Rails 那个意思了,不过始终差点东西,差的其实不是框架,是语言(当然 Rails 到现在基本也很成熟了,搞互联网应用基本的需求要么自带要么有成熟的轮子)。所以刚接触可能一脸懵逼:
- 为什么这个控制器方法啥都不写就一个空的,就能映射到页面上? - 为啥代码里不用写 require ? - 没有装饰器吗? 其实都是因为 Ruby 语言允许你做很多稀奇古怪的动态的事情。现在用 Rails 的创业公司应该也不少,不过没那么火了,因为国内不好招人,也不能像某司 Golang 和 Java 换来换去一样地吹。 话说回来,Ruby 的性能真没很多人想的那么差……基本上跟 Python 在一个级别,部分 benchmark 还比 Py 快点,当然比 Node 是都差不少。有人说慢主要是早期 Ruby 在性能优化上就没做什么功夫,后来 2.x 换了一个新的解释器;另一方面就是 Rails 这货实在有点庞大,IO 模型也老被人吐槽。至于具体性能怎么样,你可以亲自动手试试。接下来的版本要上官方 JIT 了,可以期待一下。(我看了下作者的文档,貌似是从字节码编译到 C 再编译到机器码,编译占用了大半时间所以效果还不明显) |
24
beaock OP @FrankFang128 决定两种都接触接触,反正也不会太费时间
@limbo0 去 stackoverflow 上面看了看,推荐是两个都学 @franky_xhl 感觉不是特别多 哈哈 以后有时间再把 ror 看看,目前在做 java 相关的 @msg7086 我决定也学学 ror 看看有多么爽 @blacklee 是的 速度的瓶颈有时候不是编程语言 |
25
fy 2018-12-22 22:05:32 +08:00
@abcbuzhiming #7 话说现在好像是 Python2 垫底了吧,我看 Ruby 更新日志一直在优化速度,新版本 JIT 都有了。然后 Py3 现在据说比 2 快。
|
26
gzq527 2018-12-22 22:24:59 +08:00
为什么不用 java
|
27
FrankFang128 2018-12-22 22:43:05 +08:00
@pynix 我也才两年,已经膨胀了
|
28
abcbuzhiming 2018-12-22 22:45:44 +08:00
@fy 不是指的语言,而是指的 ROR 这个框架本身凉了,至少在国内是这样,两三年前还有不少公司用的,现在基本都绝迹,现在是 java 和 go 的天下
|