由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Go messaging passing绝对是最大的坑,妈的逻辑根本不闭环!纯
相关主题
我来说说go的目标对手吧wdong你可以把event和thread拆开来
写backend的朋友还是可以关注一下golang从coffee,scala等到golang效率下降了好几倍
学FP不是为了写代码, 而是为了优秀的架构.Go的并发和channel看上去非常厉害啊
go也是三种paradigm混合的语言[bssd] Go 的大并发处理网络碰到两个个问题
上scala有一个直接的好处go里面channel和wait group用法比较
C++ vs Javagolang為什麼語法和關鍵詞這麼冷門?
发点牢骚 老是学不会Java痛恨Python的和当年痛恨Java的一个道理
golang的问题是channel, goroutine里面magic太多,Java 和 .Net 到底哪个更有好一点的前景?
相关话题的讨论汇总
话题: br话题: java话题: golang话题: vm话题: sun
进入Programming版参与讨论
1 (共1页)
T********i
发帖数: 2416
1
你想想,这么好的东西。要是人人用起来锋利无比,那不是白白为社会做了贡献?到头
来自己的利益受损?
所以,一定要挖一个大坑在那里。让99%的人都跳进去。然后一个小圈子笑而不语,深
藏功与名。。。
golang里面,这个大坑就是message passing。本来golang最大的卖点就是goroutine。
这玩意儿overhead已经很高了,send/recv两个thread,光stack就是2K + 2k = 4KB。
然而,各个thread还不能愉快地聊天,还要通过一个叫做channel的玩意儿。这玩意儿
也不是不行,但是设计太操蛋。
首先,这东西啥都不干就要大约100字节。
其次,100字节还是blocking的。取决你的应用,如果是N X M互联,一旦blocking,可
能堵死的不止一个,而是最多N或者M个。
再次,不blocking也行,但是你要设置一个buffer size。而且buffer是提前预分配的
。你搞一个500的buffer,2K就没了。问题是很多应用,谁也不知道多大的buffer能够
。对于64位机器,那是250个。
还有,blocking forever是不能接受的,你至少还需要另外一个channel或者一个timer。
所以,我个人的意见,看到chan,剩下的我都不想看下去了。
那么,解决方案有木有呢?我个人是有的,很简单,但是绝对的non-obvious!
g****t
发帖数: 31659
2
Golang靠谱的人不好找。java 10年以上的老师傅market到处都是. 这是个缺点。不过
新体系都这样。
T********i
发帖数: 2416
3
Java,做这种靠谱的I/O应用,坑绝对比golang还要多。
直接放弃治疗就好了。

【在 g****t 的大作中提到】
: Golang靠谱的人不好找。java 10年以上的老师傅market到处都是. 这是个缺点。不过
: 新体系都这样。

g****t
发帖数: 31659
4
语言本身坑多没啥问题。只要能会修好,可以配置好就可以。你觉得是坑,人家知道这
些坑的
可以说是你不会写,没念过best practice java。
和go比较,
Java硬伤是开发速度慢,内存消耗多,速度一般。但outsource java的活到印度,开发
成本
也就下来了。大量.net后端也是类似的。


: Java,做这种靠谱的I/O应用,坑绝对比golang还要多。

: 直接放弃治疗就好了。



【在 T********i 的大作中提到】
: Java,做这种靠谱的I/O应用,坑绝对比golang还要多。
: 直接放弃治疗就好了。

T********i
发帖数: 2416
5
Java I/O库都要用第三方的。你说多少坑呢?
赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和信任哪里来的
?丝毫不符合逻辑!

【在 g****t 的大作中提到】
: 语言本身坑多没啥问题。只要能会修好,可以配置好就可以。你觉得是坑,人家知道这
: 些坑的
: 可以说是你不会写,没念过best practice java。
: 和go比较,
: Java硬伤是开发速度慢,内存消耗多,速度一般。但outsource java的活到印度,开发
: 成本
: 也就下来了。大量.net后端也是类似的。
:
:
: Java,做这种靠谱的I/O应用,坑绝对比golang还要多。
:
: 直接放弃治疗就好了。

g****t
发帖数: 31659
6
Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
这个
我没问题。本站说不定也是java,老邢屎一样的二十年。
Vert.x从来就没看好过。


: Java I/O库都要用第三方的。你说多少坑呢?

: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?

: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
信任哪
里来的

: ?丝毫不符合逻辑!



【在 T********i 的大作中提到】
: Java I/O库都要用第三方的。你说多少坑呢?
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和信任哪里来的
: ?丝毫不符合逻辑!

T********i
发帖数: 2416
7
做出点能用的东西很了不起么?
给我足够的钱,这些我用quick basic都能做出来。


: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的
十年。

: 这个

: 我没问题。本站说不定也是java,老邢屎一样的二十年。

: Vert.x从来就没看好过。

:

【在 g****t 的大作中提到】
: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
: 这个
: 我没问题。本站说不定也是java,老邢屎一样的二十年。
: Vert.x从来就没看好过。
:
:
: Java I/O库都要用第三方的。你说多少坑呢?
:
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
:
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
: 信任哪
: 里来的

h*i
发帖数: 3446
8
据说AWS整个都是Java。
这怎么说?
不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network的简称
,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。所以
JAVA
IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作系统的。
对Java的信心来自于对那个年代工程师的系统能力的信心。
现代的这些年轻人搞的的东东,倒是信心不足。

【在 g****t 的大作中提到】
: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
: 这个
: 我没问题。本站说不定也是java,老邢屎一样的二十年。
: Vert.x从来就没看好过。
:
:
: Java I/O库都要用第三方的。你说多少坑呢?
:
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
:
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
: 信任哪
: 里来的

T********i
发帖数: 2416
9
这玩意儿,好坏标准到底是啥?
是VM还是运行库?
不管是VM还是运行库,都是一个sucker毁坏世界的事情。而且即使java,现在的VM和20
年前的VM有个鸟关系?
话说golang的VM有问题么?
我的生产代码,java比golang还多。该用啥就用啥而已。我从来没有过任何纠结。


: 据说AWS整个都是Java。

: 这怎么说?

: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network
的简称

: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。
所以

: JAVA

: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作
系统的。

: 对Java的信心来自于对那个年代工程师的系统能力的信心。

: 现代的这些年轻人搞的的东东,倒是信心不足。



