golang 语言学习有感

2020-01-15 11:24:07 +08:00
 woahishui
刚开始学习 golang,越看越有 basic 语言的味道,但是有没有 basic 丰富,难道是简化的 basic 语言
7884 次点击
所在节点    程序员
58 条回复
charlie21
2020-01-15 16:38:07 +08:00
PHP:不配有姓名?
dyllen
2020-01-15 18:05:41 +08:00
go 可以让你专注自己的代码吧,其他的就不用管太多了。
这语言可以这样,也可以那样,你要花费时间精力去搞呀。
blless
2020-01-15 18:37:53 +08:00
@lihongjie0209 #34 很多人喷 go 的错误处理,实际上程序执行起来就是这么多错误,try catch 给很多人根本不知道啥时候应该 catch 啥时候 throw。go 给新人一个要求,就是好好处理每个 error。比之前我司 java c#写的程序不知道稳定了多少
CRVV
2020-01-15 18:46:16 +08:00
@lihongjie0209

重点当然不是格式化的问题
举一个另外的例子

sync.Map 上没有 length 或者 size 方法,获取元素的数量要用 sync.Map.Range 遍历
https://github.com/golang/go/issues/20680
这个链接有解释说为什么不加这个方法,a Len method would either be misleading or inefficient

类似这样的例子应该还有一些,所以有人觉得拿 Go 写的代码质量会更高,因为一些 misleading 或者 inefficient 的功能直接被删掉了



> Python:
> 优秀的性能 -> 要性能的就是 C 来写

几乎所有的语言都能调用 C 代码,照你这个说法,任何一个语言都有优秀的性能

> JavaScript
> npm -> 强大的标准库

npm 不是标准库,而且我几乎没见过有人给 JavaScript 的标准库说过好话

> Java
> 我有 JVM -> 优秀的性能

性能指的不单是执行时间,内存占用量也是性能的一部分,而 JVM 在这方面的性能很渣
即使单说执行时间,JVM 可能也只是在吞吐量上有优势
blless
2020-01-15 18:56:16 +08:00
go 的优势就在于取舍得当,现在写代码的人完全没有其他工程领域的严谨性。别的行业搞工程图纸工具测量规划设计年限都整得妥妥的。软件工程里面单元测试,覆盖测试,性能测试能做好的都没有几个。没错,就是看多了别人的代码,事实证明别人的代码根本不能相信!就需要 Go 这种静态编译型语言强制性约束!
fps23dot9999
2020-01-16 09:46:11 +08:00
@cmdOptionKana 这段话好有翻译腔
cmdOptionKana
2020-01-16 09:54:08 +08:00
@fps23dot9999 我故意的,现代汉语不用翻译腔总是感觉不够准确,容易有歧义。
libook
2020-01-16 10:41:50 +08:00
个人感受 Go 是一个完全贴合工业化软件生产的语言,提供的特性精简、直达,让任何需求都有尽可能少的方案来实现(只有 1 种方案的话就不需要纠结了),让开发者将精力放在业务本身,把业务之外的问题都透明化解决。

所以某种角度上来讲,“简”是 Go 的设计哲学之一。

以上个人感受,不同人可能会有不同的感受。
ChristopherWu
2020-01-16 11:27:02 +08:00
@libook 一个问题,你写业务的时候,没有泛型用,都 copy-paste,看着一大坨逻辑都一样的代码,不觉得有🤢难受的感觉吗
o562dsRcFqYl375i
2020-01-16 12:37:22 +08:00
PHP:卑微如我
bbao
2020-01-16 13:48:22 +08:00
@blless
try catch 给很多人根本不知道啥时候应该 catch 啥时候 throw

那是你可能不会,并不是很多人根本不知道。
Evilk
2020-01-16 14:15:30 +08:00
PHP:我在哪里?
reus
2020-01-16 14:59:02 +08:00
@ChristopherWu 没有泛型你可以用反射,不是一定要用复制粘贴。
blless
2020-01-16 18:02:28 +08:00
@bbao 得了吧,你把 java 每个 try catch throw 都处理一下照样不少,多少人直接有 catch 一下就当无事发生。你挨个处理就光数组越界空指针错误就处理不完。
jin7
2020-01-16 20:33:38 +08:00
java python 不香....吗
bbao
2020-01-17 14:49:14 +08:00
@blless 并没有此赶脚哦,可能你用的不好
woahishui
2020-01-17 15:06:41 +08:00
@bbao 刚开始学习
blless
2020-01-17 21:45:31 +08:00
@bbao 是我菜鸡了,用 go 的都是菜鸡 大佬无视我好吧

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

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

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

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

© 2021 V2EX