V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
likaci
V2EX  ›  问与答

想学一门后端语言, Python Node.js?

  •  
  •   likaci · 2014-04-28 14:59:59 +08:00 · 10966 次点击
    这是一个创建于 3866 天前的主题,其中的信息可能已经有所发展或是发生改变。
    C# PHP都是入门的水平, python 和 js也是刚学了个语法…
    目前在做Android, 因为方向的原因估计以后脱离不了windows.
    周围全是做.net的, 感觉不幸福, 想业余时间学门后端语言。

    所以问题是:
    1. win环境下,做日常脚本用的话,哪个更方便?
    2. 学node.js话是不是前端的js也算是一起学了?

    回复都有赞,谢谢指点。
    37 条回复    2015-04-18 18:30:37 +08:00
    saharabear
        1
    saharabear  
       2014-04-28 15:26:04 +08:00   ❤️ 1
    Python。不用多想。
    leebo
        2
    leebo  
       2014-04-28 15:27:53 +08:00   ❤️ 1
    Node.js 平滑过渡
    leebo
        3
    leebo  
       2014-04-28 15:28:11 +08:00   ❤️ 1
    其实ruby也很不错
    likaci
        4
    likaci  
    OP
       2014-04-28 15:40:31 +08:00
    @saharabear 为啥python?
    @leebo 不要这样嘛…又多了个选择,怎么办…
    clino
        5
    clino  
       2014-04-28 15:49:40 +08:00   ❤️ 1
    1. 明显是python吧,有用javascript来写日常脚本工具的吗?
    ---------
    附上对于uliweb的例行推荐:
    用python,比其他语言相对容易,推荐uliweb这个框架
    文档: http://limodou.github.io/uliweb-doc/
    邮件列表: http://groups.google.com/group/uliweb
    QQ讨论组: 162487035

    有一些针对初学者的教程,QQ群里也有不少初学者在讨论,在邮件列表和QQ群中都可以和作者讨论问题
    blacktulip
        6
    blacktulip  
       2014-04-28 15:53:39 +08:00 via iPhone   ❤️ 1
    写脚本 py js 二选一 当然是 py . 但是还是建议你学 js 。因为 js 没有别的语言可以代替,而且前后通杀,而且性能更高。
    saharabear
        7
    saharabear  
       2014-04-28 16:05:25 +08:00   ❤️ 1
    @likaci 没有为啥,因为你要的是后端“什么都能做”的语言,特别是还要做日常脚本,当然是python.
    Free_Thinking
        9
    Free_Thinking  
       2014-04-28 16:27:54 +08:00   ❤️ 1
    ayang23
        10
    ayang23  
       2014-04-28 16:29:58 +08:00   ❤️ 1
    建议windows下学一下powershell脚本,本平台的基本工具还是熟悉一下好。
    loading
        11
    loading  
       2014-04-28 16:35:22 +08:00 via Android   ❤️ 1
    python
    likaci
        12
    likaci  
    OP
       2014-04-28 16:37:28 +08:00
    @ayang23 谢谢指点, 之前学过Autohotkey作为启蒙语言,热键 文本处理 com操作 都很方便。但是感觉web上有些欠缺,也没用合适的ide。
    所以决定学一门现代一些的、偏向网络的,毕竟java太重,.net太繁琐。
    blacktulip
        13
    blacktulip  
       2014-04-28 16:40:12 +08:00   ❤️ 1
    @likaci py 是万金油式语言,除了前端什么都能干干,也比 js 好学一些,如果这是你的需求就学吧。
    sharkli
        14
    sharkli  
       2014-04-28 16:54:27 +08:00   ❤️ 1
    PHP吧,部署起来很容易。等PHP可以搞定自己的需求的时候再去学习Python啥的。
    YouXia
        15
    YouXia  
       2014-04-28 17:08:15 +08:00   ❤️ 1
    随便都可以,Node.JS最近比较火。
    anheiyouxia
        16
    anheiyouxia  
       2014-04-28 17:19:05 +08:00 via Android   ❤️ 1
    啧啧,你们啊,人家问了个二选一的问题,你们还抛了其他选择来干扰撸主
    rebornix
        17
    rebornix  
       2014-04-28 17:19:29 +08:00   ❤️ 1
    我理解下你指的后端是:开发website的语言,这样你就不用写可恶的ASP.NET啦,是这个意思不。

    我建议python。一方面它是一个脚本语言,有时候更愿意写py脚本而不是powershell(当然powershell无比强大);另一方面py写website框架都蛮成熟的。

    更何况,你可以在Visual Studio里用IronPython不是,用VS开发Django很爽
    ChiangDi
        18
    ChiangDi  
       2014-04-28 18:13:56 +08:00   ❤️ 1
    Ruby
    zjuster
        19
    zjuster  
       2014-04-28 18:35:42 +08:00   ❤️ 1
    知乎上有一个类似的问题,那个是三选一,第一是Ruby,第二是Python。不过我看到很多资料都将Python作为学习编程的入门语言,容易找到应用场景,上手非常合适。
    sethverlo
        20
    sethverlo  
       2014-04-28 18:40:09 +08:00   ❤️ 1
    我曾经特别喜欢 Python,直到后来遇到了 Ruby (on Rails).

    现在发现 Ruby 不太好找工作…XDDDDD
    Muninn
        21
    Muninn  
       2014-04-28 18:49:44 +08:00   ❤️ 1
    Python
    dempire
        22
    dempire  
       2014-04-28 20:31:38 +08:00   ❤️ 1
    要想有钱途,就php java c# 都可以 python ruby node.js这些工作机会较少
    dalang
        23
    dalang  
       2014-04-28 22:49:30 +08:00   ❤️ 1
    问题一:日常脚本肯定是python
    问题二:我觉得不是。nodejs跟js的关系有点类似于rails跟ruby的关系。node本身是一种设计哲学,只是Ryan Dahl对比了各种语言之后,最后选择js。如果你是前端开发者,node能为你切入后端编程的提供便利。但是纯后端的工程师想通过nodejs学习前端开发还是有点困难,毕竟前后端工作模式差别很大。

    另外,我觉得Ruby和Python在语言上是可以互相代替的(可以二选一)。nodejs设计之初就是针对高并发的网络应用,应用场景还是很不同的。现在node火成这样,不去了解一下真的有点可惜。
    Comdex
        24
    Comdex  
       2014-04-28 23:17:50 +08:00   ❤️ 1
    golang
    missdeer
        25
    missdeer  
       2014-04-29 08:41:47 +08:00   ❤️ 1
    不考虑GUI的话,Golang推荐
    2ex
        26
    2ex  
       2014-04-29 09:19:24 +08:00   ❤️ 1
    nodejs吧,想想从浏览器一路杀到服务器后台的通透感吧!
    zythum
        27
    zythum  
       2014-04-29 10:12:55 +08:00   ❤️ 1
    作为一个前端工程师。还是推荐你用ruby吧...

    感觉。ruby对初学者最友好。语法糖最丰富。
    ianva
        28
    ianva  
       2014-04-29 14:08:36 +08:00   ❤️ 1
    作为一个前端工程师。还是推荐你用ruby吧...
    js 不适合作为第一个专精的语言
    click
        29
    click  
       2014-04-29 15:13:32 +08:00   ❤️ 1
    @clino uliweb自带后台吗?
    clino
        30
    clino  
       2014-04-29 17:15:50 +08:00   ❤️ 1
    @click 不明白你说的自带后台指的是什么?
    uliweb这个框架最大的特点是"可重用性,可配 置性和可替换性",具体看 http://limodou.github.io/uliweb-doc/zh_CN/introduction.html

    uliweb 本身预置了一系列的基本的app,如(auth,mail,rbac,i18n等等): https://github.com/limodou/uliweb/tree/master/uliweb/contrib
    还有另外一个plugs项目,是一个较上层的uliweb app的集合:
    https://github.com/limodou/plugs/tree/master/plugs

    你看一下你说的后台是不是里面就有了?
    click
        31
    click  
       2014-04-29 21:29:00 +08:00   ❤️ 1
    @clino 我说的后台就是像Django的Admin管理后台
    clino
        32
    clino  
       2014-04-29 22:18:42 +08:00   ❤️ 1
    @click django 我没用过,不过目测差不多的功能都在上面我提到的这两个app集合里能找得到,uliweb 比较妙的就是可以根据你的需要来拼装和改写已有的这些app
    click
        33
    click  
       2014-04-29 22:48:41 +08:00   ❤️ 1
    @clino 做网站不是都得有个管理后台么,django自己带有一个,不用自己搭建
    clino
        34
    clino  
       2014-04-30 09:39:14 +08:00
    @click 虽然没用过django的管理后台,但是之前就听说过,这个是django的特点,不过以前记得听过别人抱怨过这个admin,可能是自己定制需求比较多的情况下反而比较麻烦,而可定制性则是uliweb的强项
    click
        35
    click  
       2014-04-30 10:48:44 +08:00
    @clino 是的。谢谢!
    wizardforcel
        36
    wizardforcel  
       2015-01-28 21:58:18 +08:00
    py和js都是脚本语言,写shell和后端方面可以相互替代。
    py写后端要依赖dj,js要依赖ejs。
    总之我的建议是,看着花括号顺眼就用js,不顺眼就用py。XDD
    qsmoon
        37
    qsmoon  
       2015-04-18 18:30:37 +08:00 via iPhone
    都学下也是一种选择
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3155 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:16 · PVG 21:16 · LAX 05:16 · JFK 08:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.