Redian新闻
>
Go 语言的综合评论 by 王垠
avatar
Go 语言的综合评论 by 王垠# Programming - 葵花宝典
a*i
1
用一句话开头就是——那些年我在银行受过的气!作为一个没什么钱也并没有什么特殊
业务的普通大众,我想银行应该挺喜欢我的,网银用的溜,取款都自助,鲜少上柜台,
评价都满意。然而看了那么多悲惨人士的吐槽,虽然大多数我都没遇上过,但是遇上这
些事儿,小编我也不能忍啊。
没收没收通通没收
我想遇上自助取出假币上了柜台就被没收的事儿,应该不少人遇到过,虽然概率低到微
小,但是架不住天朝基数大(13亿),当然最令人不能忍的是,银行并不会补偿你损失
的这几百块钱,即使你告诉他你刚从ATM过来。就更别说回家过了几天才发现取出假钞
的了,乖乖自认倒霉,都离开几天了,来源更不明。每当看到这样的新闻,小编只好在
内心深深的掬一把同情泪,感觉挺难过,好像自己丢了钱。讲真,虽然银行方面我也有
理解的理由,但还是觉得难以接受,即使是验钞机,再加上人手,也总会有出错的几率
,什么时候银行肯为这种微小几率的错误负责时,什么时候才是进步。
你懂假币鉴别吗
电视上网络上假币鉴别的教学图片很多,然而像小编一样即使看了也还是不懂假币鉴别
的人站出来给我看看!让我知道我不是一个人。曾经看过网络上教如果在ATM取出假币
,正确做法是将发现的假币凑近摄像头,留下证据,记录下自己的脸以及取款凭条,尽
量别把钱塞钱包,直接上柜台处理,通过录像能够证明钱来自ATM,并未经他人或离开
摄像头视线可以要求银行赔偿损失。不然的话只要你带着钱离开银行的监控范围就无法
证明来源了。但是小编感觉这个技能我大概是get不到了,先不说我实在不懂鉴别假币
,有谁取了一大叠钱先在摄像头前一一检查过啊,就数钱那点功夫我还看不出来是真是
假好么,磨磨蹭蹭的是想要排队的打死我吗?
关于年费和管理费
前段时间在社交网络上热闹的很的一件事,关于每家银行可免一张年费及管理费的银行
卡。这事儿小编没在网上看见之前是真不知道,据说从去年几月份就开始实行了,然而
银行并未下发通知给储户,银行也不会主动帮你免,要自己去申请,然而在我并不知道
的时候,我要怎么去申请。不说主动免了,基本通知也不做到,那大众唯一能想到的理
由不就是继续敛财么,毕竟辣么多人呢(13亿),一人30块真是好大一笔巨款。不过对
于像小编一样的穷逼来说,30块呢,干什么不好,要给你呢?
avatar
f*e
2
急问DS-2019问题
大家好,有个DS-2019的问题想请教大家。我的旧2019表将于2013-04-30过期(签证
2013-04-17过期)。现在正在和学校办理新的DS-2019表,请问新表必须在在04-30之前
办好是吗?万一来不及,中间出现几天间隔,会有什么后果?非法滞留?
我现在在美国博后,J1签证,但不是美国博士毕业,所以没有OPT可用。
DS-2019现在才开始办理,有可能得需要4周时间。。。现在很着急!请大家支支招!谢
谢啦!
avatar
d*2
3
太想念清脆的南瓜苗了,所以前几天在花盆里下了5颗南瓜籽,今天发芽了2颗,好开心啊。我的问题是,家里的院子
没有菜地,可以就就种在花盆里吗?是一个苗只能种一个花盆吗?花盆的口径大概是
12in这样,希望能得到指导,谢谢。
avatar
d*r
4
http://www.yinwang.org/blog-cn/2014/04/18/golang/
一家之言,贴个链接,就不转载了
他们 Sourcegraph 貌似后端在用 Go
看他一直在拿 Go 跟 C/C++, Java 比较
内存管理
... ...
Go 的垃圾回收器是一个非常原始的 mark-and-sweep,这比起像 Java,OCaml 和 Chez
Scheme 之类的语言实现,其实还处于起步阶段。
当然如果真的遇到 GC 性能问题,通过大量的 tuning,你可以部分的改善内存回收的
效率。我也看到有人写过一些文章介绍他们如何做这些事情,然而这种文章的存在说明
了 Go 的垃圾回收还非常不成熟。GC 这种事情我觉得大部分时候不应该是让程序员来
操心的,否则就是去了 GC 比起手动管理的很多优势。所以 Go 代码想要在实时性比较
高的场合,还是有很长的路要走的。
由于缺乏先进的 GC,却又带有高级的抽象,所以 Go 其实没法取代 C 和 C++ 来构造
底层系统。Go 语言的定位对我来说越来越模糊。
结论
... ...
Go 由于没有明显的优势,却又有各种其它语言里没有的问题,所以在实际工程中,我
目前更倾向于使用 Java 这样的语言。我不觉得 Go 语言和它的工具链能够帮助我迅速
的写出 PySonar 那样精密的代码。另外我还听说有人使用 Java 来实现大并发,并没
发现比起 Go 有什么明显的不足。
... ...
Go 也许暂时在某些个别的情况有特殊的强项,可以单独被使用在那个地方,但我不推
荐使用 Go 来实现复杂的算法和整个的系统。
avatar
s*u
5
中间出现几天间隔,It is fine, just explain you are waiting for new DS-2019,
you need explain to USCIS clearly when you file green card.

