首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

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

  •  
  •   beaock · 58 天前 · 2337 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    谢谢

    28 回复  |  直到 2018-12-22 22:45:44 +08:00
        1
    greatbody   58 天前
    不了解 Django,但是 用过一年多的 ROR

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

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

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

    自信的程序员才不管别人说啥。
        12
    bestkayle   58 天前 via iPhone
    如果楼主基础扎实水平较高换什么都无所谓吧,如果水平一般这样折腾就变成框架仔了
        13
    limbo0   58 天前 via Android
    都是脚本需要,入手很容易的
        14
    strahe   58 天前
    如果只是单纯会 python, 跨度还是很大的.
        15
    renyijiu   58 天前
    不大,提前看一下 rails 的一些默认规范,很快就可以上手了(因为我就是这么过来的)
        16
    pynix   58 天前
    @FrankFang128 大概用了两三年了。。
        17
    franky_xhl   58 天前
    日本也有一些公司用 Python 与 Django 的
        18
    msg7086   58 天前   ♥ 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   58 天前 via iPhone
    用了一年多 rails,要换 python 和 go 的路过...
    rails 写起来很快,也非常灵活(源码一脸蒙蔽,放弃)

    不过现在市场不大,如果只是干活就随便看看能干活就好,没必要深究
        20
    blacklee   58 天前
    别相信什么 Ruby on Rails 速度不行的鬼话,还是看人。
    大概 7 年前我用 Rails 写了个后台编辑站点,后来产品被外包公司用 Java 重做。结果用户普遍抱怨新的没旧的好用。
        21
    glues   58 天前 via iPhone
    会了 ruby 之后基本不太想写 python 了
        22
    kernel   58 天前 via Android
    ruby 这个语言对于喜欢 py 的人来说可能爱不起来,设计的太随意了,可读性也不好。
        23
    agagega   58 天前 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   58 天前
    @FrankFang128 决定两种都接触接触,反正也不会太费时间
    @limbo0 去 stackoverflow 上面看了看,推荐是两个都学
    @franky_xhl 感觉不是特别多 哈哈 以后有时间再把 ror 看看,目前在做 java 相关的
    @msg7086 我决定也学学 ror 看看有多么爽
    @blacklee 是的 速度的瓶颈有时候不是编程语言
        25
    fy   58 天前
    @abcbuzhiming #7 话说现在好像是 Python2 垫底了吧,我看 Ruby 更新日志一直在优化速度,新版本 JIT 都有了。然后 Py3 现在据说比 2 快。
        26
    gzq527   58 天前
    为什么不用 java
        27
    FrankFang128   58 天前
    @pynix 我也才两年,已经膨胀了
        28
    abcbuzhiming   58 天前
    @fy 不是指的语言,而是指的 ROR 这个框架本身凉了,至少在国内是这样,两三年前还有不少公司用的,现在基本都绝迹,现在是 java 和 go 的天下
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4027 人在线   最高记录 4346   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 02:48 · PVG 10:48 · LAX 18:48 · JFK 21:48
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1