由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Go 语言的综合评论 by 王垠
相关主题
来看用什么来把nodejs给干死掉纸上谈兵
goLang吸引了很多Ruby/Python程序员微软的架构设计师真是大学生水平啊
我来说说go的目标对手吧Node.js 写的 JS 代码有点难读懂
Node过两年会不会被go打的满地找牙?golang 怎么把"image"库都放标准库里了?
用了一下node.js, 看来js要一同天下啊,只要那些人golang虽然不会一统江湖,但是,干掉python ,ruby是迟早的事情
取代C++!Google 开发自己的编程语言Golang了 (转载)scala和go的区别
c++ programmer们就不用悲愤了网站前端都是用javascript和html写的吗 ?
学FP不是为了写代码, 而是为了优秀的架构.Node, Express 一问
相关话题的讨论汇总
话题: go话题: node话题: java话题: 语言话题: concurrency
1 (共1页)
d*******r
发帖数: 3299
1
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 来实现复杂的算法和整个的系统。
p*****2
发帖数: 21240
2
Go非常适合那些学不会Javascript的C/C++程序员,但是又想偷懒的。
d*******r
发帖数: 3299
3
JavaScript 确实不是想象的那么直白呀,不少源码看着还挺 magical 的,不过我觉得
这个也不是 JS 的优点.

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

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

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

p*****2
发帖数: 21240
5
其实Go的东西我是看过一些,一来语法不喜欢,二来没有什么Node做不了的,所以没有
什么必要进一步学习。
d*******r
发帖数: 3299
6
再转一篇 Go 的评论,里面不少观点跟王这篇吻合
http://blog.csdn.net/liigo/article/details/23699459
p*****2
发帖数: 21240
7

大牛怎么突然对Go这么感兴趣了?

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

k**********g
发帖数: 989
8

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

p*****2
发帖数: 21240
9

看来认为Go丑陋的不止我一个人呀。

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

g*****g
发帖数: 34805
10
Concurrency is overrated. It's what can be contained in frameworks not
necessarily languages.
相关主题
取代C++!Google 开发自己的编程语言Golang了 (转载)纸上谈兵
c++ programmer们就不用悲愤了微软的架构设计师真是大学生水平啊
学FP不是为了写代码, 而是为了优秀的架构.Node.js 写的 JS 代码有点难读懂
M****z
发帖数: 1058
11
如果把程序语言看成是针对软件制造的工具来看待,就势必需要考虑技术以外的因素。
使用工具的人需要分类:外行,初级,中级,高级,骨灰等等。
工具能实现的目标种类和程度也需要分类。
工具的实际产出也会影响市场。
仅这几项这就已经3-4个维度需要考虑了。
每个人站在自己的分类中都会看到不一样的东西。程序语言之争,很多来源于此。它本
身也是一种产品,这个角度对看客来说,可能更适合理解市场格局的变化吧。
l*********s
发帖数: 5409
12
大牛对“极度强调编译速度,不惜放弃本应提供的功能”展开说说?

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

l*********s
发帖数: 5409
13
看了下评论,其实说到底就是golang的理念和java,c++大相径庭,旧人不适应罢了。
l*********s
发帖数: 5409
14
这个的重要性只有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.

p*****2
发帖数: 21240
15
那大牛说说go还有什么优势

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

p*****2
发帖数: 21240
16
大牛说说go的理念那个是新的?



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

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

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

p*****2
发帖数: 21240
19
大牛 这样的语言不要太多了吧

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

c*******0
发帖数: 5247
20

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

【在 p*****2 的大作中提到】
: 那大牛说说go还有什么优势
相关主题
golang 怎么把"image"库都放标准库里了?网站前端都是用javascript和html写的吗 ?
golang虽然不会一统江湖,但是,干掉python ,ruby是迟早的事情Node, Express 一问
scala和go的区别Node哪个框架最流行
l*********s
发帖数: 5409
21
大牛说说静态语言里面实用兼顾优雅的还有那个啊?

【在 p*****2 的大作中提到】
: 大牛 这样的语言不要太多了吧
p*****2
发帖数: 21240
22

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

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

c*******0
发帖数: 5247
23

看着大牛这种没用过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》。

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

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

d*******r
发帖数: 3299
26
是啊,functional 了以后,很多 OOP pattern 就不是必要的了

【在 p*****2 的大作中提到】
: 大牛 这样的语言不要太多了吧
d*******r
发帖数: 3299
27
很多用 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窝囊。不象某些人,在不了
: 解某些语言的时候就大放厥词

p*****2
发帖数: 21240
28

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


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

p*****2
发帖数: 21240
29

大牛学的好快呀。我也不觉得搞前端的会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/

p*****2
发帖数: 21240
30

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

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

相关主题
a C++ questiongoLang吸引了很多Ruby/Python程序员
Really Stupid Question: How to run VC++ 2008 Express (转载)我来说说go的目标对手吧
来看用什么来把nodejs给干死掉Node过两年会不会被go打的满地找牙?
d*******r
发帖数: 3299
31
前端我是个菜,之前一个项目,跟前端的人混了2个星期,折腾一些 HLS protocol,
WebSocket 的东西,
传统前端帮人写东西那叫一个乱啊,各种 ad-hoc 的 tricks ... 太恐怖鸟
我觉得有系统或者后端经验的人去做,应该能做得更好

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

c*******0
发帖数: 5247
32

这是我最后一次回这种无聊的没有干货的语言争论贴。
我没有对你的个人能力做过任何评价,我也没说你菜。我相信你确实不喜欢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。

G**Y
发帖数: 33224
33
信息量好大
其实我觉得京二是真心手痒痒想上Go但是没得着机会呀

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

d*******r
发帖数: 3299
34
这个有干货,大牛消消气,大家好好讨论
我就是挖点坑,引大家讨论的,抛砖引玉

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

l**********n
发帖数: 8443
35
Python is too expressive。太复杂了。

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

d********f
发帖数: 43471
36
说实话我都不知道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,你可以部分的改善内存回收的
: 效率。我也看到有人写过一些文章介绍他们如何做这些事情,然而这种文章的存在说明

l**********n
发帖数: 8443
37
同意这个

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

l**********n
发帖数: 8443
38
大牛是说go要replace Java吗?大牛展开说说。是因为大并发吗?

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

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

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

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

【在 l**********n 的大作中提到】
: Python is too expressive。太复杂了。
相关主题
Node过两年会不会被go打的满地找牙?c++ programmer们就不用悲愤了
用了一下node.js, 看来js要一同天下啊,只要那些人学FP不是为了写代码, 而是为了优秀的架构.
取代C++!Google 开发自己的编程语言Golang了 (转载)纸上谈兵
w***g
发帖数: 5958
41
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.

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

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

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

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

g*****g
发帖数: 34805
44
赞干货,谈谈java跟 go优劣吧,既然 node不是 go 竞争的方向。

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

l*********s
发帖数: 5409
45
me too, w我觉得二爷战斗golang的目的就是想看看学了有没有前途

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

l*********s
发帖数: 5409
46
那是经验太多脑子僵化了。

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

p*****2
发帖数: 21240
47
很难想象这个是对我的回复

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

f*******t
发帖数: 7549
48
你脾气好,不怕被喷:D

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

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

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

相关主题
微软的架构设计师真是大学生水平啊golang虽然不会一统江湖,但是,干掉python ,ruby是迟早的事情
Node.js 写的 JS 代码有点难读懂scala和go的区别
golang 怎么把"image"库都放标准库里了?网站前端都是用javascript和html写的吗 ?
z*******3
发帖数: 13709
51
干货说得很好阿
你打算做啥?如果你只是想做web sever,讨论啥go阿
php vs nodejs才是王道

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

z*******3
发帖数: 13709
52
你用hpc的懂个狗屁分布式

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

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

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

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

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

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

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

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

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

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

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

相关主题
Node, Express 一问Really Stupid Question: How to run VC++ 2008 Express (转载)
Node哪个框架最流行来看用什么来把nodejs给干死掉
a C++ questiongoLang吸引了很多Ruby/Python程序员
z*******3
发帖数: 13709
61
大project
你别出问题耽误全队才是第一要素
如果你出了一个什么问题,让全组人陪着你加班
那你就离滚蛋不远了,这个跟debug关系最大
debug如果debug不出来,那会无意中遗漏关键的错误
导致下放生产,甚至无法重现这种错误,那麻烦就大了
可读性的话跟所谓的“简洁”其实是冲突的
读代码时候,你只会希望别人写得越详细越好
而不是越简单越好,详细了,繁琐了,你可以获取得信息才多
少写那么几个字有可能对于你来说是致命的
你听英语听力也希望关键字反复出现啊,难道一带而过你很容易听懂?
不可能的

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

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

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

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

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

z*******3
发帖数: 13709
65
不用笑,java一般没有debug的问题哈哈
有问题的都是写脚本的

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

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

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

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

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

p*****2
发帖数: 21240
70
估计goodbug也不想在用指针了吧

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

相关主题
goLang吸引了很多Ruby/Python程序员用了一下node.js, 看来js要一同天下啊,只要那些人
我来说说go的目标对手吧取代C++!Google 开发自己的编程语言Golang了 (转载)
Node过两年会不会被go打的满地找牙?c++ programmer们就不用悲愤了
z*******3
发帖数: 13709
71
咳,是个语言不都有个web server么?
就像scala的play一样

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

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

z*******3
发帖数: 13709
73
dart也快要有自己的web server鸟
到时候看看谁更快撒
M****z
发帖数: 1058
74
FYI, in case you are interested
https://news.ycombinator.com/item?id=7628472
Space Monkey dumps Python for Go
p*****2
发帖数: 21240
75

这个跟我对Go的理解如出一辙呀。

【在 M****z 的大作中提到】
: FYI, in case you are interested
: https://news.ycombinator.com/item?id=7628472
: Space Monkey dumps Python for Go

c********l
发帖数: 8138
76
你觉得这世界上哪些主流语言能比java更debug-friendly?
vb? c? perl?

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

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

w******w
发帖数: 126
78
赞一个! 顺便mark一下!
^_^

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

1 (共1页)
相关主题
Node, Express 一问用了一下node.js, 看来js要一同天下啊,只要那些人
Node哪个框架最流行取代C++!Google 开发自己的编程语言Golang了 (转载)
a C++ questionc++ programmer们就不用悲愤了
Really Stupid Question: How to run VC++ 2008 Express (转载)学FP不是为了写代码, 而是为了优秀的架构.
来看用什么来把nodejs给干死掉纸上谈兵
goLang吸引了很多Ruby/Python程序员微软的架构设计师真是大学生水平啊
我来说说go的目标对手吧Node.js 写的 JS 代码有点难读懂
Node过两年会不会被go打的满地找牙?golang 怎么把"image"库都放标准库里了?
相关话题的讨论汇总
话题: go话题: node话题: java话题: 语言话题: concurrency