大家如何评价Go语言?

2013-05-16 10:30:18 +08:00
 artchencheng
想学学Go,不知道大家怎么看这语言的?
8722 次点击
所在节点    Go 编程语言
72 条回复
jjx
2013-05-20 07:42:00 +08:00
python人员用go ,就个人的经历,并非是要替换python ,其实还是在替换性能无法优化的部分,但这些部分用c/c++太麻烦,摸索其它方案可能有风险。可以说其实替换的是还是c/c++部分。
middleware
2013-05-20 09:01:34 +08:00
Go 语言的很多特性是从 Lua 来的(如果仅考虑时间先后)。
wodemyworld
2013-05-20 09:11:54 +08:00
@jjx 这个我同意,c++写出的东西很高效,但要求人的能力也很高,其实不是太麻烦,而是写出的东西如果不去做讲解的话,人员流动带来的风险很高
wodemyworld
2013-05-20 09:18:53 +08:00
@skywalker twitter不用ruby是因为ruby on rails性能确实不行了,但同时又没有facebook的技术能力,facebook楞能把php优化到变态的级别,你twitter就没这个能力,或者有能力不想花成本;c++编写东西不比go繁杂,c++也有很完善的库啊,你把库当成语言特性理解也无问题啊。有人说c++太复杂,你不用复杂特性不就完了么,多重继承复杂,你别用啊,指针容易出问题,你也别用啊
skywalker
2013-05-20 09:59:20 +08:00
@wodemyworld C++的问题不是这么简单能够解决的。

1. 对于新手,很难把握哪些特性要用哪些不要用,即使是老手也很难说能把握。再说了,每个人对这个问题的判断都不一样,有些人觉得指针是很基本的,有些人可能就觉得是坑,所以每个公司都定义一套自己的编码规范,但这解决不了基本问题
2. C++的库完善这点不太赞同。首先标准库就很残废,string连最基本的trim, split都不支持。其次,第三方库良莠不齐,风格也相差很大。现有比较综合的库里面比较好的可能Qt还算不错,但是要是跟Java那堆玩意儿比实在是差太多了。
3. C++的编译速度很慢。相信做过比较大程序的对这个都印象深刻。特别是你的程序中包含大量模板的情况,简直不能忍受。
4. 没有module。给代码重用带来了很大问题。

模板没有concept啥的我就不说了...
chenwl
2013-05-20 10:00:43 +08:00
建议学~学完再决定用不用~不用没损失,想用那说明对你有帮助~
est
2013-05-20 10:33:00 +08:00
@limu 哥们是明白人啊。。。。。。。。

http://www.sizeofvoid.net/goroutine-under-the-hood/

摘录一段

> (5) 和所有其他并发框架里的协程一样,goroutine里所谓“无锁”的优点只在单线程下有效,如果$GOMAXPROCS > 1并且协程间需要通信,Go运行库会负责加锁保护数据,这也是为什么sieve.go这样的例子在多CPU多线程时反而更慢的原因
dcoder
2013-05-23 12:33:52 +08:00
这里有个 Go VS Scala VS Node.js 的演讲,
演讲的人是个 Go 粉
breeswish
2013-05-23 12:51:13 +08:00
@wodemyworld 每个语言有自己擅长的地方,何必总是要说谁替换谁的。go语言自然有它吸引别人的地方。另外 有一些大公司招go是出于目前golang coder整体水平较高 做出来的东西靠谱 而不是雇佣起来价格低
pubby
2013-05-24 15:35:00 +08:00
会c单不会c++

看某些人写的go如何如何,经不起诱惑尝试了一下。

go开发效率比c高效,原本打算用c写的几个fastcgi服务都用go快速实现了

感觉不足的地方,第三方库严重缺乏,尽管已经很多人贡献了一些,但是bug难免,得自己解决。

好在import “C"可以使用其他动态库能解决一部分问题,只是无法静态编译进来,大量机器部署的时候麻烦点。


看了上面评论,有赞有贬。对我而言,go可以让我相对较快的实现一些性能很不错的服务。
aixinit
2014-07-10 17:48:00 +08:00
如果go 能像python一样使用json就好了。习惯了python的json处理
liigo
2014-11-19 17:34:45 +08:00
Go语言里有不少让我不爽的地方,参见我的CSDN博客文章《我为什么放弃Go语言》
http://blog.csdn.net/liigo/article/details/23699459

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

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

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

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

© 2021 V2EX