【在 f******e 的大作中提到】
: 急问DS-2019问题
: 大家好,有个DS-2019的问题想请教大家。我的旧2019表将于2013-04-30过期(签证
: 2013-04-17过期)。现在正在和学校办理新的DS-2019表,请问新表必须在在04-30之前
: 办好是吗?万一来不及,中间出现几天间隔,会有什么后果?非法滞留?
: 我现在在美国博后,J1签证,但不是美国博士毕业,所以没有OPT可用。
: DS-2019现在才开始办理,有可能得需要4周时间。。。现在很着急!请大家支支招!谢
: 谢啦!

avatar
c*r
6
我也算不上老手。但是据sunset杂志上的说法,至少16 in 直径16 in 深的花盆才能种
好茄子西红柿之类的蔬菜,南瓜需要的盆子只大不小。
avatar
p*2
7
Go非常适合那些学不会Javascript的C/C++程序员,但是又想偷懒的。
avatar
i*t
8
最好提前办好保险,如果I94是DS,那么几天内isso就能打出新表,然后继续办理其他
手续,所以告诉系里需要尽快拿到新表
avatar
a*a
9
南瓜秧子爬的很厉害, 而且它的根系钻到地里非常深, 用花盆种比较悬啊。
avatar
d*r
10
JavaScript 确实不是想象的那么直白呀,不少源码看着还挺 magical 的,不过我觉得
这个也不是 JS 的优点.

【在 p*****2 的大作中提到】
: Go非常适合那些学不会Javascript的C/C++程序员,但是又想偷懒的。
avatar
f*e
11
谢谢回复。现在把新合同等手续给秘书了,正在处理,她说需要找系主任签字,然后学
院处理1周,然后学些的OIS (office of international service) 处理1-2周。祈祷不
要延误。
不过没看懂你这句话的意思: “。。如果I94是DS。。”

【在 i*****t 的大作中提到】
: 最好提前办好保险,如果I94是DS,那么几天内isso就能打出新表,然后继续办理其他
: 手续,所以告诉系里需要尽快拿到新表

avatar
p*2
12

Go的优势就是大并发,这个也是Node优势。这两个都是很便宜的可以做大兵法的利器。
熟悉了Node之后基本没有必要学Go了,因为Go就是可以更懒的做大兵法。但是习惯不了
JS的人,就觉得Go很不错了。

【在 d*******r 的大作中提到】
: JavaScript 确实不是想象的那么直白呀,不少源码看着还挺 magical 的,不过我觉得
: 这个也不是 JS 的优点.

avatar
i*t
13
一般i94有效日期D/S,表示不需要重新到ucsic申请延期,否则那个需要几个月

【在 f******e 的大作中提到】
: 谢谢回复。现在把新合同等手续给秘书了,正在处理,她说需要找系主任签字,然后学
: 院处理1周,然后学些的OIS (office of international service) 处理1-2周。祈祷不
: 要延误。
: 不过没看懂你这句话的意思: “。。如果I94是DS。。”

avatar
p*2
14
其实Go的东西我是看过一些,一来语法不喜欢,二来没有什么Node做不了的,所以没有
什么必要进一步学习。
avatar
h*n
15
叫你老板去push一下。
老板够牛的话,当天就办好了
不够牛一周也够了
赶快去弄是正道

【在 f******e 的大作中提到】
: 急问DS-2019问题
: 大家好,有个DS-2019的问题想请教大家。我的旧2019表将于2013-04-30过期(签证
: 2013-04-17过期)。现在正在和学校办理新的DS-2019表,请问新表必须在在04-30之前
: 办好是吗?万一来不及,中间出现几天间隔,会有什么后果?非法滞留?
: 我现在在美国博后,J1签证,但不是美国博士毕业,所以没有OPT可用。
: DS-2019现在才开始办理,有可能得需要4周时间。。。现在很着急!请大家支支招!谢
: 谢啦!

avatar
k*g
18

Java, C++ and C# can all do concurrency well. Concurrency code would look
more natural in Go but it does not hold a monopoly.
Making concurrency popular is a massive educational effort. Some CS
curriculum are missing bits and pieces that enable one to understand
concurrency. (Intro to CS is not sufficient.) It is not just a matter of
framework or language.
Anyway, Python is crippled.

【在 d*******r 的大作中提到】
: 再转一篇 Go 的评论,里面不少观点跟王这篇吻合
: http://blog.csdn.net/liigo/article/details/23699459

