认真的问,要不要学学 go 语言?爱好级别的学习

2019-04-22 19:47:45 +08:00
 rizon
爱好级别的学习,目前已经学了很多感兴趣的东西了。
比如 python,nodejs。
所以问问大家 go 语言要不要学一下?就是他有什么好玩的地方?

比如 python,nodejs 我可以随时像 shell 那样写点脚本,而且有丰富的模块可以用,随拿随用,挺好玩的。
那么 go 呢? go 有什么好玩的点吗? go 语言的特色? 我看有些人开发的工具是 go 的,直接执行 go get ? 就可以安装。。
有点像 npm install 那样,似乎有点意思。

另外,像 b 站等一些企业,为什么会转 go 呢?可以给分析一下吗?
12163 次点击
所在节点    程序员
61 条回复
peyppicp
2019-04-22 19:54:03 +08:00
b 站 CTO 毛剑,是个 golang 的布道者,他作为 b 站 CTO,自然会让 b 站整体转向 golang
python 作为后端语言性能有点太差了。性能和 java、golang 这种差距在两个数量级以上,反馈到响应时间,服务器价格上就不少钱了。而且 python 动态语言重构起来就是火葬场。
golang 目前有几种解决依赖的方式,一种是 b 站那种用第三方工具比如 govendor 放到 vendor 目录的,还有原生的 go mod,和最简单的 go get

如果单纯学编程语言是为了好玩,就学 Python 吧,golang 类似 java,是工业级语言
agdhole
2019-04-22 19:59:17 +08:00
追求开发的爽 c# 欢迎你
SuperMild
2019-04-22 20:12:19 +08:00
作为爱好,建议学 Kotlin,可非常方便使用 Java 库,语言本身也非常精妙。Go 为了降低学习成本和加快编译速度,在语言特性方面很吝啬。
ihciah
2019-04-22 20:17:14 +08:00
可以无痛协程这点比较舒服
zonyitoo
2019-04-23 00:39:34 +08:00
学习语言,学 Go 可以说不会学到什么好的。要学就学一点 21 世纪设计的语言,不要学这种过时的东西。
chenqh
2019-04-23 04:15:58 +08:00
要不学下前端,让你体会不一样的感觉
0bject
2019-04-23 05:40:26 +08:00
@zonyitoo 我没看懂你的意思, 是说 Go 不好吗. 什么是 21 世纪设计的语言, 是说 Go 过时了吗
medivh
2019-04-23 06:03:54 +08:00
@0bject go 的设计理念是面向工程的,有些设计为了性能和兼容性妥协的很厉害,甚至不如现代 Java ;
如果想要学习一门能带给你不同编程思想,又有一定实用价值的语言可以考虑 jvm 上面的几个新语言,或者 F#也是不错的
q397064399
2019-04-23 06:19:21 +08:00
@medivh #8 不是妥协,是阉割.. 你们用不到泛型,阉 你们不会用异常的,返回值才是王道 ,阉

学语言 就裁剪 C++ 随便学,把 C++/汇编 学的差不多,天下语言都一样
jadeity
2019-04-23 08:27:39 +08:00
我也是爱好级别,开始用 python 挺爽,后来 async 不懂,转 go 就方便了。
yhzwy
2019-04-23 08:28:07 +08:00
我还以为你想学习一下 b 站代码
reus
2019-04-23 08:32:41 +08:00
@q397064399 运行时反射不给你用吗? panic/recovery 不给你用吗?
blless
2019-04-23 08:36:36 +08:00
学!以前想用 python 写个小程序给朋友用…最后打包 /给朋友装 python 都没成功…直接放弃了,go 简直不要太简单…一键直出 exe
sailing0505
2019-04-23 08:41:40 +08:00
语言只是工具,设计,算法跟数据才是灵魂。建议楼主把精力用到正确的地方。
gbin
2019-04-23 08:44:27 +08:00
程序员语言鄙视链已经来袭...
geekc3t
2019-04-23 08:48:02 +08:00
不如学学 elixir,clojure,erlang 之类
676529483
2019-04-23 08:48:02 +08:00
本人也是 pythoner 和 go 爱好者,go 的优势在运行效率、部署(直接二进制拷贝),开发中解决依赖并不是它的强项。还有如果你多次被 asyncio 折磨的死去活来,那么 go 吧,和线程一样就能实现 async/await 写法
leonme
2019-04-23 08:50:10 +08:00
学 scala 啊,手动 doge
Canon1014
2019-04-23 08:51:00 +08:00
有没有大佬知道昨天 B 站那个源码是什么框架的?
passerbytiny
2019-04-23 08:54:22 +08:00
如果只是为了好玩和写脚本,你可以去学学 Bash。

实际上,任何语言——包括你已经学过的 python、nodejs,当你深入的时候,你都会发现不好玩。

还有,nodejs 不是语言。

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

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

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

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

© 2021 V2EX