【在 h*i 的大作中提到】
: 据说AWS整个都是Java。
: 这怎么说?
: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network的简称
: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。所以
: JAVA
: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作系统的。
: 对Java的信心来自于对那个年代工程师的系统能力的信心。
: 现代的这些年轻人搞的的东东,倒是信心不足。

g****t
发帖数: 31659
10
Java最开始是嵌入式语言,这个我倒是知道。后来java还有个专门的版本在小板子上。


: 据说AWS整个都是Java。

: 这怎么说?

: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network
的简称

: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。
所以

: JAVA

: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作
系统的。

: 对Java的信心来自于对那个年代工程师的系统能力的信心。

: 现代的这些年轻人搞的的东东,倒是信心不足。



【在 h*i 的大作中提到】
: 据说AWS整个都是Java。
: 这怎么说?
: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network的简称
: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。所以
: JAVA
: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作系统的。
: 对Java的信心来自于对那个年代工程师的系统能力的信心。
: 现代的这些年轻人搞的的东东,倒是信心不足。

相关主题
发点牢骚 老是学不会Java从coffee,scala等到golang效率下降了好几倍
golang的问题是channel, goroutine里面magic太多,Go的并发和channel看上去非常厉害啊
wdong你可以把event和thread拆开来[bssd] Go 的大并发处理网络碰到两个个问题
进入Programming版参与讨论
g****t
发帖数: 31659
11
你要价高啊。再说说句不太尊重的话,拖家带口等绿卡的老印很多啊,都是来美国安身
立命的十几年经验的java 老师傅,英语又好,做数据这一层,老中优势真的不大。
现在凡是老中我觉得都应该转机器学习,线性代数过硬就可以了。
其实我很想做AI/ML developer, 但是现在都是一波波的半路出家的二把刀,面试我都
通过不了。几句话他们就会很生气。


: 做出点能用的东西很了不起么?

: 给我足够的钱,这些我用quick basic都能做出来。

: 十年。



【在 T********i 的大作中提到】
: 这玩意儿,好坏标准到底是啥?
: 是VM还是运行库?
: 不管是VM还是运行库,都是一个sucker毁坏世界的事情。而且即使java,现在的VM和20
: 年前的VM有个鸟关系?
: 话说golang的VM有问题么?
: 我的生产代码,java比golang还多。该用啥就用啥而已。我从来没有过任何纠结。
:
:
: 据说AWS整个都是Java。
:
: 这怎么说?
:
: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network

n******t
发帖数: 4406
12
NONONO,現在很多人就喜歡讓人相信祂的東西都是某個fancy語言寫出來的。
aws的底層是C,google的底層也都是C,fb一樣。 Sometime是C++,但是也是那種把C++
當C用的C++。
咬人的狗不叫,叫的狗不咬人,IT行業也一樣。

【在 g****t 的大作中提到】
: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
: 这个
: 我没问题。本站说不定也是java,老邢屎一样的二十年。
: Vert.x从来就没看好过。
:
:
: Java I/O库都要用第三方的。你说多少坑呢?
:
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
:
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
: 信任哪
: 里来的

g****t
发帖数: 31659
13
Aws上的项目,以及amzon 本身大量的spring boot。


: NONONO,現在很多人就喜歡讓人相信祂的東西都是某個fancy語言寫出來的。

: aws的底層是C,google的底層也都是C,fb一樣。 Sometime是C ,但是也是那種
把C

: 當C用的C 。

: 咬人的狗不叫,叫的狗不咬人,IT行業也一樣。



【在 n******t 的大作中提到】
: NONONO,現在很多人就喜歡讓人相信祂的東西都是某個fancy語言寫出來的。
: aws的底層是C,google的底層也都是C,fb一樣。 Sometime是C++,但是也是那種把C++
: 當C用的C++。
: 咬人的狗不叫,叫的狗不咬人,IT行業也一樣。

r***y
发帖数: 4379
14
--现在都是一波波的半路出家的二把刀,面试我都通过不了。几句话他们就会很生气。
true, 所以升级楼梯, 让你的面试没有这些人出现, 是唯一出路

【在 g****t 的大作中提到】
: 你要价高啊。再说说句不太尊重的话,拖家带口等绿卡的老印很多啊,都是来美国安身
: 立命的十几年经验的java 老师傅,英语又好,做数据这一层,老中优势真的不大。
: 现在凡是老中我觉得都应该转机器学习,线性代数过硬就可以了。
: 其实我很想做AI/ML developer, 但是现在都是一波波的半路出家的二把刀,面试我都
: 通过不了。几句话他们就会很生气。
:
:
: 做出点能用的东西很了不起么?
:
: 给我足够的钱,这些我用quick basic都能做出来。
:
: 十年。
:

T********i
发帖数: 2416
15
这个楼确实偏到了Java国去了。
这么多帖子。没人说golang message passing到底对不对?
也没人说golang VM到底有什么问题?
g****t
发帖数: 31659
16
懂的人少啊。劣势,哈哈。
Golang我去年花了一个月,写过8000行一个神经网络训练库。跟你不是一波的。


: 这个楼确实偏到了Java国去了。

: 这么多帖子。没人说golang message passing到底对不对?

: 也没人说golang VM到底有什么问题?



【在 T********i 的大作中提到】
: 这个楼确实偏到了Java国去了。
: 这么多帖子。没人说golang message passing到底对不对?
: 也没人说golang VM到底有什么问题?

h*i
发帖数: 3446
17
您老科普一下?我是真不懂


: 这个楼确实偏到了Java国去了。

: 这么多帖子。没人说golang message passing到底对不对?

: 也没人说golang VM到底有什么问题?



【在 T********i 的大作中提到】
: 这个楼确实偏到了Java国去了。
: 这么多帖子。没人说golang message passing到底对不对?
: 也没人说golang VM到底有什么问题?

n******t
发帖数: 4406
18
message passing這個概念本來就是人和人交流的模式,機器根本不是這麼work的。
把這種東西往語言裡面做,我覺得用用可以,效率就算了吧。

