Android 想学一些后台的东西 是选 Python 还是 ruby - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skyxin888
V2EX    问与答

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

  •  
  •   skyxin888 2014-12-19 10:09:06 +08:00 12228 次点击
    这是一个创建于 3963 天前的主题,其中的信息可能已经有所发展或是发生改变。
    79 条回复    2017-07-18 21:24:16 +08:00
    victor
        1
    victor  
       2014-12-19 10:11:09 +08:00   1
    我是用 Ruby,因为只会这个。但是从 V2EX 上的工作机会和过去1年计算机出版图书的列表中可以看到:Python 已经甩了 Ruby 几条街。
    hging
        2
    hging  
       2014-12-19 10:12:18 +08:00
    用java啊. 哈哈哈哈哈
    开玩笑的. 我用Ruby的. 也只会这个. 楼上握手.
    serco
        3
    serco  
       2014-12-19 10:13:51 +08:00
    对比着做个demo,最后你就还是会进入Ruby坑的
    rails3
        4
    rails3  
       2014-12-19 10:18:57 +08:00
    ruby 握握握手
    skyxin888
        5
    skyxin888  
    OP
       2014-12-19 10:19:36 +08:00
    @victor 从java切换过去有难度吗 还有node.js 怎么样
    xinple
        6
    xinple  
       2014-12-19 10:20:22 +08:00   3
    python
    nodejs
    lululau
        7
    lululau  
       2014-12-19 10:26:19 +08:00
    分别用一周时间都简单了解一下。我都了解过,我选 Ruby。
    patosky
        8
    patosky  
       2014-12-19 10:27:21 +08:00
    imn1
        9
    imn1  
       2014-12-19 10:27:42 +08:00
    linux 默认就有python
    victor
        10
    victor  
       2014-12-19 10:29:13 +08:00
    @skyxin888 要看你对 Java 的理解怎么样或者换句话说,你编程的基本功怎么样。对于面向对象的程序设计的掌握程度,比如封装,继承,多态,鸭子类型这些。如果这些基本功熟悉了,你换一个语言的成本还是挺低的,先熟悉一下基本语法再看点元编程的小技巧和花招。

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

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

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

    单论语言本身的对比 http://www.zhihu.com/question/19552194/answer/35281362
    TangMonk
        20
    TangMonk  
       2014-12-19 10:54:16 +08:00
    果断ruby
    oott123
        21
    oott123  
       2014-12-19 10:54:48 +08:00
    我也犹豫过……

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

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

    简言之:ruby在语言中寻找乐趣,python在项目中寻找乐趣。
    E2gCaBAT5I87sw1M
        23
    E2gCaBAT5I87sw1M  
       2014-12-19 11:00:26 +08:00
    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
        24
    xwsoul  
       2014-12-19 11:27:30 +08:00
    PHP是最好的语言
    redguy6
        25
    redguy6  
       2014-12-19 11:30:13 +08:00
    Python. 直接学Python2. 别问为什么.
    invite
        26
    invite  
       2014-12-19 11:32:45 +08:00   1
    @xwsoul 以前也这么觉得,现在发现,Python好像更合适。
    xuwenmang
        27
    xuwenmang  
       2014-12-19 11:33:56 +08:00
    @redguy6 为什么?
    phun
        28
    phun  
       2014-12-19 11:37:56 +08:00
    两个都学呗,Python像是C++的动态化,完成一个功能方法单一,目的性很强;Ruby很灵活了,完成一个功能有多种方法,而且很有意思。

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

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

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

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

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

    到底是学py2哪还是学py3哪
    robertlyc
        51
    robertlyc  
       2014-12-19 17:02:18 +08:00
    说linux默认有python

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

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

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

    对应make的rake
    中间层rack

    api 服务更是有grape, Goliath

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

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

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

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

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

    php才能世界上最好的语言!!
    robertlyc
        59
    robertlyc  
       2014-12-19 18:20:01 +08:00
    @devon 黑的好

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

    书出多 是好事?

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

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

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

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

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

    如果楼主仅仅是想要为自己的 Android 应用写一个后台,尤其是那种服务端逻辑不怎么复杂的服务后台的话,建议直接用 parse.com 或者类似的服务好了。
    hging
        66
    hging  
       2014-12-19 23:45:30 +08:00
    @nicai000 啧啧。 你这算是高级黑么? 黑Python么? 哈哈。 你可以说PHP大法好嘛。
    xpol
        67
    xpol  
       2014-12-20 01:05:34 +08:00 via iPad
    ruby多自然的
    python好古板啊
    R4rvZ6agNVWr56V0
        68
    R4rvZ6agNVWr56V0  
       2014-12-20 01:10:39 +08:00
    都学一下,你自有分辨!
    msg7086
        69
    msg7086  
       2014-12-20 11:02:17 +08:00 via iPhone
    @ant_sz 最近刚刚从ror转到grape,前台用angularjs后台写api。个人觉得更轻量。
    skyxin888
        70
    skyxin888  
    OP
       2014-12-20 11:10:56 +08:00
    @sammo 就是为了想和自己做的移动开发对接
    victor
        71
    victor  
       2014-12-20 11:16:54 +08:00
    @devon 因为没看过任何一本 Python 的书,所以不知道是不是真的这样哦。年后打算买一本 Python 的看看。到底所谓的那些运维能不能用 Ruby 实现
    victor
        72
    victor  
       2014-12-20 11:17:30 +08:00
    @skyxin888 如果只是为了和自己的应用对接,那我不建议你学习语言了。还是直接用 LeanCloud 之类的更好。学语言只是为了目的而服务啊。
    skyxin888
        73
    skyxin888  
    OP
       2014-12-20 11:23:40 +08:00
    @victor 应该是顺便和自己的移动开发对接
    sammo
        74
    sammo  
       2014-12-20 12:30:50 +08:00   1
    @skyxin888 以 API 为目的 google搜 数据库 SDK parse
    http://segmentfault.com/blog/mexiqq/1190000002220355
    mthli
        75
    mthli  
       2014-12-20 19:15:14 +08:00
    要我选Go。
    sudoz
        76
    sudoz  
       2015-03-14 16:22:19 +08:00
    @zhouquanbest 这个气质一说怎解?一吊丝一贵族?
    qw7692336
        77
    qw7692336  
       2015-08-14 11:34:20 +08:00
    vtoexsir
        78
    vtoexsir  
       2016-01-17 11:38:44 +08:00
    @zythum ok ,心理分析的不错!
    XinYu0617
        79
    XinYu0617  
       2017-07-18 21:24:16 +08:00
    我感觉这能干一架...
    关于     帮助文档     自助推广系统     博客 &nbs;   API     FAQ     Solana     2592 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 13:42 PVG 21:42 LAX 06:42 JFK 09:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86