[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/27 03:27 / Filesize : 361 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++ vs Rust



1 名前:デフォルトの名無しさん mailto:sage [2021/04/24(土) 08:04:49.48 ID:nPKzA798.net]
競え

997 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 09:51:08.61 ID:d0IcrcAD.net]
そうなんだ、よかったね

998 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 10:41:09.99 ID:BJ+zdFAP.net]
そうなんだ、よかったねで済む話を700レスも続けたスレだった

999 名前:デフォルトの名無しさん [2021/12/13(月) 10:55:12.57 ID:zBnuOauJ.net]
ガイジ隔離できるから次スレ建てろ

1000 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 23:41:21.78 ID:hDz7sFQ7.net]
>>758
言ってることは全く正しいけど
promise/futureの存在によってasync/awaitが成立していることをもっと強調すべきかな
このまえGoスレでそれすら理解できないやつが延々と暴れていた
さらに「async/awaitがあればpromise/futureは不要!」とまで主張して暴れていた
非同期プログラミングをかじっただけの人にありがちなのかもしれない
例えば「複数のpromise/futureに対して任意の一つが解決されたら」とか「解決順に」とかawaitだけでは表現不可能なのにな

1001 名前:デフォルトの名無しさん [2021/12/14(火) 01:57:04.15 ID:oL+i1N1M.net]
あわしろ氏はガイジじゃないぞ。

1002 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 09:28:14.72 ID:56UTyKQA.net]
そうなんだ、よかったね

1003 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 09:42:41.73 ID:Lt4mRhb2.net]
golangにasync/awaitなんて無いし、promise/futureもchannel通信で作れば作れるけどそんな事しないし
むしろ暴れてるのはお前だろ、思想的に必要無い言語にそれを持ち込んで優位性を語るなんてアホちゃうか?

1004 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 10:15:19.20 ID:YU8H/oh/.net]
結局Rustが一番いいよな
非同期をawaitという限られた同期パターンだけでなくfutureを直接扱うことも可能だし
Goのようにコルーチンをすぐ動かせるしそれに対して同様にchannel通信もいけるしfutureとして扱うことも可能

1005 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 10:55:30.64 ID:9qJ+oS+1.net]
アホか、Rustに厳密なcoroutineなんてデフォルトで無いやろ、Boost移植のcontext-rs/coroutine-rsとかあるけども…
実験的にRFC 2033: experimental coroutinesとかやってるけど、N:Mスレッドスケジューラーが標準搭載される未来はない。



1006 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 11:24:57.22 ID:YU8H/oh/.net]
>>984
Rustでは一昨年からasync blockが既にstackless symmetric coroutineとして動いています
zero costでlazyなのでasync blockを作るとそれだけだとfutureが出来るのみ
それをm:n含め好きなスケジューラがいくらでもあるのでそれに対してspawnするだけで起動します
そのasync block内では全てawaitしまくればgoroutineと同じ状況になります
もちろんチャネルも使えます

1007 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 12:31:40.21 ID:cpUh/hIt.net]
Rustの並行処理には未来を感じるけど、
tokioとasync-stdはどっちがデファクトスタンダードです?

1008 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 12:37:47.85 ID:XjtTquHZ.net]
不毛な議論にまたなるのでアホは相手したくないが、「厳密な」と書いていることが全くわかってない。
所詮spawnするということはasync/awaitがepollベースであり、更には「全てawaitしまくれば」なんてGoと同じ状況じゃないでしょw
標準搭載と書いてるのに「好きなスケジューラがいくらでもある」とほざく
ゼロコスト、ゼロコスト言うやつがいる限りウザがられるし、英文で書けば相手を丸め込む事ができると思い込んでると
ホントに爪弾きにされるぞ、Rust推しは分かるけどもう少し顔真っ赤にしてくる態度改めようぜ?
C++でもco_await、co_yieldはゼロコストでスタック消費しないし、コンパイラ型で非同期にコスト掛かる言語って何?

1009 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 14:43:42.13 ID:ecGTY8hf.net]
https://i.imgur.com/dB5gmZU.png
2022年版が必要です

1010 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 14:53:55.31 ID:nVZu9KeB.net]
>>987
貴方のほうが色々とおかしい。

>所詮spawnするということはasync/awaitがepollベースであり、Goと同じ状況じゃないでしょw

