1 名前:デフォルトの名無しさん [2024/01/20(土) 23:21:40.08 ID:wyzQTwgG.net] 公式 https://www.rust-lang.org/ https://blog.rust-lang.org/ https://github.com/rust-lang/rust 公式ドキュメント https://www.rust-lang.org/learn Web上の実行環境 https://play.rust-lang.org ※Rustを学びたい人はまず最初に公式のThe Bookを読むこと https://doc.rust-lang.org/book/ ※Rustを学ぶ際に犯しがちな12の過ち https://dystroy.org/blog/how-not-to-learn-rust ※Rustのasyncについて知りたければ「async-book」は必読 https://rust-lang.github.io/async-book/ ※次スレは原則>>980 が立てること 前スレ Rust part21 https://mevius.5ch.net/test/read.cgi/tech/1692105879/ ワッチョイスレ プログラミング言語 Rust 4【ワッチョイ】 https://mevius.2ch.net/test/read.cgi/tech/1514107621/
313 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 16:38:39.75 ID:m1uPeMIU.net] AWS SDK for Rustはsend()がめちゃくちゃダサい そのうち大幅に改修されるだろうけど >>299 ネットワークI/Oを同期で書くのはさすがにどうかと
314 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 16:55:31.82 ID:/Z6uowCt.net] >>300 今から見ると微妙だがCLIと対応がつけやすいし 余計なことはしなくて良いから楽だよ
315 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 17:04:11.45 ID:/Z6uowCt.net] >>306 どう書くか?はユーザーのユースケースによるからそうとも言えないよ 例えばAzureのCLIは--no-waitというオプションがあり 処理が成功するまで待つか待たないかを決められる これこそユーザー視点の設計だよ
316 名前:デフォルトの名無しさん [2024/02/06(火) 17:08:06.92 ID:8tVnzyvy.net] Google規模の会社が$1 million渡したくらいでわざわざアナウンスするなよな タイトル詐欺じゃん Improving Interoperability Between Rust and C++ https://security.googleblog.com/2024/02/improving-interoperability-between-rust-and-c.html
317 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 17:08:19.95 ID:/Z6uowCt.net] 非同期を押し付けることはユーザーのメリットにはならない Rust SDKは作り直して欲しい
318 名前:デフォルトの名無しさん [2024/02/06(火) 17:21:49.29 ID:HJO9dxnA.net] prostもblocking版の関数ないのかよってびっくりした記憶があるわ C#版もPython版もasyncとblockingの両方あるのにな
319 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 17:23:58.68 ID:pGyPKkef.net] >>299 >>まずAWSのAPIってのは基本的にすぐ返ってるの >>この辺はわかる? 初心者でもそんなウソはつかないぞ AWSに限らず任意のサービスに言えるが通信時間がかかる さらに各サービス内で状態取得だけであっても実行時間がかかる >>だから常に同期的に呼び出しで問題ないの 本気で言ってる? 通信時間と向こうでの実行時間の間こちらはずっと何もせずに待つわけ? 非同期プログラミングの意味すら理解できていてないのか?
320 名前:デフォルトの名無しさん [2024/02/06(火) 17:27:07.44 ID:eJTRS9Cw.net] >>312 コンピューターにとって1秒待つって事がどれだけ長いかを理解してないんだろ
321 名前:デフォルトの名無しさん [2024/02/06(火) 17:28:50.84 ID:2AaBK8OM.net] 非同期の方が良いことが多いのは同意するが、非同期を押し付けられると「こんなプログラムのためにTokio入れるのかよ」って思ってしまうケースは存在する
322 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 17:48:41.35 ID:Izyc/wZS.net] API が非同期で設計されてるのに、それを呼び出す側もさらに非同期でハンドリングするのは正直無駄じゃない? ってのはわりと自然な感想だと思うけどな。 AWS の API なんてクライアント側で並列に呼び出したいユースケースも無いだろ。 バカスカ叩いてもスロットリングされるだけだし。
323 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 18:00:53.30 ID:eyCZAgqI.net] >>315 APIの向こう側で非同期なのとこちらの処理を 同期か非同期化は関係ないよね
324 名前:デフォルトの名無しさん [2024/02/06(火) 18:18:54.67 ID:w99V6zNl.net] それな 無関係ではないけど分けて考えないと
325 名前:デフォルトの名無しさん [2024/02/06(火) 18:33:39.13 ID:nmitk2Uo.net] >>308 非同期APIが提供されてれば同期化は簡単にできるから必要ないんだよ
326 名前:デフォルトの名無しさん [2024/02/06(火) 18:36:16.19 ID:2AaBK8OM.net] 同期化ってasyncでない関数から呼べるようにするって解釈で合ってるだろうか もしそうだとしたらasyncでない関数の中でtokioランタイム作ってawsよんでruntime終わらせるみたいな処理になっちゃわないか
327 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 19:56:13.91 ID:kbEH5D0U.net] AWSの同期的APIの機能リクエストあるのね https://github.com/awslabs/aws-sdk-rust/issues/505
328 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:03:24.75 ID:Dpp0fICO.net] AWSのAPIの呼び出しが非同期になるのはAPIの内部で効率化のために非同期処理をやってるからでしょ?
329 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:17:12.09 ID:7oKTbIPT.net] うちはAWS SDK RustはAxumベースのWebアプリでDynamoDB接続に使ってるけど、みんなはなににAWS SDK使ってるん?
330 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:38:04.56 ID:NQvIuvVx.net] >>312 だからーなーんにもわかってない発言丸出しはやめよ? 通信の時間なんてかからんのやって すぐ返ってくるから そこちゃんと読もう?
331 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:44:38.46 ID:NQvIuvVx.net] AWS APIを生のRESTで実装してみろよ すぐわかるぞ
332 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:45:53.99 ID:NQvIuvVx.net] 言っておくが俺は一般論として非同期がダメと言ってるわけじゃないぞ もちろんその用途としての方が便利なことは多い あくまでAWS SDKのRust版については不満があるということよ
333 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:50:46.76 ID:dKDdJveN.net] >>325 web apiの実装として相手側が非同期処理で 手元も非同期なんてのはawsだけじゃないというか それが主流だけど他はいいの?
334 名前:デフォルトの名無しさん [2024/02/06(火) 20:50:52.38 ID:2AaBK8OM.net] このスレにはRust関連の悪い所の指摘を見ると自分が全否定されたように怒り出す人間がいるっぽいので
335 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 20:57:52.50 ID:NQvIuvVx.net] tokioが素晴らしいのは間違いない しかし今回のREST APIの呼び出しで程度で必要かな?と思う 非同期が必要ならtokio::process::commandでCLIを非同期で呼ぶ方が良くないか?とか色々考えてしまう
336 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 21:04:51.51 ID:pGyPKkef.net] >>323 >>通信の時間なんてかからんのやって >>すぐ返ってくるから 呆れた 敢えてウソをついているのか? それとも本当に無知な初心者なのか?
337 名前:デフォルトの名無しさん [2024/02/06(火) 21:08:56.44 ID:rmP9tpon.net] Web通信ですぐ返ってくることなんかあるのか? と思ったけど、AWSのAIPの中身知らんから何とも言えんくなってしまった そういえばファイルIOはすぐ返ってくるって言って良いんだろうか
338 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 21:12:11.34 ID:NQvIuvVx.net] >>330 サイズが小さいファイルに対して非同期呼び出しをするか?という話
339 名前:デフォルトの名無しさん [2024/02/06(火) 21:14:41.84 ID:rmP9tpon.net] >>331 まあ「ファイルIOにTokioが必要です」って言われたらちょっと嫌な気分になるな
340 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 21:15:39.21 ID:pGyPKkef.net] >>330 Web通信は通信時間だけで大きく時間を要する さらにWebサーバ側で処理時間がかかる
341 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 21:56:45.71 ID:Z39zy7L3.net] >>323 cpuのナノ秒単位の処理速度に比べたら通信はとてつもなく遅いけど レスポンスを受け取るまでの時間は処理を中断させたほうがコンピュータに優しい tokioのグリーンスレッドを活かせ
342 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:05:59.23 ID:wkt5OFgc.net] >>334 tokioのランタイムが裏で動くとか気持ち悪すぎだろ 同期でやらせろ
343 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:13:28.77 ID:IqTcjswh.net] 他のSDKのようにv3くらいになれば使いやすくなってるかもね
344 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:16:42.98 ID:GPQIFWbx.net] aws sdk for rust ってwebフレームワークでサーバーサイドやってる人向けだから当然のようにみんなtokioを既に組み込んでるもんじゃないの?なにがそんなに気に入らないのか理解ができない まあtokio以外の非同期ランタイムを使わせろって人はドンマイだけど
345 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:17:52.75 ID:GPQIFWbx.net] 「rustのwebフレームワーク」が抜けてた
346 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:21:16.54 ID:1nslx8NY.net] >>337 そういう話じゃないけど
347 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:24:12.00 ID:DARHuXMe.net] >>337 実装の話に逸らさないで AWSのAPIくらい同期で十分なのにわざわざ非同期にする理由を言えよ
348 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:24:15.12 ID:UMLcFsAo.net] いくらすぐ返ってくるっていってもネットワーク通信なんだから 不通だったりレイテンシが長くなることはありうるし、 タイムアウトやリトライをtokioのエコシステムに乗っかってやれるメリットはあると思うけどな そりゃ軽量な同期版があるに越したことはないけど、優先順位は落ちるだろう
349 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:27:24.19 ID:QhlaBKsr.net] JavaScript SDKも内部は非同期だけど使いやすいよ 単なるコールバックで同期的に書けるし
350 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:33:38.08 ID:QhlaBKsr.net] どうも最近tokioがでしゃばってきて気持ちが悪い ここまできたらもうコアをtokioに入れてWeb用の専用言語としてフォークしたほうがよいのでは?
351 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:35:03.21 ID:GPQIFWbx.net] >>340 はぁ?そんなに同期でやりたいなら同期のある言語のSDKを使うかAWS CLIでコマンド実行しててくれよ 同期同期言ってるやつはRustでAWS触るアプリ作ってねえだろ こちとらつい先日ようやく待ちに詫びたAWS SDK for Rustが正式版になって、ようやく、ようやくこれを本番投入できるって喜んだのによ
352 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:36:26.88 ID:QhlaBKsr.net] まあ俺はCLI使ってるw ぶっちゃけコードで書くメリットがわからない
353 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:36:30.11 ID:UMLcFsAo.net] というか同期版もランタイム切り替えも別にissueとしては却下されてるわけじゃないんだし 欲しい人は実装してPR出せばいいんだよ それがされてないってことは結局需要がないんでは?
354 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:38:18.90 ID:YgjIpfMr.net] >>344 はい、じゃあお前の負けね もう二度と口答えすんなよ
355 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:40:20.30 ID:QhlaBKsr.net] >>341 不通だろうが普通はソケットのタイムアウト値設定するから許容できる範囲内の値を設定すればよろしい どちらにしろリトライすることになるのだ
356 名前:デフォルトの名無しさん [2024/02/06(火) 22:44:11.89 ID:oodj9UUv.net] 「そんなに××したいなら○○使えば良いんじゃないの? 」→をはい○○使っています」っていう流れ、最強言語たるRustのスレの流れとしてはあまりにも敗北感がある
357 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:50:36.48 ID:QhlaBKsr.net] まとめると tokio使わない同期API作れ 非同期版はランタイム切り替えできるようにしろ ってことでオッケー?
358 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:53:13.82 ID:j3cHqQGJ.net] >>340 コンマ1秒~1秒の頻度でデータベースクエリするWebアプリとかだったら非同期のが次々に処理できると思うけど
359 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:56:34.96 ID:LdUhtiaW.net] >>351 なんだそれ? お前そんなにバカみたいな頻度でAWS APIを使うの?笑うわ
360 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:57:34.03 ID:MUGS3GDn.net] >>351 クエックエッ 笑笑
361 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 22:58:56.15 ID:QhlaBKsr.net] >>352 それくらいの頻度で呼び出す可能性があるのってGAFAMクラスの会社ぐらいじゃね?w
362 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:04:22.29 ID:JKYjZJJo.net] >>351 ゲームサーバーとかかな?
363 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:06:26.14 ID:6KaTvZBM.net] >>354 それな笑笑 >>351 は負けず嫌いの単発の敗者笑笑
364 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:08:14.09 ID:IqTcjswh.net] 使ってる用途が違うから噛み合わないんだな CLIで十分な用途とAPIが必要な用途くらいは区別しようぜ
365 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:08:21.31 ID:1CYgky+r.net] あ、もしかしてガーファ勤めなんかな笑笑? なわけねえだろ笑笑
366 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:09:19.34 ID:nVMpMpiW.net] ガーファ最強笑笑
367 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:10:22.99 ID:fZ7dPHD5.net] >>351 はバカです
368 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:12:04.80 ID:N6+r1oq4.net] >>355 ゲームサーバーってなに?マインクラフトでもやってるの?ガキんちょか?
369 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:15:06.92 ID:aJWngw7a.net] >>357 うるさいな 非同期じゃないといけない理由を具体的に言ってみろよ?あ?
370 名前:デフォルトの名無しさん [2024/02/06(火) 23:16:25.72 ID:QhlaBKsr.net] >>351 GAFAM社員age
371 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:26:25.88 ID:qbDsNmRG.net] 自分用のツールなら一々tokioとかめんどくさいとか わからんでもないけどそういう人をターゲットに してないからなあ
372 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:26:55.98 ID:IqTcjswh.net] GAFAMの規模を舐めすぎだろ 10リクエスト/秒程度なら中堅企業の社内向けシステムでも普通にあるレベル
373 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:35:03.14 ID:O9rpVDxS.net] 実際ゲームサーバーって大変そうよね 最近話題になったパルワールドってやつもサーバー要素があるけど、ゲームデータをどこかしらのクラウドサービスをレンタルしてやってるわけで、>>351 よりもすごいレベルで行われてそう パルワールドのサーバーはどの言語のWebフレームワークでやってるのか知らんがJavaとかC#、GoあたりならRustのが高速、省メモリでサーバー代を節約できただろうな
374 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:43:25.52 ID:ZEorkRES.net] ゲームサーバーってプログラミング関係あるの?サーバーを借りてるだけなんじゃないの?
375 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 23:56:44.33 ID:7jT2HGcX.net] 無知は恥ってよくわかるね
376 名前:デフォルトの名無しさん [2024/02/07(水) 00:00:36.36 ID:/3r7f4vo.net] >>366 人気ゲームだと桁が3つ4つ違う
377 名前:デフォルトの名無しさん [2024/02/07(水) 00:02:07.90 ID:HSCt9mfq.net] >>368 無知自体は何も恥じることではない
378 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 00:25:18.71 ID:ZYweHa7T.net] まさかゲームサーバーがなんなのかわからない人がこのスレにいるとは
379 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 00:29:20.89 ID:HhW4UiiT.net] AWSはCLIでいい、非同期はゴミって結論出たね
380 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 00:41:54.53 ID:O61WTlOm.net] 通信時間+向こうでの処理時間はCPUにとって莫大な待ち時間 async/awaitによる非同期プログラミングをすれば同期と同じようにプログラムを組めつつその莫大な待ち時間を有効活用できる これは特定のプログラミング言語に関係なく対応しているすべての言語で成り立つ話 もちろんRustでも同じ
381 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 00:51:24.66 ID:EnTbeTL9.net] AWS Lambdaだと同時実行数の制限があるから、同期処理をするのは犯罪的。
382 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 00:58:32.65 ID:p1o31ALH.net] 現状のasync/awaitの使いやすさは Swift > C# > JavaScript >>> Rust
383 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 00:59:45.05 ID:p1o31ALH.net] KotlinやF#は使ったこと無いのでわからない
384 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 01:07:53.33 ID:p1o31ALH.net] >>375 Python忘れてたわ Swift > C# > JavaScript/Python >>> Rust
385 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 01:10:26.42 ID:O61WTlOm.net] >>375 Rustが最もきめ細かく扱えて便利
386 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 01:13:21.82 ID:O61WTlOm.net] もちろん性能面でもRustが最も有利 だからインフラに至るまで採用されている
387 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 01:20:07.41 ID:R4SwjTOT.net] >>377 c++は?
388 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 02:44:08.20 ID:7skGlnTk.net] >>377 swiftってそんなに書きやすいんか?
389 名前:デフォルトの名無しさん [2024/02/07(水) 04:57:14.90 ID:uDrK2oQi.net] >>375 asyncもRxもC#が発祥だけどこの言語だけ異常だよな
390 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 06:30:56.86 ID:EnTbeTL9.net] Pythonはスレッドが擬似的なので並行処理の性能が低い。
391 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 06:35:55.67 ID:5V24VW//.net] >>375
392 名前:Kotlinが抜けてる Kotlin>(越えられない壁)>Swift > C# > JavaScript/Python >>> Rust [] [ここ壊れてます]
393 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 06:52:43.34 ID:r0kpHnB4.net] Rustを叩きたいだけのアンチさんだから無茶苦茶や
394 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 07:15:51.00 ID:Z0+c6VxI.net] >>380 C++は論外 アンチではなく本当に書きにくい さらにtokioのような高性能な基盤も整備されていない
395 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 07:16:35.05 ID:0B0Tt2Zv.net] 非同期はC#GoKotlinRustのどれも同等に使いやすいと感じる JavaはSpringありき、Swiftはつかったことない、C/C++は考えたくない
396 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 07:25:44.75 ID:qmafesNd.net] swiftやdartはモバイルアプリ開発以外で全く使われてない
397 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 07:30:51.78 ID:KVAhvvz+.net] SwiftはApple製ってだけで使う価値なし 開発環境の依存があまりに高すぎる
398 名前:デフォルトの名無しさん [2024/02/07(水) 07:38:16.28 ID:2LChEtDL.net] 出来ればJVMも使わずに済みたい なんとなく
399 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 07:40:43.27 ID:lxo2szIV.net] >>375 ,377,384 なんか言語のラインナップ見るにバリバリのフロントエンド開発屋さんかな? そらRustを使うことなんてないわな なんでこのスレにいるのか
400 名前:デフォルトの名無しさん [2024/02/07(水) 07:53:07.34 ID:q5vZGjA+.net] Rustはフロントエンドも取り込むのでRustスレはフロントエンド屋も書き込んで良い
401 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 08:12:27.93 ID:gKkOyEKn.net] まぁRustの非同期の良いところはランタイムを言語から切り離したので Webでも組み込みベアメタルでも非同期が使えるところなんだけど 使い勝手としてWebのユースケースに特化した他言語に負けるのはしょうがない これは時間がたっても根本的には改善されないから 不満があるなら早く他言語に移ったほうがいいよ
402 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 08:15:11.44 ID:0B0Tt2Zv.net] >>390 ならGoかC#のASP.NETでいんじゃね? さまざまな導入コストを払えるなら事実上クラウドネイティブ言語のRust一択 それとJVMがダメという理由が、Oracle JVMのLTSサポート期間が短縮されJVMのイメージが悪化したってことに依るものなら、 Kotlin/JVMだとJDK8をベースに、どのJDKバージョンでも動くようにサポートされ続けられるから、JDK8から最新のJDK21までのLTSバージョンで難なく動く https://kotlinlang.org/docs/faq.html#which-versions-of-jvm-does-kotlin-target OracleのJavaは終わってるがJetBrainsのKotlinは無限に始まってる
403 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 09:03:48.96 ID:7skGlnTk.net] 静的言語ではkotlinが個人的には1番かな コルーチンスコープを作れるから既存の処理の中に非同期を唐突に入れられる これが理想 ただしクラスありきなのが微妙なところ クラスなしでkotlinのような使い心地がある言語が欲しい
404 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 09:09:08.81 ID:oJ2HGwP7.net] >>373 その時間有効に使えるのかって話なんだよ。 例えばRDSを休止したい場合に、休止するAPIを呼んで、状態を確認するAPIで休止を確認してすると思うけど、 そういう処理を自動化する時に非同期でハンドリングする意味あるかっていう。 DynamoDB のデータ操作とか業務トランザクション扱う系は非同期あっていいとは思うけどね。
405 名前:デフォルトの名無しさん [2024/02/07(水) 09:21:27.90 ID:+r3v4OXU.net] 既存の処理の中に非同期を唐突に入れられるのってランタイムがグローバルで一意じゃないと出来なそう ランタイムいくらでも作れるし複数種類存在しうるRustでは無理そうね
406 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 09:33:38.70 ID:3p2K3Rhv.net] >>395 それはRustも同じ Rustのasyncもコルーチンでありtrait Futureによって抽象化されている Future::pollの引数であるContextがKotlinでのコルーチンコンテキストに相当する >>397 Rustでも既存の処理に唐突に非同期を取り扱える Rustでtokioのようなランタイムが必要になるのはspawnして完全に制御外へ切り離すときのみ 制御内ならば複数のFutureを取り扱う場合でもjoinなど様々な方法で取り扱うことができる もちろんtokioランタイムは必要ない
407 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 09:42:26.35 ID:x+YpU8Xz.net] async{}.await
408 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 09:45:13.70 ID:kuiQPbhX.net] >>380 C++ はその性質上、システムとの連携が必要な標準ライブラリは薄い。 幅広いシステムで実現可能なように配慮するから。 必要ならサードパーティライブラリでやれというスタンス。 ただそこで強力な誰もが認めるサードパーティライブラリが結局は現れなかったというのが C++ のあかんかったところなんやわ。 個人的には C++/WinRT の非同期処理は好きなんだがね。
409 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 10:36:03.38 ID:0B0Tt2Zv.net] >>395 KotlinはデフォルトでclassがJavaでいうfinal classで定義されてて ・クラス継承禁止 ・やってることはCの構造体と同じ だから、自分はclassであるデメリットを感じてないかな Kotlinでクラス継承するにはご存知の通りclassをopen classやabstract classと書くから見て分かるのがヨシ
410 名前:デフォルトの名無しさん [2024/02/07(水) 10:46:44.24 ID:rJGaKMx5.net] >>396 >その時間有効に使えるのかって話なんだよ。 非同期にすることでawsに関係なく別の処理を同じリソースで走らせられる もしその時間を有効に使えないような用途なら省リソース高性能とは無縁だからわざわざRustを選ぶ必要ない
411 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 10:52:51.94 ID:ndvPWcVf.net] なんかプログラミング言語総合スレみたいになってんな いやちゃんと説明してくれて勉強になるから別にいいんだけど
412 名前:デフォルトの名無しさん [2024/02/07(水) 11:05:20.92 ID:tO9J4ky9.net] >>402 Rustはプログラム言語の王だから理由がなくてもRustを使って良い
413 名前:デフォルトの名無しさん mailto:sage [2024/02/07(水) 11:12:27.12 ID:dhCR1KyQ.net] >>398 え、tokioランタイム無しで非同期関数呼べるんだ? 知らんかった でもクレートの依存は付いてきてビルド遅くなるよね