avatar
g*g
20
Concurrency is overrated. It's what can be contained in frameworks not
necessarily languages.
avatar
M*z
21
如果把程序语言看成是针对软件制造的工具来看待,就势必需要考虑技术以外的因素。
使用工具的人需要分类:外行,初级,中级,高级,骨灰等等。
工具能实现的目标种类和程度也需要分类。
工具的实际产出也会影响市场。
仅这几项这就已经3-4个维度需要考虑了。
每个人站在自己的分类中都会看到不一样的东西。程序语言之争,很多来源于此。它本
身也是一种产品,这个角度对看客来说,可能更适合理解市场格局的变化吧。
avatar
l*s
22
大牛对“极度强调编译速度,不惜放弃本应提供的功能”展开说说?

【在 d*******r 的大作中提到】
: 再转一篇 Go 的评论,里面不少观点跟王这篇吻合
: http://blog.csdn.net/liigo/article/details/23699459

avatar
l*s
23
看了下评论,其实说到底就是golang的理念和java,c++大相径庭,旧人不适应罢了。
avatar
l*s
24
这个的重要性只有java取消内存管理可以勉强比一下。

【在 k**********g 的大作中提到】
:
: Java, C++ and C# can all do concurrency well. Concurrency code would look
: more natural in Go but it does not hold a monopoly.
: Making concurrency popular is a massive educational effort. Some CS
: curriculum are missing bits and pieces that enable one to understand
: concurrency. (Intro to CS is not sufficient.) It is not just a matter of
: framework or language.
: Anyway, Python is crippled.

avatar
p*2
25
那大牛说说go还有什么优势

【在 g*****g 的大作中提到】
: Concurrency is overrated. It's what can be contained in frameworks not
: necessarily languages.

avatar
p*2
26
大牛说说go的理念那个是新的?



【在 l*********s 的大作中提到】
: 看了下评论,其实说到底就是golang的理念和java,c++大相径庭,旧人不适应罢了。
avatar
d*a
27
编程语言如此之多,再多一个不怕。

【在 p*****2 的大作中提到】
: 那大牛说说go还有什么优势
avatar
l*s
28
http://blog.csdn.net/liigo/article/details/23699459
golang 不仅仅是一个语言,它也是一个新的设计理念。他鼓励我们抛弃OO那种承重的
继承,抛弃交叉引用,抛弃复杂的设计模式,简单轻装前行。

【在 p*****2 的大作中提到】
: 大牛说说go的理念那个是新的?
:
: 。

avatar
p*2
29
大牛 这样的语言不要太多了吧

【在 l*********s 的大作中提到】
: http://blog.csdn.net/liigo/article/details/23699459
: golang 不仅仅是一个语言,它也是一个新的设计理念。他鼓励我们抛弃OO那种承重的
: 继承,抛弃交叉引用,抛弃复杂的设计模式,简单轻装前行。

avatar
c*0
30

那要看和谁比了,比如和node比的话,首先性能甩一条街,其次可读性甩两条街,其三
可维护度甩三条街。
大牛说说Node和Go比有什么优势?除了能满足javascript程序员不用重新学习一门语言外

【在 p*****2 的大作中提到】
: 那大牛说说go还有什么优势
avatar
l*s
31
大牛说说静态语言里面实用兼顾优雅的还有那个啊?

【在 p*****2 的大作中提到】
: 大牛 这样的语言不要太多了吧
avatar
p*2
32

言外
大牛真是没用过coffee,世界上最expressive的language。Go是Node的一个竞争对手不
错,都是擅长与大并发的,但是没好好用过Node的是不会体会到Node的精妙之处的。用
Node的感觉就是一种享受,用Go就是感觉窝囊。我倒是希望能出来一本书《Go,the
good parts》。

【在 c*******0 的大作中提到】
:
: 那要看和谁比了,比如和node比的话,首先性能甩一条街,其次可读性甩两条街,其三
: 可维护度甩三条街。
: 大牛说说Node和Go比有什么优势?除了能满足javascript程序员不用重新学习一门语言外

avatar
c*0
33

看着大牛这种没用过Go在实际项目中的人评论Go真是觉得有点可笑,这样吧,我把你上
面这段话该一下原样奉还
大牛真是没用过Go,世界上最expressive的language。Node是Go的一个竞争对手不
错,都是擅长与大并发的,但是没好好用过Go的是不会体会到Go的精妙之处的。用
Go的感觉就是一种享受,用Node就是感觉窝囊。
另外,欢迎大牛写《Go,the good parts》。不过写之前千万别告诉别人你只看过Go的
tutorial,没有任何项目经验哦

【在 p*****2 的大作中提到】
:
: 言外
: 大牛真是没用过coffee,世界上最expressive的language。Go是Node的一个竞争对手不
: 错,都是擅长与大并发的,但是没好好用过Node的是不会体会到Node的精妙之处的。用
: Node的感觉就是一种享受,用Go就是感觉窝囊。我倒是希望能出来一本书《Go,the
: good parts》。

avatar
c*0
34
另外补充一句,我心中世界上最expressive的语言是Python。我看过Coffee,玩过几个
小例子。感觉不是我的菜,语法感觉是ruby和python的混杂。就没继续了。
当然我自认对coffee了解不深,所以我从来不评价说Coffee窝囊。不象某些人,在不了
解某些语言的时候就大放厥词
avatar
l*s
35
re,python除了慢就没啥大缺点了。

【在 c*******0 的大作中提到】
: 另外补充一句,我心中世界上最expressive的语言是Python。我看过Coffee,玩过几个
: 小例子。感觉不是我的菜,语法感觉是ruby和python的混杂。就没继续了。
: 当然我自认对coffee了解不深,所以我从来不评价说Coffee窝囊。不象某些人,在不了
: 解某些语言的时候就大放厥词

avatar
d*r
36
是啊,functional 了以后,很多 OOP pattern 就不是必要的了

【在 p*****2 的大作中提到】
: 大牛 这样的语言不要太多了吧
avatar
d*r
37
很多用 Node 好的,都是从后端转过去的, 比如下面写书这个朴灵,就是阿里做后端的
http://book.douban.com/subject/25768396/
前后端打通了,是最爽的部分,其实是给力我们这种做系统或者后端的人,
一个自己一并实现前端,直接实现完整产品的机会,对于拓展视野,full stack自己单
干,非常有帮助 !
npm 用着很方便,很多前端框架默认就支持得很好,都是 npm install angular 什么
的,就搞定了.
可以预见,随后的高效开发的前后端一体的框架,会非常多,举个例子,下面这个就是
从 npm 开始设置:
http://ionicframework.com/getting-started/
这个我觉得是 Go 完全无法提供的.
最近都在玩 Node, 发现因为 Node community 大,而且创造力好,真是啥都有.
连 ffmpeg 都有做好的 wrapper, 而且也是无痛直接安装: npm install fluent-
ffmpeg
不过我承认 Node.js lib 的代码有些难读,可能我是 C/C++ 出身,JS 还是太菜了

言外

【在 c*******0 的大作中提到】
: 另外补充一句,我心中世界上最expressive的语言是Python。我看过Coffee,玩过几个
: 小例子。感觉不是我的菜,语法感觉是ruby和python的混杂。就没继续了。
: 当然我自认对coffee了解不深,所以我从来不评价说Coffee窝囊。不象某些人,在不了
: 解某些语言的时候就大放厥词

avatar
p*2
38

大牛。我不是乱说Go的,我的Go的看法,很多文章里都看到了,所以不是我一家之言呀


【在 c*******0 的大作中提到】
: 另外补充一句,我心中世界上最expressive的语言是Python。我看过Coffee,玩过几个
: 小例子。感觉不是我的菜,语法感觉是ruby和python的混杂。就没继续了。
: 当然我自认对coffee了解不深,所以我从来不评价说Coffee窝囊。不象某些人,在不了
: 解某些语言的时候就大放厥词

avatar
p*2
39

大牛学的好快呀。我也不觉得搞前端的会JS就能学好Node。前端后端感觉还是很不同的
。Node最迷人的之处确实像大牛你说的,让我们这些搞后端的可以前后同吃,full
stack。

【在 d*******r 的大作中提到】
: 很多用 Node 好的,都是从后端转过去的, 比如下面写书这个朴灵,就是阿里做后端的
: http://book.douban.com/subject/25768396/
: 前后端打通了,是最爽的部分,其实是给力我们这种做系统或者后端的人,
: 一个自己一并实现前端,直接实现完整产品的机会,对于拓展视野,full stack自己单
: 干,非常有帮助 !
: npm 用着很方便,很多前端框架默认就支持得很好,都是 npm install angular 什么
: 的,就搞定了.
: 可以预见,随后的高效开发的前后端一体的框架,会非常多,举个例子,下面这个就是
: 从 npm 开始设置:
: http://ionicframework.com/getting-started/

avatar
p*2
40

大牛我学过的语言没有20种,也有10几种,我对语言的第一印象和对语言的理解也不是
那么弱不禁风。
很多语言一看就很elegant,比如coffee,clojure这种,甚至scala。但是go完全不同
。我觉得我如果只会C/C++的话可能会喜欢go。

【在 c*******0 的大作中提到】
: 另外补充一句,我心中世界上最expressive的语言是Python。我看过Coffee,玩过几个
: 小例子。感觉不是我的菜,语法感觉是ruby和python的混杂。就没继续了。
: 当然我自认对coffee了解不深,所以我从来不评价说Coffee窝囊。不象某些人,在不了
: 解某些语言的时候就大放厥词

avatar
d*r
41
前端我是个菜,之前一个项目,跟前端的人混了2个星期,折腾一些 HLS protocol,
WebSocket 的东西,
传统前端帮人写东西那叫一个乱啊,各种 ad-hoc 的 tricks ... 太恐怖鸟
我觉得有系统或者后端经验的人去做,应该能做得更好

【在 p*****2 的大作中提到】
:
: 大牛我学过的语言没有20种,也有10几种,我对语言的第一印象和对语言的理解也不是
: 那么弱不禁风。
: 很多语言一看就很elegant,比如coffee,clojure这种,甚至scala。但是go完全不同
: 。我觉得我如果只会C/C++的话可能会喜欢go。

avatar
c*0
42

这是我最后一次回这种无聊的没有干货的语言争论贴。
我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
种行为。
你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
的arguments。
你看看你说Go有过什么观点?你除了在看tutorial时候发几句不知所云的挠骚以外有什
么point么?
换句话说,你到底明白Go是给谁用的么?
你们说Node多好,前后统一,你可以顾前顾后,上手快,prototype快,startup利器。
这些是大家都明白的东西。但你要说这样的话Node可以统一所有公司的后端,我说这是
bullshit。公司项目大了之后,真正的后端一定是专门的后端,有大量business logic
和分布式通信,一定不是所谓和前端紧密配合的后端,一定是非常隔离的后端service
,有专门的人干service,不会考虑什么语言想通。你看看Walmart是怎么用Node的?本
质上就是Node作为中间层router。他们真正的business logic是Java写的。真正的后端
Node根本就不是最牛逼的东西,两个根本限制,一个是速度,一个是代码规模不能太大。
你现在所处的阶段可能是startup可能是中等项目,根本就遇不到这些问题,所以你觉
得Node闭月羞花成鱼落雁,等到你真正遇到这些问题的时候,你就明白Python Node这
些语言的弊端了。不过说句不耐听的话,我每次看到你们几个讨论什么“restful
service = backend”这种东西的时候,我就忍不住想,这得多井底之蛙才能说出这种
话啊。
Java现在在IT后端基本是统治地位。Java语言设计如何?繁琐枯燥。Java优雅不优雅?
差十万八千里。但为什么Java还是统治地位?原因很简单,最后上什么合适不是由语言
的语法糖设计所决定的,是由这门语言适不适合大规模开发, 维护,有没有运行速度
和开发速度的很好平衡,有没有部署问题,这些因素决定的。你以为最后选Java的这些
人都是
傻子啊?王垠心目中最好的设计是Functional language,Paul Graham心目中最好的语
言是Lisp,结果呢?这些语言对于工业界有什么历史性影响?也许Scala有这个希望,
但你看看从语言设计上人们把scala骂成什么了?结果人家是最有希望火的FP,原因还
在于JVM。
我们再回过头看Go。Go设计一开始的初衷就是让人们更好去做scalable的development
,面向的是超级大型后端项目,或者是自己希望成为超级大型的后端项目。Again,你
开一个web server去host一些数据库的数据,这个不叫大型后端项目。Go针对的是像
Vitess, Docker这种类型的后端。如果你根本就没有这种后端的需求,那你就没有必要
上Go。那是你的需求问题,不是Go的问题。Go在Google内部的接受率非常快,但是你(
或者甚至某些Googler)却很少听说,为什么?因为Google内部上Go的项目都是没有任
何公开度的后端,而且是那种需要巨大scalability的后端,到了redesign周期的时候
才会用Go。不知道的人就在那里人云亦用什么Google自己都不用Go。
最后再提一句,你每次说Go就说没有接受度,说Node就说什么Taobao用Walkmart用,搞
的真的一样。那是因为Go coder低调,不认为这种比较有意义。Go的production使用,
或者是大后端或者是后端的module,从大公司(Google,Mozilla,BBC,Canonical )
到中登公司(Heroku,Bitly,Atlassian,Flipboard)到小公司(SendGrid,Iron,
Soundcloud)到hot startup(Secretly,CloudFlare,Shopify)。如果Go coder像你
这样听到一个公司某个模块用Node就出来宣扬一番,大家都别干活了。Go适合的人是那
种干实事的人,不是那种成天打语言仗的人

【在 p*****2 的大作中提到】
:
: 大牛我学过的语言没有20种,也有10几种,我对语言的第一印象和对语言的理解也不是
: 那么弱不禁风。
: 很多语言一看就很elegant,比如coffee,clojure这种,甚至scala。但是go完全不同
: 。我觉得我如果只会C/C++的话可能会喜欢go。

avatar
G*Y
43
信息量好大
其实我觉得京二是真心手痒痒想上Go但是没得着机会呀

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
d*r
44
这个有干货,大牛消消气,大家好好讨论
我就是挖点坑,引大家讨论的,抛砖引玉

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
l*n
45
Python is too expressive。太复杂了。

【在 c*******0 的大作中提到】
: 另外补充一句,我心中世界上最expressive的语言是Python。我看过Coffee,玩过几个
: 小例子。感觉不是我的菜,语法感觉是ruby和python的混杂。就没继续了。
: 当然我自认对coffee了解不深,所以我从来不评价说Coffee窝囊。不象某些人,在不了
: 解某些语言的时候就大放厥词

avatar
d*f
46
说实话我都不知道go的设计目的是什么,这玩意很多概念非常落伍,感觉像是想要开发
一种小学生也能用的软件,但是到了实用部分,比如concurrency就是多年经验的马工
都感觉别扭

Chez

【在 d*******r 的大作中提到】
: http://www.yinwang.org/blog-cn/2014/04/18/golang/
: 一家之言,贴个链接,就不转载了
: 他们 Sourcegraph 貌似后端在用 Go
: 看他一直在拿 Go 跟 C/C++, Java 比较
: 内存管理
: ... ...
: Go 的垃圾回收器是一个非常原始的 mark-and-sweep,这比起像 Java,OCaml 和 Chez
: Scheme 之类的语言实现,其实还处于起步阶段。
: 当然如果真的遇到 GC 性能问题,通过大量的 tuning,你可以部分的改善内存回收的
: 效率。我也看到有人写过一些文章介绍他们如何做这些事情,然而这种文章的存在说明

avatar
l*n
47
同意这个

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
l*n
48
大牛是说go要replace Java吗?大牛展开说说。是因为大并发吗?

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
G*Y
49
从语言本身角度还是不错的。
我真心希望他能快速普及到scientific computing领域来。
这样,我就不必用C/C++了。
但是Google的方向是做网络,这就跟我不搭界了。。。

【在 d********f 的大作中提到】
: 说实话我都不知道go的设计目的是什么,这玩意很多概念非常落伍,感觉像是想要开发
: 一种小学生也能用的软件,但是到了实用部分,比如concurrency就是多年经验的马工
: 都感觉别扭
:
: Chez

avatar
G*Y
50
这点其实很致命。自己写东西是一回事。
做大project,很大程度上要能看懂别人写的东西。语言太灵活了,维护代码的成本太
高了。
Golang把语言的core搞小点,这个理念很好。

【在 l**********n 的大作中提到】
: Python is too expressive。太复杂了。
avatar
w*g
51
C++ cannot。理论上说C++是可以的,但是目前C++标准或者boost中都没有一个支持用
户态大并发的库。这一点我非常羡慕go。还有就是go的编译速度,比c++领先一个光年。

【在 k**********g 的大作中提到】
:
: Java, C++ and C# can all do concurrency well. Concurrency code would look
: more natural in Go but it does not hold a monopoly.
: Making concurrency popular is a massive educational effort. Some CS
: curriculum are missing bits and pieces that enable one to understand
: concurrency. (Intro to CS is not sufficient.) It is not just a matter of
: framework or language.
: Anyway, Python is crippled.

avatar
w*g
52
go的concurrency是很牛的。如果说go还有什么可以称道的,我觉得concurrency是最大
的一个。确实如王垠所说,只要有足够的motivation很多语言都可以做。但是现实是大
部分语言都没有,而且在可以预见的将来也不会有。Node要和go比concurrency,我觉
得比较可笑。解释型语言不管怎么说性能上先低了一等了。
要说经验,rob pike在concurrency上的经验肯定比你们丰富得多,应该很有发言权。

【在 d********f 的大作中提到】
: 说实话我都不知道go的设计目的是什么,这玩意很多概念非常落伍,感觉像是想要开发
: 一种小学生也能用的软件,但是到了实用部分,比如concurrency就是多年经验的马工
: 都感觉别扭
:
: Chez

avatar
w*g
53
go的concurrency跟scientific computing是两条路子,我觉得你可能等不来那天了。
科学计算的话我觉得还是MPI, openmp, C++, lapack, 外加外面包个scipy比较靠谱。

【在 G**Y 的大作中提到】
: 从语言本身角度还是不错的。
: 我真心希望他能快速普及到scientific computing领域来。
: 这样,我就不必用C/C++了。
: 但是Google的方向是做网络,这就跟我不搭界了。。。

avatar
g*g
54
赞干货,谈谈java跟 go优劣吧,既然 node不是 go 竞争的方向。

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
l*s
55
me too, w我觉得二爷战斗golang的目的就是想看看学了有没有前途

【在 G**Y 的大作中提到】
: 信息量好大
: 其实我觉得京二是真心手痒痒想上Go但是没得着机会呀

avatar
l*s
56
那是经验太多脑子僵化了。

【在 d********f 的大作中提到】
: 说实话我都不知道go的设计目的是什么,这玩意很多概念非常落伍,感觉像是想要开发
: 一种小学生也能用的软件,但是到了实用部分,比如concurrency就是多年经验的马工
: 都感觉别扭
:
: Chez

avatar
p*2
57
很难想象这个是对我的回复

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
f*t
58
你脾气好,不怕被喷:D

【在 p*****2 的大作中提到】
: 很难想象这个是对我的回复
avatar
z*3
59
python不复杂,问题在于,debug太困难了
一旦bug没有被及时发现,下放生产之后
我就有半夜被叫起来干活的可能,我可不想这样