まずepollを貴方が理解できていない。epollはLinuxでのpoll/select系システムコールのAPI。
厳密にするのも的外れなので、仮にここではselect/poll等の意味合いで受け取っておく。
Goのgoroutineも当然ながらこのselect/poll等を用いて実現しているので全く同じ状況。
当然select/poll等を用いなければgoroutineのような軽量スレッド(グリーンスレッド)は実現できない。

>所詮spawnするということはasync/awaitがepollベースであり、

引用再掲するが、貴方は更なる誤解もしている。
まず、awaitはfutureを解決する単なる一つの手段にすぎず、貴方が言及しているspawnする対象はfurureである。
そしてGoでの「go func」がRustでの「spawn(future)」に相当。
これらが為されないとどちらもスケジューラに登録されず両者は同じ状況であると言える。

>更には「全てawaitしまくれば」なんてGoと同じ状況じゃないでしょ

Goroutineでは明記しなくても暗黙的にawaitを付けたのと同じ同期的な記述で非同期を記述できる。
したがって、Rustにおいては「全てawaitしまくれば」Goと同じ状況といっても過言ではないと言えよう。
いずれにしても「go func」と「spawn(future)」の場合と同じで記述面での些細な相違だけにすぎない。

>標準搭載と書いてるのに「好きなスケジューラがいくらでもある」とほざく

Rustの標準には不可欠なものしか無いから標準搭載されていないのは当たり前。
よく例に出されるが、C言語でstdlibにあるrand()のような乱数ですらRustの標準ライブラリにはない。
貴方の無茶な理論だとRustは乱数もサポートしていない言語、となる。
OSや組み込みにも用いられる状況で、何か単一のスケジューラが標準搭載であればよい、わけがない。
むしろ様々なスケジューラを選ぶことができるRustの状況こそ、明らかに有利である。

1011 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 15:23:08.46 ID:SmqbIrWZ.net]
顔真っ赤マン。。。

1012 名前:デフォルトの名無しさん [2021/12/14(火) 16:25:41.72 ID:iFoIKYew.net]
>>989
顔真っ赤で草

1013 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 17:27:33.19 ID:YU8H/oh/.net]
>>986
個人的には名の通りstdをasync化しているasync-stdが好みです

>>987
よくわかっていらっしゃらないようなのでどの言語でもいいから実際にプログラミングしてみることをおすすめします
epollでもselectでもいいからI/Oイベントループを自分で書いてみればそれがディスパッチャでありスケジューラの核心だとわかりますよ
C言語で大丈夫ですから []
[ここ壊れてます]

1015 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 18:07:51.75 ID:K0HBzsrc.net]
顔真っ赤オジサン、スケジューラの核心www



1016 名前:デフォルトの名無しさん [2021/12/14(火) 20:36:31.90 ID:oL+i1N1M.net]
ここまでの議論でわかったことは、RustよりGoのほうが上。

1017 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 07:13:59.09 ID:CevG0U/x.net]
Goでできることが全てRustでもできるようになってしまったもんな
Goではできないこと辛いことが多すぎてGo2でRustの後追いしようとしているがGo2は期待外れで盛り下がっている

1018 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 08:58:39.57 ID:3YmRd/Kz.net]
それがディスパッチャでありスケジューラの核心

1019 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 11:21:17.73 ID:TZwcTz32.net]
Goは色んなレベルで簡素で手段に制限があるけど
そこをパズルのように組み合わせてある程度のことは出来る楽しさがいいのよ
ただしそれが飽きられてきていたり楽しいと思う人たちより外に広まらなかったり
自然じゃない組み合わせで実装や冗長な記述などせざるをえなかったり
だからGoはこのまま狭い適用範囲だけで使われる形になりそう

1020 名前:デフォルトの名無しさん [2021/12/15(水) 11:41:54.42 ID:z10T13Tn.net]
このスレなくなったら名残惜しいから次スレ建てろ
完走しても建ってなかったらワイが建てるで

1021 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 12:34:06.40 ID:t4BO72er.net]
>>997
納得できない
じゃあきみはGoにGenericsとか実装されても使いたくないの?

Goの良いところはそういうとこじゃないでしょ

1022 名前:デフォルトの名無しさん [2021/12/15(水) 12:34:55.45 ID:z10T13Tn.net]
1000ならC++の勝ち!!!!!

1023 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 235日 4時間 30分 6秒

1024 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<361KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef