- 主题:Go语言看着要完啊
是不是可以认为,在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.*
对。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# 抄语言特性,没想明白。
【 在 leadu 的大作中提到: 】
: 是不是可以认为,在GreenThread context自动调用async版本的Write?
--
修改:hgoldfish FROM 117.24.94.*
FROM 117.24.94.*
go 语言成不了 python 的全面加强版。不然 AI 用的就是 go 而不是 python 的。
python 的语法更加灵活,随时可以使用反射,可以动态修改类。用运行效率换来语言的方便性。
不过仅在网络编程语言,golang 确实能够大部分取代 python 了。python 社区唯一的问题是没有在 py2.7 -> py3k 大版本升级的时候,把 gevent 直接集成到 python 虚拟机。这个时间丢失了,后面 python 在网络编程领域就节节败退了。
【 在 AlphaO 的大作中提到: 】
: go语言还是凑合的,2小时学会就可以让人扔掉python了,是python的全面加强版。
: 不过缺点也大,很多特性先天不足,不够看。
--
FROM 117.24.94.*
golang 的 协程在 native 线程之间自由地调度。不用 chan 是不行的。
反正 chan 写起来也简单,为啥不用呢。
【 在 gfkid 的大作中提到: 】
: go的chan想要用好,得踩很多坑
: 很容易chan满天飞
--
FROM 117.24.94.*
别着急,先等我俩讨论完。异步是有代价的,不是简单替换了就行的。而且可以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.*