【在 T********i 的大作中提到】
: 你想想,这么好的东西。要是人人用起来锋利无比,那不是白白为社会做了贡献?到头
: 来自己的利益受损?
: 所以,一定要挖一个大坑在那里。让99%的人都跳进去。然后一个小圈子笑而不语,深
: 藏功与名。。。
: golang里面,这个大坑就是message passing。本来golang最大的卖点就是goroutine。
: 这玩意儿overhead已经很高了,send/recv两个thread,光stack就是2K + 2k = 4KB。
: 然而,各个thread还不能愉快地聊天,还要通过一个叫做channel的玩意儿。这玩意儿
: 也不是不行,但是设计太操蛋。
: 首先,这东西啥都不干就要大约100字节。
: 其次,100字节还是blocking的。取决你的应用,如果是N X M互联,一旦blocking,可

s********k
发帖数: 6180
19
message里面是传值还是引用啊?

【在 T********i 的大作中提到】
: 这个楼确实偏到了Java国去了。
: 这么多帖子。没人说golang message passing到底对不对?
: 也没人说golang VM到底有什么问题?

T********i
发帖数: 2416
20
by definition, 传值啊。引用也是值。。。


: message里面是传值还是引用啊?



【在 s********k 的大作中提到】
: message里面是传值还是引用啊?
相关主题
go里面channel和wait group用法比较Java 和 .Net 到底哪个更有好一点的前景?
golang為什麼語法和關鍵詞這麼冷門?第三代编程语言基本特征都很相似
痛恨Python的和当年痛恨Java的一个道理为啥没人吊.net c#语言?
进入Programming版参与讨论
g****t
发帖数: 31659
21
这个引用也是值是很扯的地方。接受信息的那端,需要的是
Ref上的value, 发送给的是ref的value. 然后接收端通过ref,间接的得到ref上的value。
如果不是效率不可接受,ref的暴露是完全不必要的。容易乱。这种情况我一般都是先
copy再传。你是不是这类办法?


: by definition, 传值啊。引用也是值。。。



【在 T********i 的大作中提到】
: by definition, 传值啊。引用也是值。。。
:
:
: message里面是传值还是引用啊?
:

T********i
发帖数: 2416
22
这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不保持,是程序
员的责任,才能达到效率最高。
golang的VM GC是thread safe的,除非你能证明不是。
我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错了,也是他们
的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可喷的。你爱用
不用就好了。

value。

【在 g****t 的大作中提到】
: 这个引用也是值是很扯的地方。接受信息的那端,需要的是
: Ref上的value, 发送给的是ref的value. 然后接收端通过ref,间接的得到ref上的value。
: 如果不是效率不可接受,ref的暴露是完全不必要的。容易乱。这种情况我一般都是先
: copy再传。你是不是这类办法?
:
:
: by definition, 传值啊。引用也是值。。。
:

h*i
发帖数: 3446
23
你“绝对的non-obvious”的办法还没说呢。别卖关子啊。
大家都在洗耳恭听呢。

【在 T********i 的大作中提到】
: 这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不保持,是程序
: 员的责任,才能达到效率最高。
: golang的VM GC是thread safe的,除非你能证明不是。
: 我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错了,也是他们
: 的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可喷的。你爱用
: 不用就好了。
:
: value。

g****t
发帖数: 31659
24
我年纪大了。容易头晕眼花。所以写程序多做defensive copy放在第一位。


: 这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不
保持,
是程序

: 员的责任,才能达到效率最高。

: golang的VM GC是thread safe的,除非你能证明不是。

: 我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错
了,也
是他们

: 的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可
喷的。
你爱用

: 不用就好了。

: value。



【在 T********i 的大作中提到】
: 这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不保持,是程序
: 员的责任,才能达到效率最高。
: golang的VM GC是thread safe的,除非你能证明不是。
: 我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错了,也是他们
: 的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可喷的。你爱用
: 不用就好了。
:
: value。

T********i
发帖数: 2416
25
抱歉,突然不想说了。
以后吧,看心情。。。:)

【在 h*i 的大作中提到】
: 你“绝对的non-obvious”的办法还没说呢。别卖关子啊。
: 大家都在洗耳恭听呢。

g****t
发帖数: 31659
26
誰給老魏找個程序員安慰師?


: 抱歉,突然不想说了。

: 以后吧,看心情。。。:)



【在 T********i 的大作中提到】
: 抱歉,突然不想说了。
: 以后吧,看心情。。。:)

h*i
发帖数: 3446
27
我就知道你不会说。
这就给了我口实啊:
你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
老师这样的大牛都说是绝对不obvious的秘密。
那你一般程序员敢用么?你能用对么?
这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
一样,这不是误导小盆友么?
你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
天下第一,这不是误导小盆友么?
我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种
误导小盆友的行为而已。
好虫这样我看不过,你魏老师这样我同样看不过。
其实就这么点事。

【在 T********i 的大作中提到】
: 抱歉,突然不想说了。
: 以后吧,看心情。。。:)

h*i
发帖数: 3446
28
其实我是想让大家都变得有文化。这是为大家好。
我说过很多次了,中国人现在缺的就是文化。博士了,博导了,top2了,还是没有文化。
大家说干不过烙印,那是因为没有文化。
有文化的,不会落下峰。中国人混的不错的,你可以去了解一下家庭背景,是什么出生。
有文化的李鸿章,战场上打不过老外,谈判桌上不太吃亏,为什么?文化很重要。
中国文化讲究中庸,话都不要说死了,要修身养性,戒骄戒躁。作为大牛,要注意自己
的影响。
好虫虽然不来这里了,但我相信他是变得更有文化了,认识他的人可以来说说,他是不
是更成熟了。

golang

【在 h*i 的大作中提到】
: 我就知道你不会说。
: 这就给了我口实啊:
: 你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
: 老师这样的大牛都说是绝对不obvious的秘密。
: 那你一般程序员敢用么?你能用对么?
: 这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
: 一样,这不是误导小盆友么?
: 你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
: 天下第一,这不是误导小盆友么?
: 我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种

T********i
发帖数: 2416
29
我说不Obvious你就信么?
你为什么这么迷信权威?为什么不指责我Tree New Bee?
我现在还需要靠这种雕虫小技混饭吃么?
一个List,加一个Conditional Variable,实现一下会死么?加起来10行代码有木有?

golang

【在 h*i 的大作中提到】
: 我就知道你不会说。
: 这就给了我口实啊:
: 你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
: 老师这样的大牛都说是绝对不obvious的秘密。
: 那你一般程序员敢用么?你能用对么?
: 这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
: 一样,这不是误导小盆友么?
: 你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
: 天下第一,这不是误导小盆友么?
: 我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种

