为什么大公司偏向于用 go,小公司偏向于 node

2019-07-10 10:51:06 +08:00
 linxiaoziruo
13374 次点击
所在节点    程序员
63 条回复
dabaibai
2019-07-10 14:27:26 +08:00
js 便宜
go 贵
FrankHB
2019-07-10 15:02:23 +08:00
==,鹅厂的 C 艹都用成那样,真敢大规模铺开 go ???
JohnSmith
2019-07-10 15:08:26 +08:00
cloud 也有一部分影响
janxin
2019-07-10 15:58:36 +08:00
创业公司门槛低效率高的语言很正常,可以快速开展业务迭代,再创业公司初期阶段变化快的时候非常有用。这种时候脚本语言很有优势,另外考虑到培训班产出数量,Java 也是不错的选择。

至于项目要求,根本不重要,先活下来再说。等业务量上来的时候,十有八九都需要重写了。
lookas2001
2019-07-10 16:13:51 +08:00
go 是趋势吧(憋打窝)
有生态(对比 c ),性能强(对比各大解释性语言),语法简单(相对)。
Ncanback
2019-07-10 16:29:42 +08:00
抛开场景谈绝对,都是耍流氓
starsriver
2019-07-10 16:48:07 +08:00
@love 我不知道你说得对比是什么意思,平台,业务是什么,比什么?。如果是运行速度,编译型和解释型语言根本没有可比性。
kopp123
2019-07-10 16:53:23 +08:00
因为 go 是趋势. 基于 docker k8s 的生态越来越成熟. golang 易于上手,简单容易理解的并发模型减少心智消耗. 性能也不错。现在的趋势是很多中间件和云产品用 go。估计过段时间后端 web 也会越来越多。
starsriver
2019-07-10 16:59:42 +08:00
@finian 你的并没有说清楚你争论的东西,本地测试并发,还是数据库 api 并发,还是网络请求并发。并发量多少? cpu 用几核?网络延迟多少?宽带多少?

不少博主做的测试一抓一大把,原生 java 和 node 对比,要么齐平,要么 node 慢一截。特别是单机多核短时间处理大量请求下,java 几乎比 node 快一倍。

只有一种情况下 node 赢了,那就是单核 cpu 处理 10000 以上的应答。但是这个没有意义,有谁会在你的业务上等待 70 多秒,nginx 默认设置都超时了。

测试十几年前就做了,底层和编译器并没有变化多少的情况下,再做一次没有必要。
abcbuzhiming
2019-07-10 21:29:56 +08:00
@love 提 ts 之前我觉得你非常有必要弄明白一件事,node 本身是 js vm 环境,这个环境现在并不能像 jvm 那样,支持别的语言编译成字节码或者 jit 什么的直接跑,ts 一样要把自己编译成 js,才能跑在 node 上。ts 是很优秀,我经常也用,但是 ts 的存在,并不能解决 nodeJS 的窘境,除非哪天 Node 大升级,变成类似 JVM 那样的开发规范型虚拟机,其它语言直接 JIT
love
2019-07-10 22:00:58 +08:00
@abcbuzhiming 编译到 js 和编译到字节码有本质区别吗?
justyy
2019-07-10 23:20:51 +08:00
GE uses nodejs.
CoderGeek
2019-07-11 00:06:58 +08:00
不知道说的对不对 偏向 cloud 发展 再加上近些年 docker k8s 等因素 向 go 贴近了些
wupher
2019-07-11 10:04:03 +08:00
我觉得是招聘难度决定的。

javascript 相对 golang 确实要好招多了。
macha
2019-07-11 10:16:41 +08:00
我觉得标题应该还为,为什么小项目喜欢用 node,大项目喜欢用 go 或者 Java。
karllynn
2019-07-11 10:28:35 +08:00
go 是趋势,当然 Java 也有他的优势。不过我估计到 go2 的时候 Java 就没什么优势了,除了已有的生态。

node 最大的作用当然是全栈了,一个当两个用给 1.5 个的工资,省钱。
Takamine
2019-07-11 11:28:43 +08:00
先问是不是,再问为什么。
finian
2019-07-11 12:47:05 +08:00
@starsriver 注意审题,我已经说了是接入层。你自己上面的论点,不也是没有给出具体环境和条件吗,一来就说 Node.js 请求性能消耗多出 15%,现在又说在业务上等待 70 秒,你这些数据都是随口就来的吗?另外谁说十几年来「底层和编译器并没有变化多少」?你去比比现在的 V8 和十几年前的 JS 解析引擎性能?
buzailianxi
2019-07-11 13:03:17 +08:00
公司看的是成本和赚钱,能赚到钱,老板不介意你用啥
starsriver
2019-07-11 13:53:18 +08:00
@love 编译到 js 和编译到机器码计算确实有很大区别。一个 for 加法循环,编译后的机器码执行速度将近是解释型代码的两倍,虽然 js 引擎做了不少事情,但是要求 js 立即执行,这么短时间内不可能完成很复杂的优化。像 java 这种编译一次就能完成大部分优化,编译时间长但是值得,ts 编译到 js,本质还是解释。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/581624

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX