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

nodejs 和 Python 你会选择哪一个

  •  
  •   jimisun · 2017-09-06 10:02:04 +08:00 · 18027 次点击
    这是一个创建于 2667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人在校生,在校一直学习 java,算起来有尽一年的时间了,框架也都学完了,准备大二开始就做项目,当然这个帖子是为我下半年问的,就业之前想简单学习下第二种 web 后端编程语言,后端语言我看了下也有很多种,因为不是当做主语言使用,所以就考虑了一下,nodejs 和 python 的发展潜力很大,那么?大佬们怎么看?

    47 条回复    2017-09-07 19:54:35 +08:00
    WildCat
        1
    WildCat  
       2017-09-06 10:04:04 +08:00 via iPhone
    都学也没啥问题,大二离毕业还早着呢。
    whypool
        2
    whypool  
       2017-09-06 10:06:04 +08:00
    不是 spring 大法好么;
    推荐 node,可以前端后端一起搞了,语法层面差异不大
    ericls
        3
    ericls  
       2017-09-06 10:10:09 +08:00 via iPhone
    都学! 两者有很大的不同 不用担心学重复了
    doubleflower
        4
    doubleflower  
       2017-09-06 10:13:19 +08:00
    node 潜力更大
    coderluan
        5
    coderluan  
       2017-09-06 10:20:22 +08:00
    我选 python 吧,毕竟抛开后端,python 还有很多用处,或者说其实我更想推荐 go...
    Weny
        6
    Weny  
       2017-09-06 10:22:01 +08:00 via iPhone
    python 因为后面还可以再搞搞 tensorflow 什么的
    gelilaohuang
        7
    gelilaohuang  
       2017-09-06 10:25:11 +08:00 via Android
    职业前端 ,也在这俩之间徘徊所以下班后都在学,你离毕业时间还长,一起学轻轻松松没问题。
    jimisun
        8
    jimisun  
    OP
       2017-09-06 10:28:42 +08:00 via Android
    @WildCat 我马上就要毕业了 大三就去实习了 大专 不过目前在自考升本
    @whypool 唉 真的 这一年我眼睛 5.1 变成近视 变成了近视 身体也不好了 感觉 java 真是无边的海洋 天花板太高了 我想只能时间熬了
    @ericls 如果时间足够的话 我会这么做的
    @doubleflower node 属于前段吗?我看很多前端工作者都在学?
    @coderluan google 的语言对吧?我想要一门自己简单就可以高速开发的 java 实在是太累了
    @Weny python 除了做后端?还应用在那些方面呢?
    voocel
        9
    voocel  
       2017-09-06 10:30:11 +08:00
    我选 python
    Weny
        10
    Weny  
       2017-09-06 10:36:05 +08:00 via iPhone
    @jimisun python 会上很多 ML DL 的包
    saran
        11
    saran  
       2017-09-06 10:39:05 +08:00
    这个看你的发展方向,展现向 node,服务向 python
    EricCartman
        12
    EricCartman  
       2017-09-06 10:43:16 +08:00
    都学
    SuperMild
        13
    SuperMild  
       2017-09-06 10:43:49 +08:00
    其实最省心的是 Ruby on Rails
    igaozp
        14
    igaozp  
       2017-09-06 10:52:10 +08:00 via Android
    两个又不冲突
    am241
        15
    am241  
       2017-09-06 10:55:40 +08:00 via Android
    python 各种包很多,写起来也快,是一把顺手的生活工具。学了 node.js 也不耽误了解了解 python,绝对对得起花的时间
    wellsc
        16
    wellsc  
       2017-09-06 11:09:22 +08:00
    都学
    itbeihe
        17
    itbeihe  
       2017-09-06 11:19:02 +08:00
    人生苦短,python 吧
    Takahashi
        18
    Takahashi  
       2017-09-06 11:20:48 +08:00
    人生苦短我选 python+go
    lamada
        19
    lamada  
       2017-09-06 12:11:03 +08:00
    +1 人生苦短我选 python+go
    notreami
        20
    notreami  
       2017-09-06 12:14:11 +08:00   ❤️ 2
    感觉回复都不注意审题,楼主才大二,才大二啊!!!这属于没有方向的瞎学和瞎建议!!!
    数据库设计、软件工程、计算机原理学了嘛??都不提算法和英语了。
    再说,不说兴趣爱好和未来发展方向就想学?就学时髦的玩意?
    cholerae
        21
    cholerae  
       2017-09-06 12:20:58 +08:00
    你做后端学这两个玩意,这是走上了邪路啊。

    C 和 Go 吧。C 要认真学,Go 等 C 和操作系统学好了之后再学,不然容易走上邪路,我见过好多人连并行并发都搞不清楚就跑出来说 Go 多么多么牛逼一统天下的,无力吐槽。
    blahgeek
        22
    blahgeek  
       2017-09-06 12:46:04 +08:00
    Java 框架也都学完了…框架都学完了…学完了…
    chenqh
        23
    chenqh  
       2017-09-06 12:57:14 +08:00 via iPhone
    web nodejs,ml python
    baozijun
        24
    baozijun  
       2017-09-06 13:06:46 +08:00
    @blahgeek 看到这个,我也不知道要说什么了
    sudoz
        25
    sudoz  
       2017-09-06 13:12:06 +08:00
    劝学 Java
    a554340466
        26
    a554340466  
       2017-09-06 13:26:18 +08:00 via iPhone
    golang 吧
    jimisun
        27
    jimisun  
    OP
       2017-09-06 13:31:44 +08:00 via Android
    @SuperMild 此话怎讲?
    @am241 好的好的
    @Takahashi 两种语言吗?
    @notreami 你好,wwb 开发方向我是很感兴趣的,您说的这几个课程,我都在同时在看的,算法和英语也是,不好意思,没有说明白。
    @cholerae 我比较喜欢 web 程序开发,就像我现在对 javaweb 很感兴趣,go 适合 web 开发吗?
    @blahgeek 不好意思,只是把五个框架过了一遍,只是学完,我没有说掌握,今年会一直做实战的,多谢关心。
    @baozijun 不好意思
    @sudoz 会的,我感觉 java 需要时间的沉淀,也不知道对不服
    @saran 个人喜欢 web 开发呢?那改如何抉择呢?
    hollegentoo
        28
    hollegentoo  
       2017-09-06 13:33:49 +08:00
    脑子没毛病的肯定选:Python
    whosesmile
        29
    whosesmile  
       2017-09-06 14:09:05 +08:00
    如果你打算坚持做后台,就选 python ;如果你还不知道自己的未来,可以都学;如果精力有限,又想尝试动态语言,建议 NODE,因为比 Python 更多可能。

    我两个都会,但是 Python 忘得差不多了,本职工作前端...
    flowerains
        30
    flowerains  
       2017-09-06 14:48:43 +08:00
    python 值得学习。
    nodejs 如果你不搞前端,纯粹写 nodejs,感觉不太好
    dsg002
        31
    dsg002  
       2017-09-06 14:59:31 +08:00
    nodejs,怎么说呢,如果需要异步的时候,你会发现 nodejs 的异步很爽,然而,后台大部分业务是不需要异步的,然后就会发现 nodejs 的异步很坑爹,为了填这个坑要踩很多坑
    saran
        32
    saran  
       2017-09-06 15:36:02 +08:00
    @jimisun node 咯~
    jimisun
        33
    jimisun  
    OP
       2017-09-06 16:05:19 +08:00 via Android
    @hollegentoo
    @whosesmile 好的 谢谢
    TangMonk
        34
    TangMonk  
       2017-09-06 16:29:24 +08:00
    选 golang 啊
    jiakme
        35
    jiakme  
       2017-09-06 16:49:32 +08:00
    鼓励学 java + go.
    smgui
        36
    smgui  
       2017-09-06 17:26:21 +08:00
    node , go , py 都适合做 Web 开发,选一个自己喜欢的语言就好了
    fox0001
        37
    fox0001  
       2017-09-06 19:34:35 +08:00
    如果涉及 Linux 的,建议 Python ~可以很方便管理系统
    dialox
        38
    dialox  
       2017-09-06 20:16:13 +08:00 via Android
    反码、补码都搞明白了吗?
    jimisun
        39
    jimisun  
    OP
       2017-09-06 21:31:11 +08:00 via Android
    @jiakme 能说一下吗?
    @dialox 不好意思 不明白
    @smgui 好的 这也是我发这个主题的目的
    @TangMonk 为什么呢?我先去了解一下
    solidsnake
        40
    solidsnake  
       2017-09-06 22:14:54 +08:00 via iPhone
    Java?
    TangMonk
        41
    TangMonk  
       2017-09-06 22:16:09 +08:00 via Android
    我建议都学吧,反正你还早
    jimisun
        42
    jimisun  
    OP
       2017-09-06 22:58:35 +08:00 via Android
    @solidsnake 嗯 对 我一直在学 java
    jiakme
        43
    jiakme  
       2017-09-07 11:01:16 +08:00
    你问的是 web,那么语言本来就不多.首先, java 作为当前最流行的语言之一,应用广泛,性能优秀,基础设施完备,鼓励优先学习,只要学会它,其他语言不学都可以!Go lang 在并发场景下,非常优秀,可以作为研究用,我看好它,所以推荐你学习.Node.js 有自身优势(具体百度,如果你想要靠近前端,这个必须学,优先级在 java 之前;如果是后端,那么首推 java),但是也有劣势,那就是现在变化太快,东西太多,同时稳定方案少,可以作为 java 之外的备选方案.Python 在 web 上并没有 java node.js 强势,需要靠后,它也非常有特点,用来作为脚本语言,研究算法啊,安全啊,很好.
    jiakme
        44
    jiakme  
       2017-09-07 11:12:37 +08:00
    接上条....个人觉得 c 语言你必须会.那么接下来谈谈 java . java 在 web 场景下,大数据,高并发,消息通信,检索,手机端等等大多数都有 多套 优秀的 开源 方案,同时性能优秀,(团队)开发效率不差,我觉得你大学摸完这门语言相关的 web 块,成就就很高了.后端的东西很多并不在语言本身,而在数据结构,算法等这些通用东西.至于其他强类型语言,如 c++, go lang,只要你想学,回过头去看,你会发现不难,更加不用说 node.js,python 等弱类型语言!如果你想学着玩玩,推荐 go lang node.js , 它们相对于 Python 更加有优势.
    jimisun
        45
    jimisun  
    OP
       2017-09-07 12:47:28 +08:00 via Android
    @jiakme 首先非常感谢你能回复的这么详细,非常感谢,其实我作为一个初学者来说,这些我对于您讲的这些都是迷茫的,关于 c 语言的问题我想我暂时应该是不会去学习的,时间非常有限,属于就业驱动。再者您提到的数据结构,算法等内功我深知它们的重要性,只不过基础很是薄弱,算法几乎一无所知,我在 javaweb 上的使用上自己摸索了很长一段时间,才勉强吧 javaweb 方面的知识看完(仅仅看完),我一直在利用空闲时间学习数据结构和算法。再者由于我对这个行业的就业方向不清楚所以目前仅仅对 web 程序开发感兴趣。由于是就业驱动,目前感觉 java 天花板有点高,所以打算明年上半年抽空学习第二语言增加竞争力。目前对于第二语言的要求不高,能够快速开发 web 应用。以弥补 java 多人协作,开发慢的短板。您认为是 go 能达到这个要求吗?目前我心里感觉是 python,毕竟 python 可以应用于爬虫,当工作稳定后我去探索 go 或者 c 你认为这样合适吗?
    jiakme
        46
    jiakme  
       2017-09-07 16:06:02 +08:00
    我觉得你有自己的想法是一件非常好的事情,但我依旧推荐你一定要学习 C 而且是首先学 C.为什么?因为 c 性能好,面向函数,贴近底层,易学,同时在 c 的基础上,学习 java ,c++等语言时更顺.Java 是个人开发慢,但多人协作时,速度快,同时可维护性好,这不是它的劣势!爬虫这种,初步非常非常简单,对入门者来讲,用 python,java,node 等差别都不大,还不如做商城项目来的好.如果你面向就业,就更加不推荐你学 python 了, Node.js 更加好.你可以关注一下多少公司用 python 的(直接招聘市场上看就好了),同时多少用 java, Node.js 的.而且你才大二,时间有限?????就业竞争力这种东西,并不是说你多会几门语言就能突显的.切记来的广,还不如来的深.多去检索一下 web 的技术栈,web 技术专家,高级 web 人才招聘要求,你就清楚了.
    jimisun
        47
    jimisun  
    OP
       2017-09-07 19:54:35 +08:00 via Android
    @jiakme 是的,您说的非常正确,我一直在按照关注招聘网站上的公司需求来更新我的知识,同时我也会尽快将 c 的学习提上日程,当然也会重新考虑 nodejs,我会努力提升 java 的深度,当然 java 也会是我的主修语言,另外非常感谢您的耐心回复能给予我莫大的帮助。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2637 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:29 · PVG 23:29 · LAX 07:29 · JFK 10:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.