h*i
发帖数: 3446
30
小盆友们,不用谢我。
谢谢魏老师就行了。
:-)

【在 T********i 的大作中提到】
: 我说不Obvious你就信么?
: 你为什么这么迷信权威?为什么不指责我Tree New Bee?
: 我现在还需要靠这种雕虫小技混饭吃么?
: 一个List,加一个Conditional Variable,实现一下会死么?加起来10行代码有木有?
:
: golang

相关主题
FP更接近人的思维写backend的朋友还是可以关注一下golang
Scala和Go都没啥戏。学FP不是为了写代码, 而是为了优秀的架构.
我来说说go的目标对手吧go也是三种paradigm混合的语言
进入Programming版参与讨论
T********i
发帖数: 2416
31
当然不需要谢你啦。
有你没你我都会说的。

【在 h*i 的大作中提到】
: 小盆友们,不用谢我。
: 谢谢魏老师就行了。
: :-)

d*******r
发帖数: 3299
32
谢谢 魏老师, 也谢谢 HCI !
我虽然也老大不小了, 但论技术, 还是晚辈 XD

【在 h*i 的大作中提到】
: 小盆友们,不用谢我。
: 谢谢魏老师就行了。
: :-)

T********i
发帖数: 2416
33
你想想,这么好的东西。要是人人用起来锋利无比,那不是白白为社会做了贡献?到头
来自己的利益受损?
所以,一定要挖一个大坑在那里。让99%的人都跳进去。然后一个小圈子笑而不语,深
藏功与名。。。
golang里面,这个大坑就是message passing。本来golang最大的卖点就是goroutine。
这玩意儿overhead已经很高了,send/recv两个thread,光stack就是2K + 2k = 4KB。
然而,各个thread还不能愉快地聊天,还要通过一个叫做channel的玩意儿。这玩意儿
也不是不行,但是设计太操蛋。
首先,这东西啥都不干就要大约100字节。
其次,100字节还是blocking的。取决你的应用,如果是N X M互联,一旦blocking,可
能堵死的不止一个,而是最多N或者M个。
再次,不blocking也行,但是你要设置一个buffer size。而且buffer是提前预分配的
。你搞一个500的buffer,2K就没了。问题是很多应用,谁也不知道多大的buffer能够
。对于64位机器,那是250个。
还有,blocking forever是不能接受的,你至少还需要另外一个channel或者一个timer。
所以,我个人的意见,看到chan,剩下的我都不想看下去了。
那么,解决方案有木有呢?我个人是有的,很简单,但是绝对的non-obvious!
g****t
发帖数: 31659
34
Golang靠谱的人不好找。java 10年以上的老师傅market到处都是. 这是个缺点。不过
新体系都这样。
T********i
发帖数: 2416
35
Java,做这种靠谱的I/O应用,坑绝对比golang还要多。
直接放弃治疗就好了。

【在 g****t 的大作中提到】
: Golang靠谱的人不好找。java 10年以上的老师傅market到处都是. 这是个缺点。不过
: 新体系都这样。

g****t
发帖数: 31659
36
语言本身坑多没啥问题。只要能会修好,可以配置好就可以。你觉得是坑,人家知道这
些坑的
可以说是你不会写,没念过best practice java。
和go比较,
Java硬伤是开发速度慢,内存消耗多,速度一般。但outsource java的活到印度,开发
成本
也就下来了。大量.net后端也是类似的。


: Java,做这种靠谱的I/O应用,坑绝对比golang还要多。

: 直接放弃治疗就好了。



【在 T********i 的大作中提到】
: Java,做这种靠谱的I/O应用,坑绝对比golang还要多。
: 直接放弃治疗就好了。

T********i
发帖数: 2416
37
Java I/O库都要用第三方的。你说多少坑呢?
赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和信任哪里来的
?丝毫不符合逻辑!

【在 g****t 的大作中提到】
: 语言本身坑多没啥问题。只要能会修好,可以配置好就可以。你觉得是坑,人家知道这
: 些坑的
: 可以说是你不会写,没念过best practice java。
: 和go比较,
: Java硬伤是开发速度慢,内存消耗多,速度一般。但outsource java的活到印度,开发
: 成本
: 也就下来了。大量.net后端也是类似的。
:
:
: Java,做这种靠谱的I/O应用,坑绝对比golang还要多。
:
: 直接放弃治疗就好了。

g****t
发帖数: 31659
38
Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
这个
我没问题。本站说不定也是java,老邢屎一样的二十年。
Vert.x从来就没看好过。


: Java I/O库都要用第三方的。你说多少坑呢?

: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?

: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
信任哪
里来的

: ?丝毫不符合逻辑!



【在 T********i 的大作中提到】
: Java I/O库都要用第三方的。你说多少坑呢?
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和信任哪里来的
: ?丝毫不符合逻辑!

T********i
发帖数: 2416
39
做出点能用的东西很了不起么?
给我足够的钱,这些我用quick basic都能做出来。


: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的
十年。

: 这个

: 我没问题。本站说不定也是java,老邢屎一样的二十年。

: Vert.x从来就没看好过。

:

【在 g****t 的大作中提到】
: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
: 这个
: 我没问题。本站说不定也是java,老邢屎一样的二十年。
: Vert.x从来就没看好过。
:
:
: Java I/O库都要用第三方的。你说多少坑呢?
:
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
:
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
: 信任哪
: 里来的

h*i
发帖数: 3446
40
据说AWS整个都是Java。
这怎么说?
不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network的简称
,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。所以
JAVA
IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作系统的。
对Java的信心来自于对那个年代工程师的系统能力的信心。
现代的这些年轻人搞的的东东,倒是信心不足。

【在 g****t 的大作中提到】
: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
: 这个
: 我没问题。本站说不定也是java,老邢屎一样的二十年。
: Vert.x从来就没看好过。
:
:
: Java I/O库都要用第三方的。你说多少坑呢?
:
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
:
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
: 信任哪
: 里来的

相关主题
上scala有一个直接的好处golang的问题是channel, goroutine里面magic太多,
C++ vs Javawdong你可以把event和thread拆开来
发点牢骚 老是学不会Java从coffee,scala等到golang效率下降了好几倍
进入Programming版参与讨论
T********i
发帖数: 2416
41
这玩意儿,好坏标准到底是啥?
是VM还是运行库?
不管是VM还是运行库,都是一个sucker毁坏世界的事情。而且即使java,现在的VM和20
年前的VM有个鸟关系?
话说golang的VM有问题么?
我的生产代码,java比golang还多。该用啥就用啥而已。我从来没有过任何纠结。


: 据说AWS整个都是Java。

: 这怎么说?

: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network
的简称

: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。
所以

: JAVA

: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作
系统的。

: 对Java的信心来自于对那个年代工程师的系统能力的信心。

: 现代的这些年轻人搞的的东东,倒是信心不足。



【在 h*i 的大作中提到】
: 据说AWS整个都是Java。
: 这怎么说?
: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network的简称
: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。所以
: JAVA
: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作系统的。
: 对Java的信心来自于对那个年代工程师的系统能力的信心。
: 现代的这些年轻人搞的的东东,倒是信心不足。

g****t
发帖数: 31659
42
Java最开始是嵌入式语言,这个我倒是知道。后来java还有个专门的版本在小板子上。


: 据说AWS整个都是Java。

: 这怎么说?

: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network
的简称

: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。
所以

: JAVA

: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作
系统的。

: 对Java的信心来自于对那个年代工程师的系统能力的信心。

: 现代的这些年轻人搞的的东东,倒是信心不足。



【在 h*i 的大作中提到】
: 据说AWS整个都是Java。
: 这怎么说?
: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network的简称
: ,不知道吧。90年代,有网络就有Sun的服务器,网管们最熟悉的就是Solaris。所以
: JAVA
: IO不行是不可能的。本来就是设计来运行网络软件还有顶置盒等等IO硬件操作系统的。
: 对Java的信心来自于对那个年代工程师的系统能力的信心。
: 现代的这些年轻人搞的的东东,倒是信心不足。

g****t
发帖数: 31659
43
你要价高啊。再说说句不太尊重的话,拖家带口等绿卡的老印很多啊,都是来美国安身
立命的十几年经验的java 老师傅,英语又好,做数据这一层,老中优势真的不大。
现在凡是老中我觉得都应该转机器学习,线性代数过硬就可以了。
其实我很想做AI/ML developer, 但是现在都是一波波的半路出家的二把刀,面试我都
通过不了。几句话他们就会很生气。


: 做出点能用的东西很了不起么?

: 给我足够的钱,这些我用quick basic都能做出来。

: 十年。



【在 T********i 的大作中提到】
: 这玩意儿,好坏标准到底是啥?
: 是VM还是运行库?
: 不管是VM还是运行库,都是一个sucker毁坏世界的事情。而且即使java,现在的VM和20
: 年前的VM有个鸟关系?
: 话说golang的VM有问题么?
: 我的生产代码,java比golang还多。该用啥就用啥而已。我从来没有过任何纠结。
:
:
: 据说AWS整个都是Java。
:
: 这怎么说?
:
: 不要忘了Sun是个什么样的公司,“Sun” 其实是Stanford University Network

n******t
发帖数: 4406
44
NONONO,現在很多人就喜歡讓人相信祂的東西都是某個fancy語言寫出來的。
aws的底層是C,google的底層也都是C,fb一樣。 Sometime是C++,但是也是那種把C++
當C用的C++。
咬人的狗不叫,叫的狗不咬人,IT行業也一樣。

【在 g****t 的大作中提到】
: Netflix不就是java aws在跑。咱们得尊重事实啊。你可以说这些都是屎一样的十年。
: 这个
: 我没问题。本站说不定也是java,老邢屎一样的二十年。
: Vert.x从来就没看好过。
:
:
: Java I/O库都要用第三方的。你说多少坑呢?
:
: 赵策鼓吹vert.x才几年?哪里来的10年经验的工程师?
:
: 那Java前10年咋过的呢?不是只能屎一样10来年么?真不知道你们信心和
: 信任哪
: 里来的

g****t
发帖数: 31659
45
Aws上的项目,以及amzon 本身大量的spring boot。


: NONONO,現在很多人就喜歡讓人相信祂的東西都是某個fancy語言寫出來的。

: aws的底層是C,google的底層也都是C,fb一樣。 Sometime是C ,但是也是那種
把C

: 當C用的C 。

: 咬人的狗不叫,叫的狗不咬人,IT行業也一樣。



【在 n******t 的大作中提到】
: NONONO,現在很多人就喜歡讓人相信祂的東西都是某個fancy語言寫出來的。
: aws的底層是C,google的底層也都是C,fb一樣。 Sometime是C++,但是也是那種把C++
: 當C用的C++。
: 咬人的狗不叫,叫的狗不咬人,IT行業也一樣。

r***y
发帖数: 4379
46
--现在都是一波波的半路出家的二把刀,面试我都通过不了。几句话他们就会很生气。
true, 所以升级楼梯, 让你的面试没有这些人出现, 是唯一出路

【在 g****t 的大作中提到】
: 你要价高啊。再说说句不太尊重的话,拖家带口等绿卡的老印很多啊,都是来美国安身
: 立命的十几年经验的java 老师傅,英语又好,做数据这一层,老中优势真的不大。
: 现在凡是老中我觉得都应该转机器学习,线性代数过硬就可以了。
: 其实我很想做AI/ML developer, 但是现在都是一波波的半路出家的二把刀,面试我都
: 通过不了。几句话他们就会很生气。
:
:
: 做出点能用的东西很了不起么?
:
: 给我足够的钱,这些我用quick basic都能做出来。
:
: 十年。
:

T********i
发帖数: 2416
47
这个楼确实偏到了Java国去了。
这么多帖子。没人说golang message passing到底对不对?
也没人说golang VM到底有什么问题?
g****t
发帖数: 31659
48
懂的人少啊。劣势,哈哈。
Golang我去年花了一个月,写过8000行一个神经网络训练库。跟你不是一波的。


: 这个楼确实偏到了Java国去了。

: 这么多帖子。没人说golang message passing到底对不对?

: 也没人说golang VM到底有什么问题?



【在 T********i 的大作中提到】
: 这个楼确实偏到了Java国去了。
: 这么多帖子。没人说golang message passing到底对不对?
: 也没人说golang VM到底有什么问题?