【在 l**********n 的大作中提到】
: Python is too expressive。太复杂了。
avatar
z*3
60
干货说得很好
速度和规模是所有脚本的瓶颈,基本上都不行
go最大问题是其他人不配合,一个idea出来不难,随便是个人都可以有idea
但是如何推广,是最大的问题
这个其实对于大多数软件来说都是一样的

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
z*3
61
干货说得很好阿
你打算做啥?如果你只是想做web sever,讨论啥go阿
php vs nodejs才是王道

【在 G**Y 的大作中提到】
: 信息量好大
: 其实我觉得京二是真心手痒痒想上Go但是没得着机会呀

avatar
z*3
62
你用hpc的懂个狗屁分布式

【在 d********f 的大作中提到】
: 说实话我都不知道go的设计目的是什么,这玩意很多概念非常落伍,感觉像是想要开发
: 一种小学生也能用的软件,但是到了实用部分,比如concurrency就是多年经验的马工
: 都感觉别扭
:
: Chez

avatar
z*3
63
科学计算就是一大坑
一堆人写pbsscript然后排队进hpc的调度
又贵又不实用
离开了大学几乎没有啥人在用,尤其是google这种民用it公司
scipy还是有点价值的,至少tfidf那些人会用scipy

【在 w***g 的大作中提到】
: go的concurrency跟scientific computing是两条路子,我觉得你可能等不来那天了。
: 科学计算的话我觉得还是MPI, openmp, C++, lapack, 外加外面包个scipy比较靠谱。

avatar
z*3
64
go最大的作用群体应该是古德霸这种后端程序员
其他人尤其是前端程序员,看个热闹就是了,学了也用不上
就跟ejb差不多

【在 l*********s 的大作中提到】
: me too, w我觉得二爷战斗golang的目的就是想看看学了有没有前途
avatar
z*3
65
用hpc的需要懂go吗?
完全不是一个领域

【在 l*********s 的大作中提到】
: 那是经验太多脑子僵化了。
avatar
z*3
66
go只定位在做大并发的领域上这个也是有问题的
就像python现在主要定位在小型的prototype上
系统总是成长的,从小到大,没有人希望过段时间换一个eco重新来一遍
java就是小了我可以用,就是重了点,重了点无所谓,还是能用
大了我也可以用,不用换语言,这个很重要
java现在从app到web到sever全部打通
我招一个java程序员,它可以从头做到尾
从游戏到服务器,它都能做,这其实很重要,尤其是对于小公司来说
没钱,又需要人手干活

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
z*3
67
java做后端好处在于ecosystem大
你遇到任何瓶颈,网络上一搜,很容易的,到处都是别人的做法
ejb怎么做,spring怎么做,core java怎么做
文档多得一塌糊涂,而且javadoc是所有语言中最完整得一个
基本上没有java得project会不提供javadoc的
但是其他语言,嘿嘿
现在做后端,主要是一点python,但是实际下放生产
都是apache那些project,完全没有竞争对手
对于apache那些projects来说,比如hadoop
python在生产上还是过于缓慢了
go的话,google自己用,其他人不懂go,没有文档这些,我也没有办法
其实将白了这一块就是google先做
然后apache用java抄,然后其他公司用apache的
avatar
z*3
68
王垠的观点四平八稳,没啥可以挑剔的地方
它的trick在于,观点和态度截然相反
它的观点是对的,态度很糟糕
如果把王得态度换一下,你还以为是古德霸在说这些东西
avatar
z*3
69
人其实是反感随便变来变去的
java的成功很大程度上得益于它跟c比较像
就像字节码这种东西最早是fortran搞出来的
内存优化jit这些最早是strong talk用来商业化的
但是最后这些都没有成功,java抄了这三个成功的经验之后
成功了,所以新的东西本身就像基因突变
99%都是不好的,剩下的1%推动了人类的进步
oo也许有很多繁琐的地方,但是抛弃oo本身,很有可能是那99%

【在 l*********s 的大作中提到】
: http://blog.csdn.net/liigo/article/details/23699459
: golang 不仅仅是一个语言,它也是一个新的设计理念。他鼓励我们抛弃OO那种承重的
: 继承,抛弃交叉引用,抛弃复杂的设计模式,简单轻装前行。

avatar
z*3
70
跟解释执行无关撒
解释执行可以通过jit来优化,就像java一样
v8有jit呢,python要pypy才有jit
go也可以有jit
nodejs的瓶颈在于动态类型,而不是解释执行
go是静态类型,所以优化空间更大一点
所以显然比js快

【在 w***g 的大作中提到】
: go的concurrency跟scientific computing是两条路子,我觉得你可能等不来那天了。
: 科学计算的话我觉得还是MPI, openmp, C++, lapack, 外加外面包个scipy比较靠谱。

