- 主题:Go语言看着要完啊
【 在 Bernstein 的大作中提到: 】
: 讨论技术,从基本假设和认知出发,不需要遵守哪个委员会的看法
~~~~~~~~~~~~~~~~~~~~~~这是评价判断,是由评价者的价值观和经验来支撑的。
主观判断和客观判断都分不清楚啊
: 好用不好用,谁都可以判断,不需要哪个委员会规定
: 你要遵守委员会规定,可以当个AI,反正gpt什么的都已经成熟了
: ...................
--
FROM 123.116.219.*
async来自于函数式编程语言社区Join calculus,你说它“不上不下的抽象”,真敢啊
这就是我想批评的,普通又自信的程序员,水平差还喜欢评价
【 在 Bernstein 的大作中提到: 】
: 范型是另外的东西,属于go语言设计的问题
: go的协程好用,其一是语言层面只支持协程,消除了同时支持多套机制的各种麻烦;其二是开销很低(相对线程)而且逻辑上可以完美替代线程;外加channel的支持
: async嘛,一般是generator实现的,属于一个不上不下的抽象:一方面会与既有的线程/协程并存,导致同时支持多种机制的麻烦;另一方面自身又依赖线程/协程提供执行能力。这就很尴尬了
: ...................
--
FROM 123.116.219.*
是不是可以认为,在GreenThread context自动调用async版本的Write?
【 在 keygen 的大作中提到: 】
: 不是,这里面的重点是 sync 的 IO operation 也不 block 线程了
: 那段代码的关键不是 RunAsGreenThread,而是 response.Body.Write,这是一个 block 的 write
: 有很多的 runtime 改动来支持
: ...................
--
FROM 123.116.219.*
那不是列了几点么,你为啥觉得只因为一点评价好坏?
剩下的句句有错误,也是蛮难得的
【 在 lwmqwer 的大作中提到: 】
: 因为性能来说语言好坏,脑子坏掉了吧。
: 到今天了哪个语言性能比的过汇编,要性能请用C。不看看golang的创始人(也是c创始人)采访的时候是怎么鄙视c++的,加一堆垃圾进去,他们才做go。真喜欢性能,有种就来玩数学,数值计算,科学计算欢迎,没能力别BB。
--
FROM 123.116.219.*
别着急,先等我俩讨论完。异步是有代价的,不是简单替换了就行的。而且可以await一个按钮按下,这种情况是无法自动转换的
先等我俩讨论完
【 在 hgoldfish 的大作中提到: 】
: 对。java project loom 和 python gevent 等 green thread 或者你所谓的第一代协程语言的与 async/await 的唯一区别就是要不要使用 async/await 关键字。内部实现原理以及各种工具类并没有任何区别。强调一遍,没有任何区别。
: go 和 java 的好处是从语言底层,标准库里面把所有阻塞的调用都实现为 async 版本。c#, c++ 和 python 则会分别有 sync 和 async 两个版本 read()/write() 供程序员选择,所以前两个语言不需要关键字,后三个语言需要关键字 await 来区分 sync/async 调用。
: 最傻的是 javascript,它的 IO 必然都是 async 的,天然地可以采用 go/java 的办法,只要碰到 read/write 都自动地调用 async 版本——它也没有 sync 的 io. 但是 javascript 的设计者很蠢,只知道从 python 和 c# 抄语言特性,没想明白。
: ...................
--
FROM 123.116.219.*
放了5个小时版主没有处理,看来这个尺度是允许的,那我接着在这个尺度内讨论。
函数式编程那边出来的东西一般抽象程度比命令式要高很多,而你却说async抽象程度不高
另外东西好不好用,我们讨论的是客观的、可以达成共识的部分。主观部分不讨论
客观部分不是像你说的那样谁都可以讨论的,需要参与者有足够的、基础的经验和知识。否则就会出现和数学家比口算这种事情。
这些事情只有经历了才明白。
经验和认知都差别比较大的情况下,我批判你你普通又自信,这话不算客气,但也不能算是人身攻击
你觉得我说的错了的话,你可以表现出相应的水平,大家也都会相应的尊重你
另外大家讨论概念直接的相互关系,一般纯粹都认为是逻辑关系,不会有人认为是叫“找个好爹”,不知道为啥你会认为这种逻辑关系叫“找个好爹”
那之前是咋学的算术》初等代数》高等代数》抽象代数这个过程呢?你不停的在给你脑子中的概念“找个好爹”吗?
这也太奇怪了,大家学完数学都很满足,感觉自己多了很多知识,而你......
【 在 Bernstein 的大作中提到: 】
: 你分不清啊,你的言论有什么判断力?
: 你说话的时候,除了攻击贬低他人,给自己的言论找个好爹,还有什么判断力?
:
--
FROM 123.116.219.*
版主看清楚哈,我没用在他说的基础上新加任何违规的字,都是他自己的原话
【 在 leadu 的大作中提到: 】
: 放了5个小时版主没有处理,看来这个尺度是允许的,那我接着在这个尺度内讨论。
: 函数式编程那边出来的东西一般抽象程度比命令式要高很多,而你却说async抽象程度不高
: 另外东西好不好用,我们讨论的是客观的、可以达成共识的部分。主观部分不讨论
: ...................
--
FROM 123.116.219.*
几个问题哈
1.是所有的网络io么?还是仅仅是socket read write。
2. socket读的时候,如果数据已经在buffer里面了,异步io是要更慢一点点的
3.UI呢?这个是有ui线程和msg pump的
4.别的异步情况呢?没有管?
【 在 gondar 的大作中提到: 】
: go调用network IO的时候都是async吧,需要有async/await这种keyword是为了兼容语言原本的blocking方法调用,go的io都是non-blocking的
:
--
FROM 123.116.219.*
Go和Python比网络编程?其实还可以比比性能的
【 在 DreamDreams 的大作中提到: 】
: 网络编程Go比Python好了不是一点半点,谁用谁知道啊,各种轮子好用
: 的不要不要的
:
--
FROM 123.116.219.*