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


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

Rust part22



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ランタイム無しで非同期関数呼べるんだ? 知らんかった
でもクレートの依存は付いてきてビルド遅くなるよね






[ 続きを読む ] / [ 携帯版 ]

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

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