由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - nodejs 流行的原因
相关主题
stackoverflow上随便一个nodejs跟其他同类的比较大型系统这些年
魏老师这次给一群失意者们带来了希望来看看狗家的传统
设计模式要不要搞?app对付fragmentation我是怎么操作地
水木上python大坑啊: 疑Google员工把8w行Python项目用4w行Java重写了Re: 打脸文章:关于deep learning (转载)
激光陀螺的秘密程序编码泄露了 (转载)很多公司之所以挂掉,都是有征兆的
大家每年给公司check in大概多少行的代码?讲一个单进程死锁
面向对象设计的SOLID原则新手学Swift编程容易么?
看到写的好的代码诚心请教:拿到一个startup的offer,是不是值得去。
相关话题的讨论汇总
话题: nodejs话题: java话题: 异步话题: server话题: netty
进入Programming版参与讨论
1 (共1页)
z****g
发帖数: 75
1
1. 简单好用,上手快,特别是对熟悉javascript的FE programmers
几行程序就能搞个HTTP server出来,做个原型真是很快、方便
想想如有用C++,Java这得多麻烦
这是很多startup选择nodejs的原因
2. 性能还行
异步编程,做request processing,这个效率比起 one thread per request(TPR)的
model
效率提高很多。
这种单线程实现 10k/sec 的request processing很轻松
其实目前所有的高性能network server都是异步实现的,只是用C++/Java实现一直很
繁琐
因为没有比较好用的lib来支持。在牛x公司里这样的c++库一直是有的, 只是多数人无
法接触到。
这个估计是ebay,linkedin之类公司选择nodejs的主要考虑。
这些公司显然内部没有牛x的在Java/c++上的异步库
Facebook自己有一个还凑合的异步库,所以它们不需要
后来linux kernel thread 性能提高以后,TPR model实现10k/sec的处理速度也行了
但是由于每个thread的stack需要很多RAM,所以总体还是比不上异步的效率高
3 但是nodejs是最终选择吗?
显然不是,因为这个破语言是动态的,大程序管理很困难,长久是没戏的
也就是一个fad
g*****g
发帖数: 34805
2
你不懂就别瞎说。netty存在N年了,我老多年前就产品上做到单机20k/sec。

【在 z****g 的大作中提到】
: 1. 简单好用,上手快,特别是对熟悉javascript的FE programmers
: 几行程序就能搞个HTTP server出来,做个原型真是很快、方便
: 想想如有用C++,Java这得多麻烦
: 这是很多startup选择nodejs的原因
: 2. 性能还行
: 异步编程,做request processing,这个效率比起 one thread per request(TPR)的
: model
: 效率提高很多。
: 这种单线程实现 10k/sec 的request processing很轻松
: 其实目前所有的高性能network server都是异步实现的,只是用C++/Java实现一直很

z****g
发帖数: 75
3
类似的东西一直有,但是不好用,就这么简单
单机20k?现在单线程都能到1M/sec

【在 g*****g 的大作中提到】
: 你不懂就别瞎说。netty存在N年了,我老多年前就产品上做到单机20k/sec。
A*****i
发帖数: 3587
4
最大的优势就是好用,不到10行代码的一个js文件就能弄个简单的server端
npm社区也是个原因,基本上你能想到的python, java工具npm上都有对应的
p*****2
发帖数: 21240
5

顶这个。做东西确实是飞快。

【在 A*****i 的大作中提到】
: 最大的优势就是好用,不到10行代码的一个js文件就能弄个简单的server端
: npm社区也是个原因,基本上你能想到的python, java工具npm上都有对应的

g*****g
发帖数: 34805
6
Netty是著名的开源架构,最近的vert.x也是基于Netty, 也就你才能说出什么java一直
没有好用的异步架构这种说法。

【在 z****g 的大作中提到】
: 类似的东西一直有,但是不好用,就这么简单
: 单机20k?现在单线程都能到1M/sec

z****g
发帖数: 75
7
好用不好用是个相对的概念,你觉得好用,就好用得了
nodejs更容易些吧

【在 g*****g 的大作中提到】
: Netty是著名的开源架构,最近的vert.x也是基于Netty, 也就你才能说出什么java一直
: 没有好用的异步架构这种说法。

z****e
发帖数: 54598
8
最后一句结论正确
前台程序员做好换老婆的准备
dart很有可能取而代之
z****e
发帖数: 54598
9
vert.x更简单
至少对于ruby, python程序员来说
简单很多
dart也比js更简单

