- 主题:看哭了
Wikipedia也是这个说法,但实际上Wikipedia的不够全面
目前我能查到的最早的发明async/await是2004年的项目
https://www.microsoft.com/en-us/research/project/comega/
该时间是经过多方验证的
另外说起来,c omega也是一个比较神奇的项目,目前看起来是在这个项目首次出现的linq和async/await,linq之后又发展成了reactive x。
而async/await和reactive x是异步编程的唯一的两个范式了吧
【 在 hanjiamajia 的大作中提到: 】
:
: ... ES2016 才加的 async/await 关键字,ES2017 功能才完成
: async/await 最早是F#加进来的,不记得是06还是07年了; C#好像11年加进来
: ...................
--
FROM 114.246.171.*
Erlang的是说Actor么,这个5年前我在水木倒是宣传过一波。
Actor是个范式,但不是异步编程的,和这俩范式是可以混用的。
能叫范式的,都是有创新,这些创新在行业内部有专门术语称呼,而不是只有自己语言叫个Green Thread啥的
并且别的语言看着范式不错都会借鉴的。
Python,Java 有个毛异步范式。特别是python,语言缺陷哪里能当范式
【 在 hgoldfish 的大作中提到: 】
: 很多语言很早对异步编程有自己的答案。比如 Erlang, Stackless Python. Java 非常非常早期没有 native thread,而是实现 Green Thread. IO 异步编程的方式非常多。要知道 coroutine 这个概念,在上个世界 60 年代就有了。
: 具体到 async/await 这个东东应该是 dotnet 社区发明的。
:
--
FROM 114.246.171.*
现在大家主要用来替代n-tier
【 在 CRonaldo31 的大作中提到: 】
: actor 由啥优点
--
FROM 114.246.171.*
我觉得,范式应该有两个特点:
1.有自己的名字。actor是名字,reactiveX是名字。 stackless python和原始 java,名字十分含糊。
2.大家在这之上有共识。actor有共识,虽然不是异步编程方面的;reactiveX虽然是微软搞的,但是java社区关于响应式的书籍比.net还多,这也是共识。
你说的这俩连1自己的名字都没有,更别提2共识了。
所以只能算你个人喜欢的某种东西,离范式还差得远
【 在 hgoldfish 的大作中提到: 】
: 是 stackless python,不是 python. 是原始 java,不是现在的 java
: 这俩的想法是直接让所有 IO 都对协程友好,环境内不再存在普通的线程阻塞 IO. 这种理念明显比 async/await 更先进,只是难度更高。
:
--
FROM 114.246.171.*