h*i
发帖数: 3446
49
您老科普一下?我是真不懂


: 这个楼确实偏到了Java国去了。

: 这么多帖子。没人说golang message passing到底对不对?

: 也没人说golang VM到底有什么问题?



【在 T********i 的大作中提到】
: 这个楼确实偏到了Java国去了。
: 这么多帖子。没人说golang message passing到底对不对?
: 也没人说golang VM到底有什么问题?

n******t
发帖数: 4406
50
message passing這個概念本來就是人和人交流的模式,機器根本不是這麼work的。
把這種東西往語言裡面做,我覺得用用可以,效率就算了吧。

【在 T********i 的大作中提到】
: 你想想,这么好的东西。要是人人用起来锋利无比,那不是白白为社会做了贡献?到头
: 来自己的利益受损?
: 所以,一定要挖一个大坑在那里。让99%的人都跳进去。然后一个小圈子笑而不语,深
: 藏功与名。。。
: golang里面,这个大坑就是message passing。本来golang最大的卖点就是goroutine。
: 这玩意儿overhead已经很高了,send/recv两个thread,光stack就是2K + 2k = 4KB。
: 然而,各个thread还不能愉快地聊天,还要通过一个叫做channel的玩意儿。这玩意儿
: 也不是不行,但是设计太操蛋。
: 首先,这东西啥都不干就要大约100字节。
: 其次,100字节还是blocking的。取决你的应用,如果是N X M互联,一旦blocking,可

相关主题
Go的并发和channel看上去非常厉害啊golang為什麼語法和關鍵詞這麼冷門?
[bssd] Go 的大并发处理网络碰到两个个问题痛恨Python的和当年痛恨Java的一个道理
go里面channel和wait group用法比较Java 和 .Net 到底哪个更有好一点的前景?
进入Programming版参与讨论
s********k
发帖数: 6180
51
message里面是传值还是引用啊?

【在 T********i 的大作中提到】
: 这个楼确实偏到了Java国去了。
: 这么多帖子。没人说golang message passing到底对不对?
: 也没人说golang VM到底有什么问题?

T********i
发帖数: 2416
52
by definition, 传值啊。引用也是值。。。


: message里面是传值还是引用啊?



【在 s********k 的大作中提到】
: message里面是传值还是引用啊?
g****t
发帖数: 31659
53
这个引用也是值是很扯的地方。接受信息的那端,需要的是
Ref上的value, 发送给的是ref的value. 然后接收端通过ref,间接的得到ref上的value。
如果不是效率不可接受,ref的暴露是完全不必要的。容易乱。这种情况我一般都是先
copy再传。你是不是这类办法?


: by definition, 传值啊。引用也是值。。。



【在 T********i 的大作中提到】
: by definition, 传值啊。引用也是值。。。
:
:
: message里面是传值还是引用啊?
:

T********i
发帖数: 2416
54
这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不保持,是程序
员的责任,才能达到效率最高。
golang的VM GC是thread safe的,除非你能证明不是。
我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错了,也是他们
的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可喷的。你爱用
不用就好了。

value。

【在 g****t 的大作中提到】
: 这个引用也是值是很扯的地方。接受信息的那端,需要的是
: Ref上的value, 发送给的是ref的value. 然后接收端通过ref,间接的得到ref上的value。
: 如果不是效率不可接受,ref的暴露是完全不必要的。容易乱。这种情况我一般都是先
: copy再传。你是不是这类办法?
:
:
: by definition, 传值啊。引用也是值。。。
:

h*i
发帖数: 3446
55
你“绝对的non-obvious”的办法还没说呢。别卖关子啊。
大家都在洗耳恭听呢。

【在 T********i 的大作中提到】
: 这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不保持,是程序
: 员的责任,才能达到效率最高。
: golang的VM GC是thread safe的,除非你能证明不是。
: 我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错了,也是他们
: 的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可喷的。你爱用
: 不用就好了。
:
: value。

g****t
发帖数: 31659
56
我年纪大了。容易头晕眼花。所以写程序多做defensive copy放在第一位。


: 这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不
保持,
是程序

: 员的责任,才能达到效率最高。

: golang的VM GC是thread safe的,除非你能证明不是。

: 我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错
了,也
是他们

: 的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可
喷的。
你爱用

: 不用就好了。

: value。



【在 T********i 的大作中提到】
: 这个一点问题都没有啊。什么时候应该自觉保持immutable,什么时候不保持,是程序
: 员的责任,才能达到效率最高。
: golang的VM GC是thread safe的,除非你能证明不是。
: 我认为hci喷的不客观。golang的VM没问题,标准库也没问题。有人写错了,也是他们
: 的事情。啥语言都会写错,容易不容易错,那是各种权衡的结果,没啥可喷的。你爱用
: 不用就好了。
:
: value。

T********i
发帖数: 2416
57
抱歉,突然不想说了。
以后吧,看心情。。。:)

【在 h*i 的大作中提到】
: 你“绝对的non-obvious”的办法还没说呢。别卖关子啊。
: 大家都在洗耳恭听呢。

g****t
发帖数: 31659
58
誰給老魏找個程序員安慰師?


: 抱歉,突然不想说了。

: 以后吧,看心情。。。:)



【在 T********i 的大作中提到】
: 抱歉,突然不想说了。
: 以后吧,看心情。。。:)

h*i
发帖数: 3446
59
我就知道你不会说。
这就给了我口实啊:
你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
老师这样的大牛都说是绝对不obvious的秘密。
那你一般程序员敢用么?你能用对么?
这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
一样,这不是误导小盆友么?
你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
天下第一,这不是误导小盆友么?
我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种
误导小盆友的行为而已。
好虫这样我看不过,你魏老师这样我同样看不过。
其实就这么点事。

【在 T********i 的大作中提到】
: 抱歉,突然不想说了。
: 以后吧,看心情。。。:)

h*i
发帖数: 3446
60
其实我是想让大家都变得有文化。这是为大家好。
我说过很多次了,中国人现在缺的就是文化。博士了,博导了,top2了,还是没有文化。
大家说干不过烙印,那是因为没有文化。
有文化的,不会落下峰。中国人混的不错的,你可以去了解一下家庭背景,是什么出生。
有文化的李鸿章,战场上打不过老外,谈判桌上不太吃亏,为什么?文化很重要。
中国文化讲究中庸,话都不要说死了,要修身养性,戒骄戒躁。作为大牛,要注意自己
的影响。
好虫虽然不来这里了,但我相信他是变得更有文化了,认识他的人可以来说说,他是不
是更成熟了。