【在 z****g 的大作中提到】
: 好用不好用是个相对的概念,你觉得好用,就好用得了
: nodejs更容易些吧

z****e
发帖数: 54598
10
nodejs不仅仅是http server
可以是随便一个协议和端口的server
当然它本身只做了很简单的封装
你用socket写其实也没差多少
加点单/多线程管理的话
所以很多公司用它来作web service的server
不过这个要说是革命性的就扯淡了
其他语言抄起来太容易了
现在主要差别集中在v8上
很多公司图这个东西快,所以很大一部分不是冲着nodejs去的
而是冲着v8去的
所以dart有戏,因为dart比v8更快
vert.x也比node.js更快
要快么?我们这边有另外两个更快的
欢迎做测试啊

【在 z****g 的大作中提到】
: 1. 简单好用,上手快,特别是对熟悉javascript的FE programmers
: 几行程序就能搞个HTTP server出来,做个原型真是很快、方便
: 想想如有用C++,Java这得多麻烦
: 这是很多startup选择nodejs的原因
: 2. 性能还行
: 异步编程,做request processing,这个效率比起 one thread per request(TPR)的
: model
: 效率提高很多。
: 这种单线程实现 10k/sec 的request processing很轻松
: 其实目前所有的高性能network server都是异步实现的,只是用C++/Java实现一直很

相关主题
大家每年给公司check in大概多少行的代码?大型系统这些年
面向对象设计的SOLID原则来看看狗家的传统
看到写的好的代码app对付fragmentation我是怎么操作地
进入Programming版参与讨论
z****e
发帖数: 54598
11
fb有自己的tornado
性能上能够满足需要了
所以就不换了
我之前贴过
只要是其他语言的这种web server,跟nodejs对比的问题
在stackoverflow上,都是一边倒地支持非js一方
无论是ruby还是python
群众对js的厌恶之情溢于言表啊
所以vert.x和dart出来拯救众生了
z****e
发帖数: 54598
12
vert.x可以直接运行python和java还有ruby代码
一样10行不到代码就可以跑一个server
而且可以让各种语言自己写modules
然后直接插入就可以用,同时效率超过nodejs,超过用了v8的nodejs
最后,这些语言设计都要超过js

【在 A*****i 的大作中提到】
: 最大的优势就是好用,不到10行代码的一个js文件就能弄个简单的server端
: npm社区也是个原因,基本上你能想到的python, java工具npm上都有对应的

c****f
发帖数: 1102
13
tornado 比nodejs好写多了 问题是 python的异步lib太少
d********g
发帖数: 10550
14
1月23日Python党要大闹LinkedIn总部举行洗脑集会支持BDFL折腾原生异步轮子的决定:
http://www.meetup.com/silicon-valley-python/events/138635282/

【在 c****f 的大作中提到】
: tornado 比nodejs好写多了 问题是 python的异步lib太少
v*****r
发帖数: 2325
15
agree. friendly to Front engineers is key.
Netty/vert.x claim to have great features, maybe a little late to introduce
asynchronous io & and make them available to js programmers.
"powered by netty/vert.x" 很逊色啊!

【在 z****g 的大作中提到】
: 1. 简单好用,上手快,特别是对熟悉javascript的FE programmers
: 几行程序就能搞个HTTP server出来,做个原型真是很快、方便
: 想想如有用C++,Java这得多麻烦
: 这是很多startup选择nodejs的原因
: 2. 性能还行
: 异步编程,做request processing,这个效率比起 one thread per request(TPR)的
: model
: 效率提高很多。
: 这种单线程实现 10k/sec 的request processing很轻松
: 其实目前所有的高性能network server都是异步实现的,只是用C++/Java实现一直很

l**********n
发帖数: 8443
16
nodejs是因为流行是因为javascript,整个node都是event-based。not just the http
server. event-based programming is so natural for front end development.
q*c
发帖数: 9453
17

实际上, 对于快速响应的系统, nodejs 效率反而低下。 这是有 bench mark 的。
nodejs 无非是对特定的系统, 比如聊天系统, 大量的空闲连接少量的活跃连接, 非
常合适。

【在 z****g 的大作中提到】
: 1. 简单好用,上手快,特别是对熟悉javascript的FE programmers
: 几行程序就能搞个HTTP server出来,做个原型真是很快、方便
: 想想如有用C++,Java这得多麻烦
: 这是很多startup选择nodejs的原因
: 2. 性能还行
: 异步编程,做request processing,这个效率比起 one thread per request(TPR)的
: model
: 效率提高很多。
: 这种单线程实现 10k/sec 的request processing很轻松
: 其实目前所有的高性能network server都是异步实现的,只是用C++/Java实现一直很