avatar
z*3
71
大project
你别出问题耽误全队才是第一要素
如果你出了一个什么问题,让全组人陪着你加班
那你就离滚蛋不远了,这个跟debug关系最大
debug如果debug不出来,那会无意中遗漏关键的错误
导致下放生产,甚至无法重现这种错误,那麻烦就大了
可读性的话跟所谓的“简洁”其实是冲突的
读代码时候,你只会希望别人写得越详细越好
而不是越简单越好,详细了,繁琐了,你可以获取得信息才多
少写那么几个字有可能对于你来说是致命的
你听英语听力也希望关键字反复出现啊,难道一带而过你很容易听懂?
不可能的

【在 G**Y 的大作中提到】
: 这点其实很致命。自己写东西是一回事。
: 做大project,很大程度上要能看懂别人写的东西。语言太灵活了,维护代码的成本太
: 高了。
: Golang把语言的core搞小点,这个理念很好。

avatar
z*3
72
这篇回帖没有让钻风发现并推荐上首页实在是可惜了
这篇回帖干货灰常多,而且主题很明确
其实要想分析go和java,你要从java的几个优势入手
gc, 垮平台,可读性,效率jit,容错这些地方来说
王给比较了几个,这篇回帖也给说了几个
不过从后面的回帖看,没几个真领悟到的,还是很欢乐哈

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

avatar
z*3
73
不过说句不耐听的话,我每次看到你们几个讨论什么“restful service = backend”
这种东西的时候,我就忍不住想,这得多井底之蛙才能说出这种话啊。
这个主要是以前公孙大神的胡扯,不过现在公孙大神估计已经不这么认为了
avatar
d*f
74
看到抓挖打字员谈debug,我笑了

【在 z*******3 的大作中提到】
: python不复杂,问题在于,debug太困难了
: 一旦bug没有被及时发现,下放生产之后
: 我就有半夜被叫起来干活的可能,我可不想这样

avatar
z*3
75
不用笑,java一般没有debug的问题哈哈
有问题的都是写脚本的

【在 d********f 的大作中提到】
: 看到抓挖打字员谈debug,我笑了
avatar
x*k
76
你确定一个合格的c/c++程序员学不会javascript?

【在 p*****2 的大作中提到】
: Go非常适合那些学不会Javascript的C/C++程序员,但是又想偷懒的。
avatar
p*2
77
不确定

【在 x****k 的大作中提到】
: 你确定一个合格的c/c++程序员学不会javascript?
avatar
p*2
78
被大神们喷喷自己也神气一点 呵呵

【在 f*******t 的大作中提到】
: 你脾气好,不怕被喷:D
avatar
p*2
79
顶 不过据我观察 go也是想在Web server这里抢市场的 找个落脚点

【在 z*******3 的大作中提到】
: 干货说得很好阿
: 你打算做啥?如果你只是想做web sever,讨论啥go阿
: php vs nodejs才是王道

avatar
p*2
80
估计goodbug也不想在用指针了吧

【在 z*******3 的大作中提到】
: go最大的作用群体应该是古德霸这种后端程序员
: 其他人尤其是前端程序员,看个热闹就是了,学了也用不上
: 就跟ejb差不多

avatar
z*3
81
咳,是个语言不都有个web server么?
就像scala的play一样

【在 p*****2 的大作中提到】
: 顶 不过据我观察 go也是想在Web server这里抢市场的 找个落脚点
avatar
p*2
82
确实这样 所以这两的真正应用主要是Web server
这个也验证了goodbug所说的两句话了

【在 z*******3 的大作中提到】
: 咳,是个语言不都有个web server么?
: 就像scala的play一样

avatar
z*3
83
dart也快要有自己的web server鸟
到时候看看谁更快撒
avatar
c*l
86
你觉得这世界上哪些主流语言能比java更debug-friendly?
vb? c? perl?

【在 d********f 的大作中提到】
: 看到抓挖打字员谈debug,我笑了
avatar
z*e
87
丫是一用hpc的,不懂这些
天天写一点pbsscript提交到调度,然后等一个晚上,第二天来看结果
这个你在大学弄弄就知道了,很无聊的

【在 c********l 的大作中提到】
: 你觉得这世界上哪些主流语言能比java更debug-friendly?
: vb? c? perl?

avatar
w*w
88
赞一个! 顺便mark一下!
^_^

【在 c*******0 的大作中提到】
:
: 这是我最后一次回这种无聊的没有干货的语言争论贴。
: 我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢Go,就像我
: 确实不喜欢C++一样。我不能理解的是你既然不喜欢还成天说Go,我能想到的
: motivation就是Go和Node是竞争者,你想宣扬Node,所以没事就打击Go。我很看不惯这
: 种行为。
: 你要是打击Go也可以,至少学学王垠,真正理解Go的问题。王垠这篇文章是他所有文章
: 里面我唯一看得上的(他那些什么黑客文化之类的不知道在胡扯些啥)。原因很简单,
: 他说的Go的问题都是实际实践中确实存在的问题。他的结论我不一定赞同,但我尊重他
: 的arguments。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。