- 主题:把js全干掉,统一成ts,有没有搞头?
对Python来说,解决GIL的必要性不存在
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 事件循环和异步io是bom和node的规范。
: gil不仅不是python规范,而且现在就有很多也不小众的解释器里面并没有gil。cpython里面想要解决gil的呼声也一直有
--
FROM 47.56.237.*
嗯,async/await对JS是利益大于成本的,但是对Python完全是入不敷出的
【 在 eGust (十年) 的大作中提到: 】
: async/await 本来就是 promise 的语法糖啊,跟 promise 一点区别都没有。
: promise 虽然扁平化了 callback hell,但它还是用的 callback,不利于代码流的控制。引入 async/await 之后,所有的 callback 就都被移除了,变量都在同一个 scope 里面,在 catch/finally 里可以直接用,不用再特意跑到外层去构造一个 closure 专门用来放变量。降低了
--
FROM 47.56.237.*
说的对,先有的python,c和lisp抄袭的python才发明的。微软公司和ibm公司诞生都是开源界搞的,开源社区一天到晚给商业公司捐献源代码
【 在 hgoldfish 的大作中提到: 】
: 什么线程池,你好歹专业一点,要用术语 stackless coroutine 和 stackful coroutine. 说了半天线程池,把我给绕晕了。
不是。你果然分不清楚我说的这俩
: 我认为 c# 仿 python 社区用 generator 做网络 IO 就是一种抄袭。至于关键字是 yield/yield from/await 还不是一样,我猜是 c# 怕被说抄袭,所以故意改的。
: 最近巨硬 wsl 抄 cygwin/colinux,windows terminal 抄 xterm,vscode 抄 atom,可比狥腾第二。
: ...................
--
FROM 123.116.203.*
dotnet社区早就不讨论扩散了,直接平和接受了。四处在改fx,连foreach后面的迭代器都给加上async了
await foreach (var number in GenerateSequence())
{
Console.WriteLine(number);
}
【 在 qingant 的大作中提到: 】
: 对。Python加async/await完全没必要,一个库用了这个,就扩散到整个项目
--
FROM 123.116.203.*
与其这么搞,何如改成gevent那样隐式不侵入上层的
【 在 leadu (leadu) 的大作中提到: 】
: dotnet社区早就不讨论扩散了,直接平和接受了。四处在改fx,连foreach后面的迭代器都给加上async了
: await foreach (var number in GenerateSequence())
: {
: ...................
--
FROM 47.56.237.*
我觉得在JS里面还行,毕竟和之前的回调和promise相比算是改进,Python的async/await相比gevent是劣化了
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我是不喜欢写 async 这个关键字,不是不喜欢 async.
--
FROM 47.56.237.*
没那么夸张,你不喜欢暴露async,直接wait不就行了?
提供一个async接口的用途是因为io本来就是async的,用线程包一编是不等效的
【 在 qingant (傅红雪) 的大作中提到: 】
: 对。Python加async/await完全没必要,一个库用了这个,就扩散到整个项目
--
FROM 27.91.71.*
你在说啥?
怎么直接wait?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 没那么夸张,你不喜欢暴露async,直接wait不就行了?
: 提供一个async接口的用途是因为io本来就是async的,用线程包一编是不等效的
--
FROM 47.56.237.*
比如C#的Task.Result就屏蔽了async
【 在 qingant (傅红雪) 的大作中提到: 】
: 你在说啥?
: 怎么直接wait?
--
FROM 27.91.71.*
因为多线程开发有各种情况,编译器或库无法决定所有行为
【 在 qingant 的大作中提到: 】
: 与其这么搞,何如改成gevent那样隐式不侵入上层的
--
FROM 123.116.203.*