golang

【在 h*i 的大作中提到】
: 我就知道你不会说。
: 这就给了我口实啊:
: 你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
: 老师这样的大牛都说是绝对不obvious的秘密。
: 那你一般程序员敢用么?你能用对么?
: 这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
: 一样,这不是误导小盆友么?
: 你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
: 天下第一,这不是误导小盆友么?
: 我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种

相关主题
第三代编程语言基本特征都很相似Scala和Go都没啥戏。
为啥没人吊.net c#语言?我来说说go的目标对手吧
FP更接近人的思维写backend的朋友还是可以关注一下golang
进入Programming版参与讨论
T********i
发帖数: 2416
61
我说不Obvious你就信么?
你为什么这么迷信权威?为什么不指责我Tree New Bee?
我现在还需要靠这种雕虫小技混饭吃么?
一个List,加一个Conditional Variable,实现一下会死么?加起来10行代码有木有?

golang

【在 h*i 的大作中提到】
: 我就知道你不会说。
: 这就给了我口实啊:
: 你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
: 老师这样的大牛都说是绝对不obvious的秘密。
: 那你一般程序员敢用么?你能用对么?
: 这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
: 一样,这不是误导小盆友么?
: 你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
: 天下第一,这不是误导小盆友么?
: 我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种

h*i
发帖数: 3446
62
小盆友们,不用谢我。
谢谢魏老师就行了。
:-)

【在 T********i 的大作中提到】
: 我说不Obvious你就信么?
: 你为什么这么迷信权威?为什么不指责我Tree New Bee?
: 我现在还需要靠这种雕虫小技混饭吃么?
: 一个List,加一个Conditional Variable,实现一下会死么?加起来10行代码有木有?
:
: golang

T********i
发帖数: 2416
63
当然不需要谢你啦。
有你没你我都会说的。

【在 h*i 的大作中提到】
: 小盆友们,不用谢我。
: 谢谢魏老师就行了。
: :-)

d*******r
发帖数: 3299
64
谢谢 魏老师, 也谢谢 HCI !
我虽然也老大不小了, 但论技术, 还是晚辈 XD

【在 h*i 的大作中提到】
: 小盆友们,不用谢我。
: 谢谢魏老师就行了。
: :-)

p*u
发帖数: 2454
65
嗯,魏老师这老卖关子的习惯一如既往。

golang

【在 h*i 的大作中提到】
: 我就知道你不会说。
: 这就给了我口实啊:
: 你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
: 老师这样的大牛都说是绝对不obvious的秘密。
: 那你一般程序员敢用么?你能用对么?
: 这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
: 一样,这不是误导小盆友么?
: 你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
: 天下第一,这不是误导小盆友么?
: 我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种

p*u
发帖数: 2454
66
你可以在三藩版上search ID jobhuntinger。据我看好虫没啥变化,从小养成的性格不
是多有点文化就能改变的。

化。
生。

【在 h*i 的大作中提到】
: 其实我是想让大家都变得有文化。这是为大家好。
: 我说过很多次了,中国人现在缺的就是文化。博士了,博导了,top2了,还是没有文化。
: 大家说干不过烙印,那是因为没有文化。
: 有文化的,不会落下峰。中国人混的不错的,你可以去了解一下家庭背景,是什么出生。
: 有文化的李鸿章,战场上打不过老外,谈判桌上不太吃亏,为什么?文化很重要。
: 中国文化讲究中庸,话都不要说死了,要修身养性,戒骄戒躁。作为大牛,要注意自己
: 的影响。
: 好虫虽然不来这里了,但我相信他是变得更有文化了,认识他的人可以来说说,他是不
: 是更成熟了。
:

l***p
发帖数: 358
67
https://stackoverflow.com/questions/36391421/explain-dont-communicate-by-
sharing-memory-share-memory-by-communicating

value。

【在 g****t 的大作中提到】
: 这个引用也是值是很扯的地方。接受信息的那端,需要的是
: Ref上的value, 发送给的是ref的value. 然后接收端通过ref,间接的得到ref上的value。
: 如果不是效率不可接受,ref的暴露是完全不必要的。容易乱。这种情况我一般都是先
: copy再传。你是不是这类办法?
:
:
: by definition, 传值啊。引用也是值。。。
:

s********k
发帖数: 6180
68
我一直觉得传进channel时候如果能copy一份,是不是就可以避免race condition,要
不然比如我一个upstream goroutine produce2个不同channel然后有两个个consumer读
,如果其中一个consumer把channel的值更改了,理论上另外一个应该不受影响,但是
实际不是

【在 l***p 的大作中提到】
: https://stackoverflow.com/questions/36391421/explain-dont-communicate-by-
: sharing-memory-share-memory-by-communicating
:
: value。

T********i
发帖数: 2416
69
Copy一份就能解决consistency的问题了?

【在 s********k 的大作中提到】
: 我一直觉得传进channel时候如果能copy一份,是不是就可以避免race condition,要
: 不然比如我一个upstream goroutine produce2个不同channel然后有两个个consumer读
: ,如果其中一个consumer把channel的值更改了,理论上另外一个应该不受影响,但是
: 实际不是

s********k
发帖数: 6180
70
进channel时候copy一份,比如同一个req进3个ch发给三个不同的dispatch service,
其中一个ch的receiver改了这个req,另外两个也不受影响
你说的consistency的问题指的哪方面?

【在 T********i 的大作中提到】
: Copy一份就能解决consistency的问题了?
相关主题
学FP不是为了写代码, 而是为了优秀的架构.C++ vs Java
go也是三种paradigm混合的语言发点牢骚 老是学不会Java
上scala有一个直接的好处golang的问题是channel, goroutine里面magic太多,
进入Programming版参与讨论
T********i
发帖数: 2416
71
channel一般是sync用的,好的习惯是做成immutable的。
而且,一般的实践也是copy-on-write,主动clone也没有道理。

【在 s********k 的大作中提到】
: 进channel时候copy一份,比如同一个req进3个ch发给三个不同的dispatch service,
: 其中一个ch的receiver改了这个req,另外两个也不受影响
: 你说的consistency的问题指的哪方面?

