skyxin888
V2EX  ›  问与答

Android 想学一些后台的东西 是选 Python 还是 ruby

  •  
  •   skyxin888 · Dec 19, 2014 · 13334 views
    This topic created in 4338 days ago, the information mentioned may be changed or developed.
    79 replies  •  2017-07-18 21:24:16 +08:00
    victor
    victor
    Dec 19, 2014❤️1
    1
    我是用 Ruby,因为只会这个。但是从 V2EX 上的工作机会和过去1年计算机出版图书的列表中可以看到:Python 已经甩了 Ruby 几条街。
    hging
    hging
    Dec 19, 2014
    2
    用java啊. 哈哈哈哈哈
    开玩笑的. 我用Ruby的. 也只会这个. 楼上握手.
    serco
    serco
    Dec 19, 2014
    3
    对比着做个demo,最后你就还是会进入Ruby坑的
    rails3
    rails3
    Dec 19, 2014
    4
    ruby 握握握手
    skyxin888
    skyxin888
    OP
    Dec 19, 2014
    5
    @victor 从java切换过去有难度吗 还有node.js 怎么样
    xinple
    xinple
    Dec 19, 2014❤️3
    6
    python
    nodejs
    lululau
    lululau
    Dec 19, 2014
    7
    分别用一周时间都简单了解一下。我都了解过,我选 Ruby。
    patosky
    patosky
    Dec 19, 2014
    8
    imn1
    imn1
    Dec 19, 2014
    9
    linux 默认就有python
    victor
    victor
    Dec 19, 2014
    10
    @skyxin888 要看你对 Java 的理解怎么样或者换句话说,你编程的基本功怎么样。对于面向对象的程序设计的掌握程度,比如封装,继承,多态,鸭子类型这些。如果这些基本功熟悉了,你换一个语言的成本还是挺低的,先熟悉一下基本语法再看点元编程的小技巧和花招。

    node.js 我没有实际工作经验,不敢说好不好。对它的理解都是网上的道听途说,相信这些对比类的文章你看的也是够多了。

    一句话结论:从 java 切换过去没难度,node.js 我觉得不怎么样。
    laven
    laven
    Dec 19, 2014
    11
    golang
    bohan
    bohan
    Dec 19, 2014
    12
    Ruby On Rails真是大杀器啊,完全舍不得不用Ruby,但有的时候会有点麻烦,第三方资源的库支持比较弱
    ChiangDi
    ChiangDi
    Dec 19, 2014 via Android
    13
    大部分推荐 Pythpn 的人因为他们从来没有尝试过 Ruby。都试试你就哪个写起来更爽。
    ChiangDi
    ChiangDi
    Dec 19, 2014 via Android
    14
    @ChiangDi typo Pythpn -> Python
    kxxoling
    kxxoling
    Dec 19, 2014
    15
    语言层面上这两者有很多相似之处,不过从应用上,如果你想往 web 后端或者机器学习、数据挖掘上发展,选 Python;对前端感兴趣就学 Ruby 吧,LESS、SCSS 这些 CSS 预处理工具都是 Ruby 写的,而且 Ruby 开发者社区跟前端重叠度很高。另外,在 Mac 上,Ruby 的地位也是很高的。
    xiaohanyu
    xiaohanyu
    Dec 19, 2014❤️1
    16
    Ruby +1
    clino
    clino
    Dec 19, 2014
    17
    偏后台关注性能的话,可以参考一下这个benchmark https://www.techempower.com/benchmarks/
    里面有很多的测试方式,可以综合看一下

    当然开发效率也要综合考虑,python和ruby的开发效率我估计都比较高,但 python 有一个好处是适用面很广,很多后台运维的东东都可以用python很快搞定
    zhouquanbest
    zhouquanbest
    Dec 19, 2014❤️4
    18
    作为一家Java公司唯一写Python Web的Android工程师
    我表示Python和Android的气质比较相符 Ruby和iOS比较对路
    fwee
    fwee
    Dec 19, 2014
    19
    ruby吧,jruby的成熟度也比较高,后期如有效率或者需要JVM的库之类的因素可以很轻松的迁移到JVM上(jruby调用java类库可是一个爽字啊..),甚至你想用jruby来开发android都行..

    单论语言本身的对比 http://www.zhihu.com/question/19552194/answer/35281362
    TangMonk
    TangMonk
    Dec 19, 2014
    20
    果断ruby
    oott123
    oott123
    Dec 19, 2014
    21
    我也犹豫过……

    学 Python : 咦,学 Python 2 还是 Python 3 呢……
    学 Ruby / RoR : 服务器内存够不够……

    最后还是在用 Python 。感觉用起来还算舒服。Ruby 会一丁点,但是 ror 完全看不懂,一看就头晕……
    tini8
    tini8
    Dec 19, 2014
    22
    ruby写小项目很爽很好玩,等项目大了那些奇技淫巧给你带来的就只有困扰了。python的朴实无华,在项目变大的时候还可以游刃有余,保持可读性。当然你会说可读性在于写程序的人,但不能否人程序语言本身的可读性因素。

    简言之:ruby在语言中寻找乐趣,python在项目中寻找乐趣。
    E2gCaBAT5I87sw1M
    E2gCaBAT5I87sw1M
    Dec 19, 2014
    23
    RubyMotion 3.0 支持使用 Ruby 开发 iOS / Android / Mac , 你能看懂如下代码对吗?

    `
    # app/app_delegate.rb
    class AppDelegate < PM::Delegate
    status_bar true, animation: :fade

    def on_load(app, options)
    open RootScreen.new(nav_bar: true)
    end
    end

    # app/screens/root_screen.rb
    class RootScreen < PM::Screen
    title "Root Screen"

    def on_load
    set_nav_bar_button :right, title: "Help", action: :open_help_screen
    end

    def open_help_screen
    open HelpScreen
    end
    end

    # app/screens/help_screen.rb
    class HelpScreen < PM::TableScreen
    title "Table Screen"

    def table_data
    [{
    title: "Help",
    cells: [
    { title: "About this app", action: :tapped_about },
    { title: "Log out", action: :log_out }
    ]
    }]
    end

    def tapped_about(args={})
    open AboutScreen
    end

    def log_out
    # Log out!
    end
    end
    `
    xwsoul
    xwsoul
    Dec 19, 2014
    24
    PHP是最好的语言
    redguy6
    redguy6
    Dec 19, 2014
    25
    Python. 直接学Python2. 别问为什么.
    invite
    invite
    Dec 19, 2014❤️1
    26
    @xwsoul 以前也这么觉得,现在发现,Python好像更合适。
    xuwenmang
    xuwenmang
    Dec 19, 2014
    27
    @redguy6 为什么?
    phun
    phun
    Dec 19, 2014
    28
    两个都学呗,Python像是C++的动态化,完成一个功能方法单一,目的性很强;Ruby很灵活了,完成一个功能有多种方法,而且很有意思。

    当然我推荐的话就是Ruby!
    redguy6
    redguy6
    Dec 19, 2014
    29
    @xuwenmang Python2书和教程比较多吧。
    chrischan168
    chrischan168
    Dec 19, 2014
    30
    python + tornado ,开始你的python后台开发之旅吧~ ps.我其实是写前端的=。=
    xwsoul
    xwsoul
    Dec 19, 2014
    31
    @invite Python 其实也是很不错的...如
    kikyous
    kikyous
    Dec 19, 2014
    32
    ruby
    AWSAM
    AWSAM
    Dec 19, 2014
    33
    ruby +1
    msg7086
    msg7086
    Dec 19, 2014 via iPhone
    34
    果断ruby,py已扔。

    说内存不够的同学…至少买个512以上的机子吧
    jjx
    jjx
    Dec 19, 2014❤️2
    35
    看性格学语言, 性格张扬的学ruby, 性格沉静的学python ,听我没错的
    useyes
    useyes
    Dec 19, 2014
    36
    受不了py缩进,就选择了 Ruby
    zythum
    zythum
    Dec 19, 2014❤️1
    37
    语法优雅方面ruby确实好。
    从代码自由度来说感觉js(node)最好
    从社区角度python最好。
    datou552211
    datou552211
    Dec 19, 2014
    38
    golang 能开发andirod 能开发服务器
    nicai000
    nicai000
    Dec 19, 2014❤️1
    39
    放个地图炮, 智商低的就去用ruby.

    因为我见过太多人别的学不会, 只学会了ruby然后成天叫嚣ruby好Python烂, 相反Python社区则是大气得很没那么充满敌意.
    freeze
    freeze
    Dec 19, 2014
    40
    两个都不会的情况下,我会选择 Python
    lihei12345
    lihei12345
    Dec 19, 2014
    41
    PHP是最好的开发语言!
    EPr2hh6LADQWqRVH
    EPr2hh6LADQWqRVH
    Dec 19, 2014
    42
    主用Python和CoffeeScript

    ROR尝试学了两三次,都被强大的魔法击退了
    crazyxin1988
    crazyxin1988
    Dec 19, 2014
    43
    我觉得 python 更好一些。python 不但可以写web
    工作中 python 可以写一些工具和测试脚本~非常方便
    正所谓 import在手 天下我有~
    作为一名java攻城狮 在选择python和ruby时,我也犹豫过~不过最终选择了python
    bellchu
    bellchu
    Dec 19, 2014
    44
    Python
    loryyang
    loryyang
    Dec 19, 2014
    45
    python好一些,整个环境更加成熟和大众。ruby太灵活了,掌握起来也痛苦
    devon
    devon
    Dec 19, 2014
    46
    @victor Python 已经甩了 Ruby 几条街。

    可能因为 Ruby 一本书能讲好的东西,Python 要5本书?
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Dec 19, 2014
    47
    @crazyxin1988 举一个python能写ruby不能写的例子呗~
    mahone3297
    mahone3297
    Dec 19, 2014
    48
    php...
    Aegwynn
    Aegwynn
    Dec 19, 2014
    49
    不管是Android还是iOS后台,我都用的Java。至于为什么,很简单——因为Java是我第一熟练的语言,开发调试效率最高;其次我会考虑用Python。
    robertlyc
    robertlyc
    Dec 19, 2014
    50
    呵呵 我就问一句话

    到底是学py2哪还是学py3哪
    robertlyc
    robertlyc
    Dec 19, 2014
    51
    说linux默认有python

    我还说mac默认就有ruby哪
    crazyxin1988
    crazyxin1988
    Dec 19, 2014
    52
    @liprais 不会ruby~没法举例子
    但是python的各种丰富的库 不仅仅是web开发~很方便~
    我只是推荐python 又没黑ruby
    blacktulip
    blacktulip
    Dec 19, 2014 via iPhone
    53
    这两个可以一起学,有相似之处,不会太难,建议先学 P 再学 R ,这样你会感觉「我靠 R 居然可以这样」。如果顺序反了,你会觉得「怎么 P 这都不行,没意思」。P 的好处是应用更广泛,R 由于 Rails 太过强势导致一门专精。

    楼主需求是写移动 app 的后端 API 的话,其实这两者都不是最优选择。要么学 async 的 Node ,要么学并发狂魔 Erlang/Elixir 比较对路。又或者直接用 Java 也比 P 或 R 强。
    nsa
    nsa
    Dec 19, 2014 via iPad
    54
    Elixir+1
    robertlyc
    robertlyc
    Dec 19, 2014
    55
    elixir 还是半成品

    ruby也不光只有rails, 还有sinatra, padrino这些light-weight framework
    还有谁说ruby只能做web的 站出来 我保证不打死你

    对应make的rake
    中间层rack

    api 服务更是有grape, Goliath

    大css都有sass这样的神器
    dianyong
    dianyong
    Dec 19, 2014
    56
    如果只能二选一,那还是Python吧。
    ixiaohei
    ixiaohei
    Dec 19, 2014
    57
    @devon 完全不能理解你的逻辑
    zythum
    zythum
    Dec 19, 2014
    58
    ruby党比较装逼,比较喜欢折腾造轮子。py党基本是实用为主,能跑就行。
    貌似ruby的项目都比较折腾。不折腾都跑不起来。py基本拿过来就能用。

    确实语言和程序员的互相选择的。

    比如
    用py的,基本做一个项目开始找库,有木有现成的可以import进来就能跑。
    ruby的会是。这个东西我可以自己实现一个。这样获取更好。

    coffeeScript, sass 都是ruby党搞出来的。估计是写js和css写蛋疼,然后开始造轮子的结果。

    话说这个就是传说中的月经贴了。所以

    php才能世界上最好的语言!!
    robertlyc
    robertlyc
    Dec 19, 2014
    59
    @devon 黑的好

    我记得当年有一张图 一边是java的书 可以堆一堆 反观ruby只需要滑板书和镐头书两本

    书出多 是好事?

    仁者见仁咯
    devon
    devon
    Dec 19, 2014
    60
    @ixiaohei 那咱们可以这么理解吧。工作机会多,出书多并不代表谁好谁不好,关键是自己有没有把一个语言发挥好,产生出价值。

    富土康的工作机会多吧,说明它就好?出书最多的是鸡汤书,说明写鸡汤好。语言用的多的,可能还是 Java,C 什么的。

    语言就是工具,做什么事情,适合用什么语言,就用什么,对不?
    sunperd
    sunperd
    Dec 19, 2014
    61
    python做数学建模和机器学习模式识别还是极好的
    redvoilin
    redvoilin
    Dec 19, 2014
    62
    我选ruby
    ostholz
    ostholz
    Dec 19, 2014
    63
    ruby是适合人类的语言
    py是适合机器的语言
    sammo
    sammo
    Dec 19, 2014
    64
    我觉题主既然是移动端开发,可学习和你当前工作对接的后台的相关知识,这样若有不懂的东西还能问问周围的人
    我觉 python flask 是可以玩一下的,好像解决了 若干页面小网站 的问题,urllib2 + lxml + xpath 是可以玩一下的,好像解决了爬数据的问题
    ruby on rails + SQLite3 / postgresql 是打算玩一下的,好像解决了多页面网站的问题 .. ( mongodb 没顾上看 )
    AngularJS + storeDB 也是可以玩一下的,好像解决了单页 APP 开发的问题,Grunt.js 和 Gulp.js 也是很厉害的生产力,一定会觉得有用
    ant_sz
    ant_sz
    Dec 19, 2014
    65
    楼主面临的选择其实是在 Python 和 **Ruby on Rails** 当中选择一个的问题。

    如果这样选的话,我觉得楼主可以先从 RoR 开始学,这个上手很快,还不需要什么 ruby 的背景。之后的话也建议接触一下 python 相关的东西。这些东西上手时间都很短,没有说学了一个就必须放弃另一个的。技多不压身。

    就我个人来讲,我是先学的 RoR,后来感觉 RoR 这个框架越来越臃肿,又不想跳 Sintra 之类的坑,最后换做了 Django。主要的考虑是 Sintra 或者 Flask 这样的轻框架开新项目的起步的慢一些,而 RoR 的性能,尤其是是开发的时候每次 rake 的速度确实有点捉急。目前又准备跳 Golang 的坑,原因是 Django 做 websocket 很不方便。

    如果楼主仅仅是想要为自己的 Android 应用写一个后台,尤其是那种服务端逻辑不怎么复杂的服务后台的话,建议直接用 parse.com 或者类似的服务好了。
    hging
    hging
    Dec 19, 2014
    66
    @nicai000 啧啧。 你这算是高级黑么? 黑Python么? 哈哈。 你可以说PHP大法好嘛。
    xpol
    xpol
    Dec 20, 2014 via iPad
    67
    ruby多自然的
    python好古板啊
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Dec 20, 2014
    68
    都学一下,你自有分辨!
    msg7086
    msg7086
    Dec 20, 2014 via iPhone
    69
    @ant_sz 最近刚刚从ror转到grape,前台用angularjs后台写api。个人觉得更轻量。
    skyxin888
    skyxin888
    OP
    Dec 20, 2014
    70
    @sammo 就是为了想和自己做的移动开发对接
    victor
    victor
    Dec 20, 2014
    71
    @devon 因为没看过任何一本 Python 的书,所以不知道是不是真的这样哦。年后打算买一本 Python 的看看。到底所谓的那些运维能不能用 Ruby 实现
    victor
    victor
    Dec 20, 2014
    72
    @skyxin888 如果只是为了和自己的应用对接,那我不建议你学习语言了。还是直接用 LeanCloud 之类的更好。学语言只是为了目的而服务啊。
    skyxin888
    skyxin888
    OP
    Dec 20, 2014
    73
    @victor 应该是顺便和自己的移动开发对接
    sammo
    sammo
    Dec 20, 2014❤️1
    74
    @skyxin888 以 API 为目的 google搜 数据库 SDK parse
    http://segmentfault.com/blog/mexiqq/1190000002220355
    mthli
    mthli
    Dec 20, 2014
    75
    要我选Go。
    sudoz
    sudoz
    Mar 14, 2015
    76
    @zhouquanbest 这个气质一说怎解?一吊丝一贵族?
    qw7692336
    qw7692336
    Aug 14, 2015
    77
    vtoexsir
    vtoexsir
    Jan 17, 2016
    78
    @zythum ok ,心理分析的不错!
    XinYu0617
    XinYu0617
    Jul 18, 2017
    79
    我感觉这能干一架...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1277 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 219ms · UTC 21:37 · PVG 05:37 · LAX 13:37 · JFK 16:37
    ♥ Do have faith in what you're doing.