se77en
V2EX  ›  Node.js

TJ 大大宣布退出 node.js 开发,转向 go,原因是弱爆了的并发和分布式

  •  3
     
  •   se77en · Jul 4, 2014 · 38391 views
    This topic created in 4508 days ago, the information mentioned may be changed or developed.
    86 replies  •  2015-01-11 23:59:51 +08:00
    atcuan
    atcuan
    Jul 4, 2014
    1
    看样子要好好学习go了
    loading
    loading
    Jul 4, 2014 via Android
    2
    node 昙花一现?
    coolicer
    coolicer
    Jul 4, 2014
    3
    I still plan on using Node for web sites
    Koa is the one project I’ll continue to maintain

    说明做网页还行 :)
    ine181x
    ine181x
    Jul 4, 2014❤️1
    4
    我不习惯GO没有包的版本控制
    est
    est
    Jul 4, 2014
    6
    nodejs 兴起在v8,挂就挂在callback上。。。python也正在朝这个坑走!
    zhujinliang
    zhujinliang
    Jul 4, 2014
    7
    node搞傻快型的应用还是挺方便的
    Daizong
    Daizong
    Jul 4, 2014
    8
    做web开发没有问题,这也是node的优势场景,做别的就勉为其难了
    canesten
    canesten
    Jul 4, 2014 via Android
    9
    @est
    JS是有办法在语言层面做CPS消除callback的
    Daizong
    Daizong
    Jul 4, 2014
    10
    TJ用go也不是开发http应用,是做分布式系统开发,这个场景用node.js这不蛋疼吗
    Daizong
    Daizong
    Jul 4, 2014
    11
    @canesten cps就是使用callback,怎么消除?
    zeinimei
    zeinimei
    Jul 4, 2014
    13
    go 和 node.js哪个做聊天室功能好?
    se77en
    se77en
    OP
    Jul 4, 2014
    14
    @Daizong go 开发 web 应用也比 node.js 强,已经内置了网络库不说,还把 rpc 都实现了
    TangMonk
    TangMonk
    Jul 4, 2014
    15
    最近正在准备用 nodejs,受到打击了。。
    chloerei
    chloerei
    Jul 4, 2014
    16
    哭晕在马桶边。
    leecade
    leecade
    Jul 4, 2014
    17
    大势已去, node 的天空一片灰暗

    不要怪 callback 了, 不都有 co 了吗, 主要是 go 太强了, 谁能组织发起一次 go 的抵制运动吗??
    civet
    civet
    Jul 4, 2014
    18
    @missdeer 看不出笑点……
    canesten
    canesten
    Jul 4, 2014
    19
    @Daizong
    骚瑞,我想说的是CPS变换
    chemzqm
    chemzqm
    Jul 4, 2014
    20
    GO的并发处理,错误处理,工具调试,代码可读性都比JS要好一些,而node官方为了兼容老版本,早已经明确表示不会修复之前严重的设计缺陷。

    没有人愿意把过多时间浪费在该死的回调错误上面。
    est
    est
    Jul 4, 2014
    21
    @canesten 理论是这样。。。实际就是没人做出来。。。。那个coroutine也比较丑,而且tj也说只能解决一半的问题。。
    tokki
    tokki
    Jul 4, 2014
    22
    几周前就发现他一直在研究go的东西
    canesten
    canesten
    Jul 4, 2014
    23
    @est
    老赵很早就做了一个Jscex
    类似的,做的比Jscex好的还有很多
    只是都没进入NodeJS的官方标准
    所以TJ的主要问题不在这个Callback
    比如他提到的
    refactoring with types is pleasant and simple, the tooling Go provides for profiling and debugging is great
    Go是静态的,这方面优势大的多
    ine181x
    ine181x
    Jul 4, 2014❤️1
    24
    最近在看Elixir ,感觉也可以一试
    akfish
    akfish
    Jul 4, 2014 via iPad
    25
    其实进来就是为了看看有多少人无脑跟风唱衰node。
    知道有坑绕过去,觉得不适用就换别的,多简单的道理。
    No silver bullet.

    个人痛恨callback,但转念一想,node用了js这种入门门槛低的语言,callback的坑恰好能过滤掉一堆低质量开发者。
    jemygraw
    jemygraw
    Jul 4, 2014
    26
    欢迎访问 http://golanghome.com ,备注:此为广告。
    lemonlwz
    lemonlwz
    Jul 4, 2014
    27
    该怎样还是怎样... go 与不 go 都无所谓.
    est
    est
    Jul 4, 2014
    28
    @canesten 哎呀老赵的wind.js看来真是神器。
    chrishine
    chrishine
    Jul 4, 2014
    29
    dropbox也把后台性能要求高的部分用go重写了.
    https://tech.dropbox.com/2014/07/open-sourcing-our-go-libraries/
    一直觉得语言不需要会太多,会C++,go,lua就可以了.
    se77en
    se77en
    OP
    Jul 4, 2014
    30
    @est 用了类似 monad 的特性,有关 js 的 monad 可以看老道的视频
    WildCat
    WildCat
    Jul 4, 2014 via iPhone
    31
    @chloerei 哭晕在厕所!
    S1ahs3r
    S1ahs3r
    Jul 4, 2014❤️2
    32
    已入scala坑,从此远离纷争,专注逼格
    wb13
    wb13
    Jul 4, 2014
    33
    @S1ahs3r 就是。随便拿个Akka来震慑你们。。。
    sanddudu
    sanddudu
    Jul 4, 2014
    34
    @chloerei 我去天台l
    ShunYea
    ShunYea
    Jul 4, 2014 via Android
    35
    那研究go看看
    se77en
    se77en
    OP
    Jul 4, 2014
    36
    @wb13 说白了不就是 Actor 吗,还是管 Erlang 学的,三种并发模型 CSP,STM,Actor 各有千秋而已
    tabris17
    tabris17
    Jul 4, 2014
    37
    @est 用Jscex不行么
    srdrm
    srdrm
    Jul 4, 2014
    38
    看好go, node在go 面前,真的。。。。
    srdrm
    srdrm
    Jul 4, 2014
    39
    @ine181x 除了这个还能找出多少麻烦的吗?可是其他语言一数一大堆呀
    wb13
    wb13
    Jul 4, 2014
    40
    @se77en 嗯。这年头,比得是干爹。。。
    shangjiyu
    shangjiyu
    Jul 4, 2014
    41
    刚想捡起nodejs 颇受打击。。。
    tabris17
    tabris17
    Jul 4, 2014
    42
    个人理解Node.js根本没有并发吧,只是分成I/O和Work两个线程而已
    anewg
    anewg
    Jul 4, 2014
    43
    语言学家真的好多。跟着新闻里各大神大公司的唱衰喝彩,在“哎呀不学了,这东西没前途”与“大神都专注研究它,肯定是看好它,赶紧跟进“之间无缝频繁切换。。。
    MaiCong
    MaiCong
    Jul 4, 2014
    44
    艹 哭晕在测试
    KennyZJ
    KennyZJ
    Jul 4, 2014
    45
    好多玻璃心
    给个有趣的统计 https://github.com/substack/npmtop
    zeinimei
    zeinimei
    Jul 4, 2014
    46
    我刚买node.js的书你跟我说这个?
    skybr
    skybr
    Jul 4, 2014
    47
    疲软在回调上倒罢了, 但是Go在分布式方面也没有类似erlang和scala akka这些成熟的解决方案啊
    cookiebody
    cookiebody
    Jul 4, 2014
    49
    Go社区有福了,因他们得了一位最好的程序员。
    est
    est
    Jul 4, 2014
    50
    学NodeJS的不要哭!你们有机会1折甚至更低价收购一大批NodeJS书籍。
    TangMonk
    TangMonk
    Jul 4, 2014
    52
    TJ 为何还是 Drupal 的contributions
    https://www.drupal.org/user/78427
    est
    est
    Jul 4, 2014
    53
    @TangMonk 传说TJ是个笔名。。根本就不是一个人。
    cnbuff410
    cnbuff410
    Jul 4, 2014
    54
    @est lol,那写这篇文章的是这个团队还是其中一个人呢?
    zaishanfeng2014
    zaishanfeng2014
    Jul 4, 2014
    55
    语言党可以休已,累不累啊你们
    ohsc
    ohsc
    Jul 4, 2014❤️3
    56
    语言党真肤浅
    zhangxiao
    zhangxiao
    Jul 4, 2014
    57
    @S1ahs3r 哈哈!
    timonwong
    timonwong
    Jul 4, 2014
    58
    文章里面好多感叹号
    dogfeet
    dogfeet
    Jul 4, 2014
    59
    @akfish 赞同你的观点。
    NaN undefined null 什么 a = 0/0 a==a a!=a a===a之类的东西和JS史上最强的隐式类型转换规则,正好把我这种初学者完美的挡在了外面。
    hooluupog
    hooluupog
    Jul 4, 2014❤️1
    60
    还有这个:
    0 > null
    false
    0 >= null
    true
    0 == null
    false
    0 <= null
    true
    0 < null
    false
    [1] == [1]
    false
    [1] < [2]
    true
    [] + []
    ""
    [] + []*3
    "0"
    Livid
    Livid
    MOD
    PRO
    Jul 4, 2014
    61
    Node 核心团队的 TJ 是这位吧:

    https://github.com/tjfontaine
    akfish
    akfish
    Jul 4, 2014
    62
    @dogfeet 所以我能用Coffee就用Coffee,虽然只是用语法糖解决了问题,但的确省了不少事。
    有说法就是JS是Web界的汇编语言,直接用JS找虐,不如用编译到JS的语言。
    darkcat
    darkcat
    Jul 4, 2014
    63
    少了一个这样的人也无关紧要吧?
    cnbuff410
    cnbuff410
    Jul 4, 2014
    64
    @Livid 看Node社区的说法,这里的TJ是Node ecosystem的核心,不是Node团队的核心
    Livid
    Livid
    MOD
    PRO
    Jul 4, 2014
    65
    @cnbuff410

    这两个人的名字缩写里都有 TJ,我说到 TJ 是这位:

    https://github.com/tjfontaine

    而发博客是这位:

    https://github.com/visionmedia

    你们可以看一下他们页面右上角的 Repositories contributed to
    cnbuff410
    cnbuff410
    Jul 4, 2014
    66
    @Livid 对,我就是说发博客这位是NodeJs ecosystem的最大贡献者。你说的那位是Node这个框架的贡献者。是不一样的。但很明显发博客这位的影响力要大得多
    hui
    hui
    Jul 4, 2014
    67
    @Livid https://nodejsmodules.org 第一页出现次数最多的那个少年离开了
    jakwings
    jakwings
    Jul 4, 2014
    68
    菜鸟表示,是时候再次向大牛看齐了……
    old9
    old9
    Jul 4, 2014
    69
    玩腻了换个新玩具玩而已嘛,没玩腻的继续玩好了,用不着上纲上线的。
    yakczh
    yakczh
    Jul 4, 2014
    70
    标题严重误导,没说并发和分布式弱爆,是说错误处理和callback nodejs的并发还是杠杠的 而且更多的是说兴趣转移了
    ianva
    ianva
    Jul 4, 2014
    71
    TJ 一个人贡献了整个 node.js 社区 0.6% 的项目 https://github.com/substack/npmtop

    rank percent packages author
    ---- ------- -------- ------
    1 0.60 % 548 tjholowaychuk
    2 0.44 % 401 substack
    3 0.41 % 379 jongleberry
    4 0.40 % 367 dominictarr
    5 0.37 % 341 jonschlinkert
    6 0.37 % 337 sindresorhus
    7 0.36 % 331 juliangruber
    8 0.34 % 317 mikolalysenko
    9 0.31 % 289 raynos
    10 0.28 % 260 mathias
    11 0.28 % 257 hughsk
    12 0.28 % 255 forbeslindesay
    13 0.26 % 239 tootallnate
    14 0.23 % 216 clewfirst
    15 0.23 % 208 azer
    clowwindy
    clowwindy
    Jul 5, 2014
    72
    nodejs 的错误处理是个大坑啊。
    pagecho
    pagecho
    Jul 5, 2014
    73
    为何有种幸灾乐祸感 。。。
    把 NodeJS 捧上天的人,真是打了一脸。
    Aether
    Aether
    Jul 5, 2014
    74
    @pagecho 因为大众习惯于兴起就追捧,衰落就踩脚。
    ChiangDi
    ChiangDi
    Jul 5, 2014 via Android
    75
    所以说不要太盲目追求技术潮流,像 Ruby 和Python都是90年代就出来的了
    clowwindy
    clowwindy
    Jul 5, 2014❤️2
    76
    具体问题具体分析啊。TJ 说的问题无非就是下面这几个,可惜 node.js 社区对这些问题不重视,优先级很低:

    unhandled error 难以排查,错误信息难以理解,如
    https://github.com/joyent/node/issues/7005
    https://github.com/joyent/node/issues/7804


    callback 处理没规范,没文档,不统一,如
    https://github.com/joyent/node/pull/6351


    error callback 混乱,有 bug,不统一,如
    https://github.com/joyent/node/issues/4574
    https://github.com/joyent/node/issues/5729
    https://github.com/joyent/node/pull/7732

    如果你一直看 issues,你会发现 error callback 问题没完没了。这是 node.js 一开始就引入的设计缺陷,导致 error handling 方式碎片化了。在大的项目里,这个问题会非常棘手
    clino
    clino
    Jul 5, 2014 via Android❤️2
    77
    @est "python也正在朝这个坑走!" 哪有啊? 像gevent这类coroutine的应该基本不用callback吧
    iwege
    iwege
    Jul 5, 2014
    78
    @clowwindy TJ说的都是调试的问题。而且他的库都是他自己写的。callback的确是一个很恶心的问题,使用过了promise发觉也差不多。不过nodejs还有一个proxy的问题。

    proxy使用系统变量的问题在我最后用的时候我记得一直没解。当时是想用hubbot做一些东西,然后发现hubbot没地方设置proxy,之后发现如果库本身不支持,就要去修改库。从我发现要修改不止一个库的时候,我就转用ruby / python 去写了。
    fansekey
    fansekey
    Jul 5, 2014
    79
    @Aether 只是一个开发者不拿node开发并行分布式项目了,这个算不上node衰落吧。还是相当期待下一版的node的。
    openroc
    openroc
    Jul 5, 2014
    80
    @missdeer 没有美工,我这个coder已经被逼成设计了。:(
    clowwindy
    clowwindy
    Jul 5, 2014
    81
    @iwege 不光是调试问题,缺乏规范和一些机制导致开发阶段应该暴露的问题只有在生产环境上才能暴露。
    windyboy
    windyboy
    Jul 5, 2014
    82
    node感觉在我自己使用的范围依然很好
    大神遇到的问题,目前暂时不需要

    不必大纠结,能解决问题就行
    kaelzhang
    kaelzhang
    Jul 8, 2014
    83
    @clowwindy 一个人因为 he or she 的问题被开除了,一个人休产假,还有一个人各种事情都忙不过来,哎好想 donate 点钱,让 izs 全职写 node 啊。
    yangfanacc
    yangfanacc
    Nov 14, 2014❤️1
    84
    133天后看到这个帖子,不过好消息是nodejs越来越强大了,
    fumer
    fumer
    Dec 28, 2014
    85
    现在nodejs怎么样了
    liyangdal
    liyangdal
    Jan 11, 2015
    86
    @canesten 搜关于Jscex的时候搜到你这个“类似的,做的比Jscex好的还有很多。只是都没进入NodeJS的官方标准”的回复,请问类似的都还有哪些?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   956 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 201ms · UTC 19:26 · PVG 03:26 · LAX 11:26 · JFK 14:26
    ♥ Do have faith in what you're doing.