- 主题:Go语言看着要完啊
范型是另外的东西,属于go语言设计的问题
go的协程好用,其一是语言层面只支持协程,消除了同时支持多套机制的各种麻烦;其二是开销很低(相对线程)而且逻辑上可以完美替代线程;外加channel的支持
async嘛,一般是generator实现的,属于一个不上不下的抽象:一方面会与既有的线程/协程并存,导致同时支持多种机制的麻烦;另一方面自身又依赖线程/协程提供执行能力。这就很尴尬了
【 在 ensonmj 的大作中提到: 】
: go的协程比async好的一点是同步异步都能用。但go的范型太弱了
--
FROM 221.218.208.*
【 在 Bernstein 的大作中提到: 】
: 讨论技术,从基本假设和认知出发,不需要遵守哪个委员会的看法
~~~~~~~~~~~~~~~~~~~~~~这是评价判断,是由评价者的价值观和经验来支撑的。
主观判断和客观判断都分不清楚啊
: 好用不好用,谁都可以判断,不需要哪个委员会规定
: 你要遵守委员会规定,可以当个AI,反正gpt什么的都已经成熟了
: ...................
--
FROM 123.116.219.*
不是,这里面的重点是 sync 的 IO operation 也不 block 线程了
那段代码的关键不是 RunAsGreenThread,而是 response.Body.Write,这是一个 block 的 write
有很多的 runtime 改动来支持
【 在 leadu 的大作中提到: 】
: 这不就是加了个api么,看着像是用TaskCompletionSource把ThreadPool.QueueUserWorkItem包装了一层。
: 你可能没有明白我这说啥,第一代协程如果说最成熟的形式是线程池的话,线程池这个东西,做后端的语言都是有需求的,很多语言都有库,就算没有,在Windows xp上调用个QueueUserWorkItem api也都不是问题
: go的问题在与它把api级别的做成了语言级别,而且把go关键词给了它
: ...................
--
FROM 98.45.244.*
async来自于函数式编程语言社区Join calculus,你说它“不上不下的抽象”,真敢啊
这就是我想批评的,普通又自信的程序员,水平差还喜欢评价
【 在 Bernstein 的大作中提到: 】
: 范型是另外的东西,属于go语言设计的问题
: go的协程好用,其一是语言层面只支持协程,消除了同时支持多套机制的各种麻烦;其二是开销很低(相对线程)而且逻辑上可以完美替代线程;外加channel的支持
: async嘛,一般是generator实现的,属于一个不上不下的抽象:一方面会与既有的线程/协程并存,导致同时支持多种机制的麻烦;另一方面自身又依赖线程/协程提供执行能力。这就很尴尬了
: ...................
--
FROM 123.116.219.*
最赚钱的语言 Java 是 green thread 啊。
python 的 async/await 现在几乎可以认为是失败了。
【 在 leadu 的大作中提到: 】
: 都2023年了懒得再教别人协程了
: c#/f#/js/rust/c++/python等各个语言加的全是async,加go这种的一个没有。
: 和各大语言标准委员会的人看法不一致,就别往外说啦,会丢人的
: ...................
--
修改:hgoldfish FROM 117.24.94.*
FROM 117.24.94.*
对。协程这东西是 all or nothing,要么整个语言提供支持限制其它方案,要么别支持了以 green thread 的形式存在,作为 native thread 的一种无感知优化即可。搞得不沦不类的没意思。
数来数去,还是咱 Java 好啊。本青打算继续切回 Java 挖啊挖代码。
【 在 Bernstein 的大作中提到: 】
: 范型是另外的东西,属于go语言设计的问题
: go的协程好用,其一是语言层面只支持协程,消除了同时支持多套机制的各种麻烦;其二是开销很低(相对线程)而且逻辑上可以完美替代线程;外加channel的支持
: async嘛,一般是generator实现的,属于一个不上不下的抽象:一方面会与既有的线程/协程并存,导致同时支持多种机制的麻烦;另一方面自身又依赖线程/协程提供执行能力。这就很尴尬了
: ...................
--
修改:hgoldfish FROM 117.24.94.*
FROM 117.24.94.*
“普通又自信的程序员,水平差还喜欢评价”
不就是你自己吗?
一个东西好不好用,抽象干不干净,都可以独立评价,不是因为它爹是谁
【 在 leadu 的大作中提到: 】
: async来自于函数式编程语言社区Join calculus,你说它“不上不下的抽象”,真敢啊
: 这就是我想批评的,普通又自信的程序员,水平差还喜欢评价
:
--
FROM 221.218.208.*
你分不清啊,你的言论有什么判断力?
你说话的时候,除了攻击贬低他人,给自己的言论找个好爹,还有什么判断力?
【 在 leadu 的大作中提到: 】
: ~~~~~~~~~~~~~~~~~~~~~~这是评价判断,是由评价者的价值观和经验来支撑的。
: 主观判断和客观判断都分不清楚啊
--
修改:Bernstein FROM 221.218.208.*
FROM 221.218.208.*
有一定道理
【 在 leadu 的大作中提到: 】
: 这不就是加了个api么,看着像是用TaskCompletionSource把ThreadPool.QueueUserWorkItem包装了一层。
: 你可能没有明白我这说啥,第一代协程如果说最成熟的形式是线程池的话,线程池这个东西,做后端的语言都是有需求的,很多语言都有库,就算没有,在Windows xp上调用个QueueUserWorkItem api也都不是问题
: go的问题在与它把api级别的做成了语言级别,而且把go关键词给了它
: ...................
--
FROM 114.249.16.*