- 主题:用协程不如用go和rust
go 简单,快速上手
rust 并发安全,该加锁的地方不加的话就编译不过去,睡觉也安稳。
--
FROM 221.221.153.*
谁想用 c++ 呢。问题是很多领域,就只有 c++ 可用。
既然又要语言大战,我就扯淡一下。大多数语言 c/c++, java 以及一众脚本语言比如 python, perl, ruby, go 从来没有把自己定位成某个领域专用语言。所以有个好处是不会太限制程序员的上限。
反之,c#, js, lua 和 rust 在设计的时候都有明确的定位。rust 要搞系统编程。c# 和 js 是搞 GUI 的。这一类语言程序员少碰为妙。
【 在 munaiyi 的大作中提到: 】
: go 简单,快速上手
: rust 并发安全,该加锁的地方不加的话就编译不过去,睡觉也安稳。
--
FROM 110.84.122.*
没人为了协程而协程。
一定是在应用中遇到某种困难才想起协程。
这个应用可能是在某种生态环境中已经存在的了,想改,不那么容易吧?
【 在 munaiyi 的大作中提到: 】
: go 简单,快速上手
: rust 并发安全,该加锁的地方不加的话就编译不过去,睡觉也安稳。
--
修改:ylh1969 FROM 221.218.60.*
FROM 221.218.60.*
不对。。协程 coroutine 应该是最基础的抽象。成为各种编程语言的基础概念。
Python 不就是这样么。
for i in range(10):
print(i)
这里的 range(10) generator 就是个协程。
【 在 ylh1969 的大作中提到: 】
: 没人为了协程而协程。
: 一定是在应用中遇到某种困难才想起协程。
: 这个应用可能是在某种生态环境中已经存在的了,想改,不那么容易吧?
: ...................
--
FROM 110.84.122.*
看不出这种任务有何使用协程的必要。
是在print期间把资源让给其他协程吗?
【 在 hgoldfish 的大作中提到: 】
: 不对。。协程 coroutine 应该是最基础的抽象。成为各种编程语言的基础概念。
: Python 不就是这样么。
: for i in range(10):
: ...................
--
FROM 221.218.60.*
rust 也有UI框架的。
基础组件估计都会被rust重轮一遍。
如果必须用C++,那就不要协程,老老实实用异步更靠谱。
【 在 hgoldfish 的大作中提到: 】
: 谁想用 c++ 呢。问题是很多领域,就只有 c++ 可用。
: 既然又要语言大战,我就扯淡一下。大多数语言 c/c++, java 以及一众脚本语言比如 python, perl, ruby, go 从来没有把自己定位成某个领域专用语言。所以有个好处是不会太限制程序员的上限。
: 反之,c#, js, lua 和 rust 在设计的时候都有明确的定位。rust 要搞系统编程。c# 和 js 是搞 GUI 的。这一类语言程序员少碰为妙。
: ...................
--
FROM 36.112.207.*
是的,但是用c++协程不如用异步方式也许更好。
【 在 ylh1969 的大作中提到: 】
: 没人为了协程而协程。
: 一定是在应用中遇到某种困难才想起协程。
: 这个应用可能是在某种生态环境中已经存在的了,想改,不那么容易吧?
--
FROM 36.112.207.*
generator 有现实中的使用很广泛的啊。
【 在 ylh1969 的大作中提到: 】
: 看不出这种任务有何使用协程的必要。
: 是在print期间把资源让给其他协程吗?
--
FROM 110.84.122.*
协程还包含调度吧
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 不对。。协程 coroutine 应该是最基础的抽象。成为各种编程语言的基础概念。
:
: Python 不就是这样么。
:
--
FROM 221.216.140.*
不一定的啊。像刚才举的这个例子:
for i in range(10):
print(i)
就不包含事件循环调度。
【 在 hotfix 的大作中提到: 】
: 协程还包含调度吧
--
FROM 110.84.122.*