g*****g
发帖数: 34805
18
嗯,上次那个无数个框架的benchmark,就是简单的CRUD,一堆框架秒了nodejs。

【在 q*c 的大作中提到】
:
: 实际上, 对于快速响应的系统, nodejs 效率反而低下。 这是有 bench mark 的。
: nodejs 无非是对特定的系统, 比如聊天系统, 大量的空闲连接少量的活跃连接, 非
: 常合适。

K****n
发帖数: 5970
19
真在startup的人不就是拿过来玩几次爽一下,下次什么流行再上什么。虽然能scale很
重要,但是都async了就可以了,用什么language和framework不重要。
等真说business serious了,那也是时候可以招些小弟,给点儿股票,让他们费神维护
了,什么动态语言不好维护就是别人的问题了。自己vest了股票直接下一家startup,
什么新什么好玩再爽接着爽。没错吧
p*****2
发帖数: 21240
20

大牛说的太赞了。我知道一个神牛,就是被SB扔凳子那个。人家就用Node.js, 别人问
为什么用呀?人家直接说,因为我没用过,别人啥话也不说了。

【在 K****n 的大作中提到】
: 真在startup的人不就是拿过来玩几次爽一下,下次什么流行再上什么。虽然能scale很
: 重要,但是都async了就可以了,用什么language和framework不重要。
: 等真说business serious了,那也是时候可以招些小弟,给点儿股票,让他们费神维护
: 了,什么动态语言不好维护就是别人的问题了。自己vest了股票直接下一家startup,
: 什么新什么好玩再爽接着爽。没错吧

相关主题
Re: 打脸文章:关于deep learning (转载)新手学Swift编程容易么?
很多公司之所以挂掉,都是有征兆的诚心请教:拿到一个startup的offer,是不是值得去。
讲一个单进程死锁F2求C++编程工作
进入Programming版参与讨论
z****e
发帖数: 54598
21
没错啊
所以100个startup99个在马路上混
这也没错吧?

【在 K****n 的大作中提到】
: 真在startup的人不就是拿过来玩几次爽一下,下次什么流行再上什么。虽然能scale很
: 重要,但是都async了就可以了,用什么language和framework不重要。
: 等真说business serious了,那也是时候可以招些小弟,给点儿股票,让他们费神维护
: 了,什么动态语言不好维护就是别人的问题了。自己vest了股票直接下一家startup,
: 什么新什么好玩再爽接着爽。没错吧

q*c
发帖数: 9453
22
只不过大家都只看那个成功的例子,然后以此为论据得到结论, lol

【在 z****e 的大作中提到】
: 没错啊
: 所以100个startup99个在马路上混
: 这也没错吧?

g*****g
发帖数: 34805
23
您老就是那一个呀,这个东西还是得有眼光。

【在 q*c 的大作中提到】
: 只不过大家都只看那个成功的例子,然后以此为论据得到结论, lol
q*c
发帖数: 9453
24
和早年的运气牛逼人比还是秒跪了。 这玩意我觉的和 startup 一样, 眼光占1%。
99% 的因素都是运气。 我邻居加入 startup, 分析下来有两个选择, 他仔细继续分析
, 去了他觉得有戏的那个, 结果三个月后另外一个就上市了。 嘿嘿。 毫无办法。
我一直认为, 小钱靠拼, 大钱靠命。 古人怎么说的来着? 书到今生读已迟。 我看
挣钱也是一个道理啊。

【在 g*****g 的大作中提到】
: 您老就是那一个呀,这个东西还是得有眼光。
j********x
发帖数: 2330
25
node是前端工程师造后端工程师的反的旗号
成不成要看机会

【在 z****g 的大作中提到】
: 1. 简单好用,上手快,特别是对熟悉javascript的FE programmers
: 几行程序就能搞个HTTP server出来,做个原型真是很快、方便
: 想想如有用C++,Java这得多麻烦
: 这是很多startup选择nodejs的原因
: 2. 性能还行
: 异步编程,做request processing,这个效率比起 one thread per request(TPR)的
: model
: 效率提高很多。
: 这种单线程实现 10k/sec 的request processing很轻松
: 其实目前所有的高性能network server都是异步实现的,只是用C++/Java实现一直很

