--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CAJnE2OxhnNVqRHZ4A45TOGt2h%2BwChm7fRPRKMbPRzezgjnBi1A%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CACGJLu4qhCNz0QVPrUDvhsMXG0R-ps4tK2mkQ6rS_9VLFZqd7A%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
On Apr 14, 2014 10:54 PM, "Viney Chow" <viney...@gmail.com> wrote:
> 我为什么放弃Go语言
> http://blog.csdn.net/liigo/article/details/23699459
> 看来Liigo伤的很深,好久没看他发言了。
不存在一种语言能适合每个人,恩。
早点意识到某个语言不适合自己是个好事。(如果意识到之后不去对应的列表 trolling 就更好了。)
在不适应所有人这个问题上,Go 比其他的语言更严重,因为Go作者们非常“顽固”,在他们认为的原则问题上绝不让步。所以Go终究只能适应和他作者意见一致(或者至少是能够理解)的人。不过幸好作者们的意见一般是对的。
尽管 Go 支持 Windows,而且我也认识一些在 Windows 上开发 Go 或者用 Go 开发的人,但是理解 Go 还是需要先理解 Unix(最好是 Plan 9)的设计理念。
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
您收到此邮件是因为您订阅了 Google 网上论坛的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
要在网络上查看此讨论,请访问 https://groups.google.com/d/msgid/golang-china/1397532283.23250.6.camel%40rms。
要查看更多选项,请访问 https://groups.google.com/d/optout。
无所谓啦,本来就是个工具语言,没必要人人都去拜。对自己好用,就用实际行动来支持,这不比打嘴炮好多了。从来没有一门编程语言能让所有人都满意。何况人家文章里有些东西写的还是挺有道理。特别是社区的态度问题。去年我说某IDE的插件不能识别不可达的逻辑,一大群人出来教育我说go语言本来就这么设计的。只有巢鹏一个人的博客上写着这是go官方2009年就明明白白列出来的一个bug。现在不但那个bug修掉了,我要是再写同样的代码,go的工具还会发警告……
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
我比较赞同这些
1.6 禁止未使用变量和多余import
1.7 创建对象的方式太多令人纠结
1.8 对象没有构造函数和析构函数
1.10 许多语言内置设施不支持用户定义的类型
1.11 没有泛型支持,常见数据类型接口丑陋
- 版本都发展到1.2了,goroutine调度器依旧默认仅使用一个系统线程。GOMAXPROCS的长期存在似乎暗示着官方从来没有足够的信心,让调度器安全正确的运行在多核环境中。这跟Go语言自身以并发为核心的定位有致命的矛盾。
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CA%2Bdb%3Dn0uK%2BJQybk2b4ijsP2ZMFSqaCz6gu4rizscxoX6YUc56g%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
Liigo这人根本就是一个喷子。搜一下此人在这个列表上的言论就看得出来。反正我很早就把他的邮件列在黑名单里,完全无视他的言论。
1. 如果我不再想关注一个技术,一般不会再去撰文,特别是这么长的文章。
2. 阅读后,一个感觉 Go 还停留在 1.0 之前,另一个感觉 Go 是个纯 OO 的语言。
3. 错误认知通常会伴随沟通障碍。而建立在这两者之上的讨论大多都不怎么有意义。
4. minux 坚持在OT帖里谈技术,这是一种什么精神?
5. 千万不要撰文: 我为什么坚持…
没有语言能是完美的, Go也是一样.作者提到 "很多言行都是“反开源”的。", 我到觉得开源软件集权的好处远大于坏处.开源主要给你的是fork的权利.
比较认同的几点抱怨:1.3 极度强调编译速度,不惜放弃本应提供的功能
1.8 对象没有构造函数和析构函数1.10 许多语言内置设施不支持用户定义的类型1.11 没有泛型支持,常见数据类型接口丑陋编译速度快是好事, 但是如果因为编译速度而严重影响语言的特性设计就不好了.不知道后面的 语言内置类型和泛型 支持限制是否是受编译速度的限制.
关于资源析构, 之前cgo中, 都是用 runtime.SetFinalizer 来增加一层保障.但是前几天 golang-dev 居然有人讨论要干掉 runtime.SetFinalizer ...
我觉得最不爽的地方还是在泛型/运算符重载/内置的特权类型等方面.
当然 IDE 也是很让人不爽的一个地方.
最后, 最喜欢的还是Go的简洁但不简单.
1. 如果我不再想关注一个技术,一般不会再去撰文,特别是这么长的文章。
2. 阅读后,一个感觉 Go 还停留在 1.0 之前,另一个感觉 Go 是个纯 OO 的语言。
3. 错误认知通常会伴随沟通障碍。而建立在这两者之上的讨论大多都不怎么有意义。
4. minux 坚持在OT帖里谈技术,这是一种什么精神?
5. 千万不要撰文: 我为什么坚持…
2014-04-15 0:15 GMT-04:00 mikespook <mike...@gmail.com>:1. 如果我不再想关注一个技术,一般不会再去撰文,特别是这么长的文章。
2. 阅读后,一个感觉 Go 还停留在 1.0 之前,另一个感觉 Go 是个纯 OO 的语言。
3. 错误认知通常会伴随沟通障碍。而建立在这两者之上的讨论大多都不怎么有意义。恩 我第一个回复就表达了类似的说法,如果无法理解和赞同 Go 作者的理念,是很难喜欢这个语言的。不过你这个说法太专业了!4. minux 坚持在OT帖里谈技术,这是一种什么精神?
啊,我压根没意识到这个主题的定位是 OT。不过我觉得从这个主题来看,对 Go 语言及其开发存在着一些普遍的误解,还是借着这个抢眼的主题尽可能解释清楚比较好。
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
难道这个不是他们抵制这种方式的原因吗?
看了你的回复, 感觉泛型和IDE都都盼头了...
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china+unsubscribe@googlegroups.com。
这种东西真心觉得没有什么在邮件列表中讨论的必要。很多东西都是见人见智的。
作者嫌弃c的一些特性,我还先期COBOL的一些特性呢。可是现在的C语言如何?COBOL又如何?不一样被证明是优秀的么?
在语言层面,想要一些,就必定会放弃一些。你就是再牛逼的算法,最终不也得在空间与时间中平衡么。
再者说,如果有一天,go能够为开发者带来其他语言不能带来的收或者BOSS说了,要么go,要么滚,你们看作者会不会再坚持他所谓的放弃。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/5b8df769-632b-483e-a1e7-1aa157db77be%40googlegroups.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
运算符重载和泛型比, 没有也不算大的问题.之前看过rsc的泛型文章, 说实话还是喜欢C++的方式.但是rsc说C++的方式会: "This slows compilation."难道这个不是他们抵制这种方式的原因吗?
看了你的回复, 感觉泛型和IDE都都盼头了...
2014-04-15 0:37 GMT-04:00 chai2010 <chais...@gmail.com>:运算符重载和泛型比, 没有也不算大的问题.之前看过rsc的泛型文章, 说实话还是喜欢C++的方式.但是rsc说C++的方式会: "This slows compilation."难道这个不是他们抵制这种方式的原因吗?还有 bloated binary 吧。就我个人来说,我也认可 C++ 的方式。对于 Go 或许有办法来解决这个问题(C++ bloated binary 我以为是两个原因:1, 即使是内存里面结构相同的的不同类型T1和T2,std::vector<T1>和std::vector<T2>会生成两套实现;
2. 大多数目前使用的 C++ 依赖于传统的链接器,所以 C++ 编译器必须假设每个可能用到的 template 都得例化,然后依赖链接器去解决重复定义的问题。但是这个不是万能的,rsc 的文章里提到的取消/重新规整 template 之后 .text 从若干 MB 减少到 几十 KB就是例子。Go 不完全依赖普通的链接器,而是拥有自己的链接器,所以其实是可以部分解决第二个问题的(template 会导致过度的 inlining,这个问题靠独立的链接器解决不了),但是第一个问题就比较麻烦了。我的感觉是,相对其他方式,C++ 这个是唯一 Go 能接受的实现方式(用最常见的例子,max 函数来说,我就是希望对于不同类型例化完全独立的函数,也就是有一部分二进制体积的增长是不可避免的,相对现在手工提供maxInt32, maxFloat64来说,这个其实是一样的)。但是有几个问题必须解决:1. binary bloat2. template 不是在某种意义上说不是 type safe 的。Go 显然不会引入 C++ concept 来解决这个问题。(e.g. 使用一个 template 的时候,如果不展开 template 的内容,无法知道使用是否正确;这里似乎是使用 interface 的好机会)3. 如何把设计和现有的 Go 特性(尤其是interface)完美地融合和交互?
我相信编译器的速度不是大问题,具体的语法也不是大问题。(当然,不能像 D 语言那样做一个 Turing complete 的 generics 系统。换句话说,编译时要做的事情必须是 bounded 的,也就是存在高效的实现方式)看了你的回复, 感觉泛型和IDE都都盼头了...我非常确定的一点是,Go 对 IDE 的(底层)支持会越来越好。(对于 IDE 感兴趣的一定要关注 go.tools sub-repository。Go Oracle, godoc, eg 这些都可以用来做 IDE 的。)泛型完全取决于能不能有人提出满意的设计。(这个比较难)我不知道放弃Go的文章提到没有,调试器的问题。他们决定要彻底放弃 gdb,据说,**仅仅是据说**,然后给 Go 开发一个新的。IDE 的问题绝对不是他们不重视,实际上 http://golang.org/ref/spec#Introduction就提到了:The grammar is compact and regular, allowing for easy analysis by automatictools such as integrated development environments.gri 和 adonovan 看来是在专职做这方面的事情。(相比完整的 IDE,具备一个 refactor工具,即使是命令行工具,是重要得多的事情)
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
在 2014年4月15日 下午1:08,minux <minu...@gmail.com>写道:2014-04-15 0:37 GMT-04:00 chai2010 <chais...@gmail.com>:运算符重载和泛型比, 没有也不算大的问题.之前看过rsc的泛型文章, 说实话还是喜欢C++的方式.但是rsc说C++的方式会: "This slows compilation."难道这个不是他们抵制这种方式的原因吗?还有 bloated binary 吧。就我个人来说,我也认可 C++ 的方式。对于 Go 或许有办法来解决这个问题(C++ bloated binary 我以为是两个原因:1, 即使是内存里面结构相同的的不同类型T1和T2,std::vector<T1>和std::vector<T2>会生成两套实现;之前看image包的接口, 发现对于 Gray16 等是采用不依赖字节序的方式处理的:// Pix holds the image's pixels, as gray values in big-endian format ...如果是采用C++的泛型方式, 这里应该是用和机器序相关的 uint16.
想请教下, 如果以后 Go 采用类似 C++ 泛型, image.Gray16 这种设计是不是和泛型冲突的 ?
2. 大多数目前使用的 C++ 依赖于传统的链接器,所以 C++ 编译器必须假设每个可能用到的 template 都得例化,然后依赖链接器去解决重复定义的问题。但是这个不是万能的,rsc 的文章里提到的取消/重新规整 template 之后 .text 从若干 MB 减少到 几十 KB就是例子。Go 不完全依赖普通的链接器,而是拥有自己的链接器,所以其实是可以部分解决第二个问题的(template 会导致过度的 inlining,这个问题靠独立的链接器解决不了),但是第一个问题就比较麻烦了。我的感觉是,相对其他方式,C++ 这个是唯一 Go 能接受的实现方式(用最常见的例子,max 函数来说,我就是希望对于不同类型例化完全独立的函数,也就是有一部分二进制体积的增长是不可避免的,相对现在手工提供maxInt32, maxFloat64来说,这个其实是一样的)。但是有几个问题必须解决:1. binary bloat2. template 不是在某种意义上说不是 type safe 的。Go 显然不会引入 C++ concept 来解决这个问题。(e.g. 使用一个 template 的时候,如果不展开 template 的内容,无法知道使用是否正确;这里似乎是使用 interface 的好机会)3. 如何把设计和现有的 Go 特性(尤其是interface)完美地融合和交互?现在有人在做这个设计吗? Go2是不是可能会解决泛型的问题?
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CAJUoX_N-RZHLnaS9Od%3D08MujZQv4sqnyRWarLqczXxXo%3DpCHww%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
我为什么放弃Go语言
看来Liigo伤的很深,好久没看他发言了。------------------------------------------------------VineyBlog:http://nanhaizh.cnGithub: http://github.com/vineyFacebook: http://facebook.com/VineyChowTwitter: http://twitter.com/VineyChowWeibo: http://weibo.com/VineyChowE-mail: viney...@gmail.com
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
这文章引起了老外的注意:why is Golang popular in china?
我觉得Liigo有必要再写篇英文版的Go rant去澄清一下。
在 2014年4月15日 上午10:54,Viney Chow <viney...@gmail.com>写 道:
--
--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina
---
您收到此邮件是因为您订阅了Google网上论坛中的“Golang-China”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到golang-china...@googlegroups.com。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CAKHox9pG6O9jd4ErsFt0vDVSXPyhcGnSf3%2BVzoEAS6_tB1Lj1A%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CAN%3DS4tqDAfxT%2BRhLyKmn-TQkGgN-sCZKrLvLrhrxrsk%3DH4vQcw%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/golang-china/CAHf7%2BKo66hnes73WN96OxGuyK2nUXCS5etSb_%2ByZAOsGM4Z7sA%40mail.gmail.com。
要查看更多选项,请访问https://groups.google.com/d/optout。