Go 会统治接下来的十年?

2015-12-15 12:48:00 +08:00
 luoway
[Go 将统治下一个十年]( http://toutiao.com/i6215838209532756482/)

占用内存小

>当你用 maven 下载了半个互联网,同时启动要占用 800M 虚拟内存,或者当你运行一个 RoR 的应用的时候占用了 200M ,这和 Go 平均 5-20M 的运行时想比真是相差巨大。

恰好搞定工作

>在旧金山,有一大群的开发人员每天想着朝九晚五的上下班,回到家后就不再碰触电脑。他们可能是形形色色的,但我想他们都有一个共同的特点,那就是他们“编码只是为了完成任务”。

>Go 在这方面很出色(去掌握这门技术吧)。它真真正正的让开发人员做到了恰好搞定工作。

全文真正说 Go 的优势的就上面两点,也就是跟同类脚本语言比比。况且不成熟,为 Go 社区做贡献显然会增加小公司成本。值得一试?
10898 次点击
所在节点    Go 编程语言
113 条回复
mahone3297
2015-12-15 12:57:27 +08:00
期待负面消息。。。
angelface
2015-12-15 12:59:45 +08:00
对于这篇文章,这种人,把 go 换成其它任何一种语言都可以,因为这是一个模板。
ixiaohei
2015-12-15 13:00:38 +08:00
其实 go 某些方面很有优势,但是统治,只能呵呵
loading
2015-12-15 13:02:32 +08:00
广告站点的手机界面很差!
yvanhe
2015-12-15 13:02:45 +08:00
用 maven 下载了半个互联网 噗
sun2920989
2015-12-15 13:02:50 +08:00
什么叫统治呢,我觉得只有 js 敢说可以统治前端.其他的语言都不敢这么说吧,包括 C 和 JAVA 等等
chaucerling
2015-12-15 13:03:50 +08:00
然后就被 google 抛弃了
luoway
2015-12-15 13:05:54 +08:00
@mahone3297 期待结论性的详细比较。

@angelface 像,总觉得看过 ruby 的类似软文

@ixiaohei 比如说?

@loading 那是今日头条的……
X_Del
2015-12-15 13:11:37 +08:00
@sun2920989 抬个杠:
Ruby :统治 Rails 网站开发;
Obj-C :统治 iOS 应用开发;
SQL :统治关系型数据库操作;
……
所以说“统治”这种说法就是扯淡。
sun2920989
2015-12-15 13:17:29 +08:00
@X_Del 抬杠成功 我无言以对 o(∩_∩)o 所以说统治这个说法就是扯淡
在合适的项目用合适的语言写合适的代码
luoway
2015-12-15 13:18:27 +08:00
@sun2920989 标题党隐藏了统治的领域,只能从它的描述里找找用来比较的东西了。

@X_Del Obj-C :统治 iOS 应用开发,那怎么解释 Swift 。
yongzhong
2015-12-15 13:19:10 +08:00
请问这几年被啥"统治"?
luoway
2015-12-15 13:23:22 +08:00
@yongzhong

> Go 替代 JVM 和 .NET 成为企业级编程语言是很显而易见的。
> 例如,我在旧金山演讲的时候几乎所有的 Scale 企业都在一点一点的迁移到 Go ,许多欧洲的企业也在做着同样的事情。

据作者描述,答案应该是 JVM 、.NET 和 Scale
china521
2015-12-15 13:24:17 +08:00
转载一下 zhihu 上的回答:

Go 好比 Web 框架里的 Angularjs....

这算是是 Google 的开发哲学
像 Angularjs 只能做单页面应用一样, 应用场景不一样...

怎么跟做一个 CMS 上与 PHP 有可比性???
但做 Web 后台应用你比比 PHP 跟 angularjs 的代码量就知道了.

我不是一个 Go 粉
但我现在是大并发网络后台服务有关的项目就用 Go 做,
因为用过他写过 N 多上万行的项目. 这些项目用 C++或 Java 可能要一个星期, 用 Go 两天就能做好.

没认识 Go 之前,
我做网络并发用的是 ACE 这个网络库, 被 boost 坑过, 也被 erlang 困扰过, python 的 tornado 也做过一些项目.

最后发现,


开发成本不在于项目复杂度..在于你所用的框架的坑有多少.
而 Go 的坑, 做这么久项目以来, 没有遇到
遇到了最后也证明是自己滥用了一些特性, 比如 defer

个人 喜欢专注一种应用场景的语言

比如 PHP 专业做 Web, C 专门做系统, Go 专门做网络服务, ASM 负责调优性能, 语言学习成本又不高,一个个学就是了,未来混合语言编程是主流。。

我是一个爆栈工程师, 做一个项目在 N 种语言中切换. 没有什么不适应的, 反而感觉很自如. 性能也能发挥最大化.

像 node 这一种试图通吃的语言. 只是一个失败的尝试, 时间会证明的..
不知道上面这句会不会引来口水

重要的事情说三遍:

语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !

没有最好的语言, 只有最适合你开发场景的语言 !
没有最好的语言, 只有最适合你开发场景的语言 !
没有最好的语言, 只有最适合你开发场景的语言 !

好比中国男人的 Size 一般是不能跟西方女人好好的体验生活一样...

你用 Go 的模板做下前台试试?? 能让你疯掉...
但你拿他来做后端试下, 能让你多出来时间陪家人朋友.

最后: 上面纯属个人观点。。欢迎指证, 但我不会鸟你们的. 因为我用过

就用一门语言写过几个小项目的人, 不要用评价这门语言的好坏,
等你用他来写过几十万行的代码以后, 你就会发现,
原来这么设计他妈的是有原因的...或者原来尼玛的我又选错语言了...

语言学习成本真不高。。。可以说没有成本. 相对收获来说
如果你感觉学习一门新语言成本高, 只能说,你不适合作个码农..
messyidea
2015-12-15 13:24:55 +08:00
可惜 mips 只有 gccgo 。。
vietor
2015-12-15 13:27:14 +08:00
go 用不了多久,就会向 Java 那样,遍地轮子
typcn
2015-12-15 13:30:15 +08:00
Go 只能说是比 Python NodeJS PHP 快,占用低。
C 艹 单核单线程 17000 RPS ( boost asio ),本体 30MB 内存占用,不过系统内核占了很多内存,估计是 tcp buffer 之类的。同样的机子上 Go 只有 1500 RPS 左右。
至于 Java 早就 rm 掉了,没有测试。

Go 写起来的复杂度跟 C 艹 差不多,性能差距还这么远,反正我是不会去用。。。
还有那个难以吐槽的 cgo 链接。。。。
clino
2015-12-15 13:33:18 +08:00
@typcn "Go 写起来的复杂度跟 C 艹 差不多"
这个应该不至于吧 没实际用过 但是看的评论文章说开发效率还是比较高
china521
2015-12-15 13:36:06 +08:00
@vietor 听说过 docker 吗?
typcn
2015-12-15 13:41:19 +08:00
@clino 可能是我 C 系写的顺手了吧, go 我只试过一两次,没有真正的用起来。
感觉 go 里面各种奇怪的看不懂的特性,各种奇奇怪怪的符号,实在是难以阅读。。

以及我用 py 之类的程序的时候,基本上下载即运行,没碰到过坑。用 C/C++ 之类的程序,下载编译即运行,偶尔遇到包没装 pacman 搞定,很少有坑。 用 Go 程序几乎下载一个踩一次坑,先 cgo 编译链接,等个半小时突然蹦出个错误,装包装依赖,编译,再等大半天,又出错,然后看看代码,哪里有问题,哪里少东西,再改。。。反复。。。。 总共尝试两次用 go 搭建服务的时候,都是折腾了好几个小时,才勉强跑起来 /跑失败。。。

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

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

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

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

© 2021 V2EX