z****e
发帖数: 54598
26
后端不可能被造反
因为后端跟前端开发模式完全两回事
前端动不动重写一遍
后端十年代码只加不改的案例太多了
随便一个大型企业都是如此
当然会重构,但是重构跟重做毕竟不是一回事
重构是向完美进军,而一旦到了完美的境界
重构就变得毫无必要,java已经把后端做到了接近完美
nodejs到现在,连个大并发都无法解决
这搞p啊,startup马路上混的无所谓,反正今天挂了,明天换一条马路继续骗
无非就那么几个人,那么几条枪,就跟游击队一样
但是企业是正规军,今天申请破产了
失业率直接拉上去一到两个百分点,连当地政府都会被惊动
动用政治手段来挽救大企业的案例不要太多
所以后端没有造反这一说,只有改良
而且后端对于每一个程序员都会进行教育
think big,想长远一点,不要只想一两年后
想十年以后,你这个东西还会怎样
比如今天,我们讨论时候就否决了一个google的plugin
因为google仅承诺这个链接在2015年前有效,那2015年之后呢?
startup一般想不了这么远,直接拿来就用了,但是企业不一样
企业尤其是大企业会告诉你,我们不在乎这点眼前的蝇头小利
我们要做十年二十年的系统,这个东西如果有这个risk,你就不要用了
然后我建议,我们用java做,因为java平台非常stable
而且我们可以down到所有我们需要的lib,并且理论上java程序员可以维护这些代码
所以所有人都一致同意,用java,不要js,因为js不稳定,我们不是小企业
没有必要在马路上混,我们愿意用今天的投入换取明天后天以及十年以后的回报
这也是为什么这家企业能做到股票成分股的原因
做java的大部分都经过这个训练
所以这个思维方式就不一样,根本不存在造反的说法

【在 j********x 的大作中提到】
: node是前端工程师造后端工程师的反的旗号
: 成不成要看机会

z****e
发帖数: 54598
27
保底靠拼,发财靠命
我的底线就是在大公司混一辈子
但是平常我自己也会折腾

【在 q*c 的大作中提到】
: 和早年的运气牛逼人比还是秒跪了。 这玩意我觉的和 startup 一样, 眼光占1%。
: 99% 的因素都是运气。 我邻居加入 startup, 分析下来有两个选择, 他仔细继续分析
: , 去了他觉得有戏的那个, 结果三个月后另外一个就上市了。 嘿嘿。 毫无办法。
: 我一直认为, 小钱靠拼, 大钱靠命。 古人怎么说的来着? 书到今生读已迟。 我看
: 挣钱也是一个道理啊。

j********x
发帖数: 2330
28
就跟说男人跟男人不能搞,因为男人没有b。。。
革了命就是压缩后端的空间,后端当然都存在。
你这脑子纯粹就是个灌水的料,谈设计逻辑啥的都是笑话。。。

【在 z****e 的大作中提到】
: 后端不可能被造反
: 因为后端跟前端开发模式完全两回事
: 前端动不动重写一遍
: 后端十年代码只加不改的案例太多了
: 随便一个大型企业都是如此
: 当然会重构,但是重构跟重做毕竟不是一回事
: 重构是向完美进军,而一旦到了完美的境界
: 重构就变得毫无必要,java已经把后端做到了接近完美
: nodejs到现在,连个大并发都无法解决
: 这搞p啊,startup马路上混的无所谓,反正今天挂了,明天换一条马路继续骗

z****e
发帖数: 54598
29
你对backend没有概念

【在 j********x 的大作中提到】
: 就跟说男人跟男人不能搞,因为男人没有b。。。
: 革了命就是压缩后端的空间,后端当然都存在。
: 你这脑子纯粹就是个灌水的料,谈设计逻辑啥的都是笑话。。。

1 (共1页)
进入Programming版参与讨论
相关主题
诚心请教:拿到一个startup的offer,是不是值得去。面向对象设计的SOLID原则
F2求C++编程工作看到写的好的代码
stackoverflow上随便一个nodejs跟其他同类的比较大型系统这些年
魏老师这次给一群失意者们带来了希望来看看狗家的传统
设计模式要不要搞?app对付fragmentation我是怎么操作地
水木上python大坑啊: 疑Google员工把8w行Python项目用4w行Java重写了Re: 打脸文章:关于deep learning (转载)
激光陀螺的秘密程序编码泄露了 (转载)很多公司之所以挂掉,都是有征兆的
大家每年给公司check in大概多少行的代码?讲一个单进程死锁
相关话题的讨论汇总
话题: nodejs话题: java话题: 异步话题: server话题: netty