s********k
发帖数: 6180
72
我的意思就是channel为啥不在语言层面就做成immutable,当然程序员确实可以在
application上做这个

【在 T********i 的大作中提到】
: channel一般是sync用的,好的习惯是做成immutable的。
: 而且,一般的实践也是copy-on-write,主动clone也没有道理。

T********i
发帖数: 2416
73
因为golang就没有immutable的type啊。完全immutable是有代价的。
当然可以加一个immutable关键字,但是我认为没必要。增加了语言的复杂性。

【在 s********k 的大作中提到】
: 我的意思就是channel为啥不在语言层面就做成immutable,当然程序员确实可以在
: application上做这个

s******y
发帖数: 172
74
这篇文章是不是有些相关?
https://williamedwardscoder.tumblr.com/post/31725920676/explicitly-async-
apis-vs-coroutines
"Do not communicate by sharing memory; instead, share memory by
communicating"

golang

【在 h*i 的大作中提到】
: 我就知道你不会说。
: 这就给了我口实啊:
: 你要是想把golang用对了,你学习,你认真,你牛,这些都不够,你还需要知道只有魏
: 老师这样的大牛都说是绝对不obvious的秘密。
: 那你一般程序员敢用么?你能用对么?
: 这个跟好吃虫当年说”我用Java就拿大包裹拿到手软“,然后说”除了Java都是扯淡”
: 一样,这不是误导小盆友么?
: 你是大牛是能把golang用对了,但你是用quick basic都一样的大牛,你出来说golang
: 天下第一,这不是误导小盆友么?
: 我对golang没有任何感觉,也不感任何兴趣,和我没有任何冲突,我不过是看不过这种

g****t
发帖数: 31659
75
古人学问无遗力,少壮工夫老始成。
纸上得来终觉浅,绝知此事要躬行。
golang内部这些问题怎么回事,还是要老魏说的为准。很高兴咱这也有了个golang底层
专家。

【在 s******y 的大作中提到】
: 这篇文章是不是有些相关?
: https://williamedwardscoder.tumblr.com/post/31725920676/explicitly-async-
: apis-vs-coroutines
: "Do not communicate by sharing memory; instead, share memory by
: communicating"
:
: golang

g****t
发帖数: 31659
76
老魏,出来,回答问题了。

【在 g****t 的大作中提到】
: 古人学问无遗力,少壮工夫老始成。
: 纸上得来终觉浅,绝知此事要躬行。
: golang内部这些问题怎么回事,还是要老魏说的为准。很高兴咱这也有了个golang底层
: 专家。

T********i
发帖数: 2416
77
我算哪门子golang底层专家?我这么大的人了,自己几斤几两自己不清楚么?
只不过把自己知道的一点东西说出来而已。。。

【在 g****t 的大作中提到】
: 古人学问无遗力,少壮工夫老始成。
: 纸上得来终觉浅,绝知此事要躬行。
: golang内部这些问题怎么回事,还是要老魏说的为准。很高兴咱这也有了个golang底层
: 专家。

g****t
发帖数: 31659
78
你这是真钱投产的。不是开源项目写写玩。
经验是非常宝贵的。

【在 T********i 的大作中提到】
: 我算哪门子golang底层专家?我这么大的人了,自己几斤几两自己不清楚么?
: 只不过把自己知道的一点东西说出来而已。。。

T********i
发帖数: 2416
79
经验肯定是宝贵的。但是我不是golang底层专家。这是两码事。

【在 g****t 的大作中提到】
: 你这是真钱投产的。不是开源项目写写玩。
: 经验是非常宝贵的。

s********k
发帖数: 6180
80
我的意思是不需要程序员定义这个immutable,根本不要这个关键字,直接所有进
channel之前golang底层直接copy一份,当然这个就不符合share memory by
communication,因为没有share memory了

【在 T********i 的大作中提到】
: 因为golang就没有immutable的type啊。完全immutable是有代价的。
: 当然可以加一个immutable关键字,但是我认为没必要。增加了语言的复杂性。

相关主题
wdong你可以把event和thread拆开来[bssd] Go 的大并发处理网络碰到两个个问题
从coffee,scala等到golang效率下降了好几倍go里面channel和wait group用法比较
Go的并发和channel看上去非常厉害啊golang為什麼語法和關鍵詞這麼冷門?
进入Programming版参与讨论
g****t
发帖数: 31659
81
You can use a function that returned the value you want to transfer.
New or Copy variables in the function.

【在 s********k 的大作中提到】
: 我的意思是不需要程序员定义这个immutable,根本不要这个关键字,直接所有进
: channel之前golang底层直接copy一份,当然这个就不符合share memory by
: communication,因为没有share memory了

T********i
发帖数: 2416
82
那就更加不靠谱了,shallow copy没用,deep copy本身就没有定义。

【在 s********k 的大作中提到】
: 我的意思是不需要程序员定义这个immutable,根本不要这个关键字,直接所有进
: channel之前golang底层直接copy一份,当然这个就不符合share memory by
: communication,因为没有share memory了

m*****n
发帖数: 3575
83
所有类人功能的实现都要额外耗费计算资源
所有节约计算资源的语言都要额外耗费程序员脑力
所以从最机器的汇编语言到最类人的Python语言之间
总有很多灰度方案和语言

【在 s********k 的大作中提到】
: 我的意思就是channel为啥不在语言层面就做成immutable,当然程序员确实可以在
: application上做这个

1 (共1页)
进入Programming版参与讨论
相关主题
第三代编程语言基本特征都很相似上scala有一个直接的好处
为啥没人吊.net c#语言?C++ vs Java
FP更接近人的思维发点牢骚 老是学不会Java
Scala和Go都没啥戏。golang的问题是channel, goroutine里面magic太多,
我来说说go的目标对手吧wdong你可以把event和thread拆开来
写backend的朋友还是可以关注一下golang从coffee,scala等到golang效率下降了好几倍
学FP不是为了写代码, 而是为了优秀的架构.Go的并发和channel看上去非常厉害啊
go也是三种paradigm混合的语言[bssd] Go 的大并发处理网络碰到两个个问题
相关话题的讨论汇总
话题: br话题: java话题: golang话题: vm话题: sun