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


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

Rust part21



1 名前:デフォルトの名無しさん [2023/08/15(火) 22:24:39.45 ID:xzxy4cgp.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 part20
https://mevius.2ch.net/test/read.cgi/tech/1677771928/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/

944 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 21:22:17.40 ID:U1u9K+K0.net]
他の言語と同じ
そこにRust固有の問題はないな

945 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:20:52.17 ID:5TL7zSTv.net]
>>924
意識するのはヒープじゃないか?
スタックフレームは解放されるんだから意識しないで良いんだぞ

946 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:39:11.81 ID:vjpbBz8R.net]
変数の寿命と連動するから意識するよ。
C/C++ の世界だと当たり前のことだから意識してる自覚すらないレベルで自然に考えてるけど。

947 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:39:43.86 ID:eEzmAF9q.net]
人格をもたない書物は効率が悪いという風潮は面白い
人格がなければ報酬とか私刑とかができないってことだろうか

948 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:43:52.06 ID:Hr4uH45j.net]
進行が早くなったのでいつもの
次スレはなしで既存のワッチョイスレにしよう
過疎るのは既定路線なので頃合いでしょ

949 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:05:04.70 ID:Rx8gKVuk.net]
「スタックフレームを意識する」というのはどの程度を指してるんだろう。
どれがスタックに積まれるかとどうスタックに積まれるかは違うわけで。

950 名前:デフォルトの名無しさん [2024/01/19(金) 23:24:13.49 ID:LbAGY+B7.net]
>>924
スタックフレームの動きってプログラミング初心者でも何の問題もなく理解できるやろ
学習曲線めちゃ緩やかじゃん

951 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:35:33.58 ID:QqY+6sl7.net]
オラから『Rustの練習帳』って新刊が出るんだね
タイトルがエモい

952 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:44:43.13 ID:NtpPLEep.net]
ワクワクすっぞ



953 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 00:29:37.21 ID:zhjwtCng.net]
オライリーをオラと略す人は初めて見た

954 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 00:46:25.56 ID:B5JkVzvF.net]
そう?
オラの村では普通だでね

955 名前:デフォルトの名無しさん [2024/01/20(土) 01:10:08.13 ID:ppE6WkEJ.net]
都会は進んでるなあー

956 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 01:16:50.20 ID:zhjwtCng.net]
ミスチルはわかるんだ
ミスター・チルドレンは長いから
サザンもサザンオールスターズは長いからわかる
マクドもマクドナルドは長いからギリわかる

オライリーをオラは無いだろ
たかが2文字略すなと思った

ま、どうでもいいんだがな

957 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 01:51:39.52 ID:HZE0SdTu.net]
スクリプト言語出身者が増えたせいだよ
スタックフレームやヒープなんてCSやってりゃ習うでしょ
コンパイラかコンピュータアーキテクチャでやる
スクリプト言語はスタックフレームの開放も全てGCがやることになるから
全く意識しないんだよな

958 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 01:55:10.81 ID:ppE6WkEJ.net]
スクリプト言語に限らず、C/C++を書かなければそこら辺に気を使う機会はないよ

959 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 07:57:38.44 ID:lqSANakz.net]
>>937
公式にオラの村ってのがあるよね

960 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 08:33:10.42 ID:QXcnqV7m.net]
GCありでパフォーマンスも関係ないなら、スコープだけ気にしていれば困らないしね。

961 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 08:49:07.11 ID:G76ZEaWY.net]
>>939
マクドじゃなくてマックね

962 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 09:18:20.17 ID:viZi/CYZ.net]
webサービスまわりは全部スクリプト言語かGCランタイム付き言語だもんなあ



963 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 11:01:53.93 ID:ppE6WkEJ.net]
最近は組み込みもC/C++を使う理由がないことが多い

964 名前:デフォルトの名無しさん [2024/01/20(土) 11:38:27.03 ID:lE+lj03S.net]
オラは「Rust for Rustaceans」の訳書出さないな
本格的にRustやるなら必読書なんだけどな

965 名前:デフォルトの名無しさん [2024/01/20(土) 11:42:02.65 ID:o5qofGYG.net]
スクリプト言語はともかく静的にコンパイルする言語ならGC言語でもスタック/ヒープは意識するけどね

966 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:07:36.77 ID:KBzblFQB.net]
>>945
CPU時間(ミリ秒)あたりで課金されるからこそのRustだよ

967 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:23:09.39 ID:+uoYRouQ.net]
オンプレミスでも同じ
Rustで書くかスクリプト言語で書くかでサーバーやメモリの必要量が何倍も変わる
電気代も節約できRustはエコにも貢献

968 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:30:18.74 ID:KBzblFQB.net]
そう、CO2排出量を考えたら、Rust以外で書くのは社会にとっての悪

969 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:33:36.69 ID:wJQgtkwZ.net]
昔は全体の性能に余裕があって I/O (ストレージと通信) が極端に足を引っ張る状況だったから言語処理系の動作速度は問題にならなかったけど今は全ての性能をギリギリまで絞り出す勝負に変わってる感じだね。

970 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:46:54.29 ID:+pH1NoHl.net]
Rust言語は
・タイプセーフ、メモリセーフによる高い安全性
・並列プログラミング処理設計
・ガベージコレクタのようなランタイム無しに動作
だから、これらを活かせる製品に採用したらいいんじゃないかな
いまどきそんなのは組み込みロボットとかカーネルやエンコーダデコーダくらいしかないような気がするけど

971 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:56:12.54 ID:UT8XEnd7.net]
>>953
その条件ならウェブに向いてるね
そして実際に使われてるね

972 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:15:54.83 ID:KWXCbsaH.net]
ウェブっていうかwasmじゃね?
rustじゃないけどffmpegのwasm実装は使ったことある



973 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:17:39.73 ID:NDqmkpk/.net]
>>954
Webって言っても大規模なユーザーがいるようなものじゃない?

大した事無いサービスで、スペック高い人が必要なRustはまだまだ辛い気がする。Javascript並みに誰でも使えますって世の中になったらRust一択でも良いのかもしれないけれど。

974 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:22:10.20 ID:KBzblFQB.net]
AWSもGCPもサーバーレス環境とかのランタイムや下周りがだいたいRustで書いてある

975 名前:デフォルトの名無しさん [2024/01/20(土) 13:22:24.95 ID:lxegQoou.net]
CO2排出量は難しいな
Rust書けない人間がCO2排出するだけのうんこ生産機になってしまうのもあんまエコじゃない気がする

976 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:24:24.78 ID:tKcafxZR.net]
actix-webはどうなん?自分はよく知らんのだが使ってる人いるんけ?

977 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:24:56.70 ID:NDqmkpk/.net]
>>958
そんなこと言ってると、Rustへのリスキリング時のco2排出量もRustのコストって言われちゃうぞ。

978 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:27:59.09 ID:KBzblFQB.net]
CO2排出量を考えて、コンパイル中は息を止めている

979 名前:デフォルトの名無しさん [2024/01/20(土) 13:34:01.02 ID:vYJJrZqN.net]
JavaがOracle事件で終わって脱SpringでRustのActixがついに普及するかなと思ったらC#のASP.NETにみんな行っちゃった

980 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:39:08.81 ID:tKcafxZR.net]
>>962
そうなんか…

981 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:57:32.93 ID:ngmk9luX.net]
Javaが脱Springなんて馬鹿げた事言い出してるのかと見間違えたが
脱Javaの話か

Rustは学習コスト高いからJavaでやってた様な大人数プロジェクトには向かんだろう

982 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 14:59:14.28 ID:ppE6WkEJ.net]
みんな経済合理性でRustを選択するんだよな



983 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 15:49:27.64 ID:w9m16ZcP.net]
>>952
特に機械学習ではその方向が顕著
MLIRみたいにSIMDやGPUを使う前提でIRが設計されてる

Node.jsが切り開いた非同期IOの登場もでかい
これによってIOの比重が高いプログラムでもIO待ちがなくなり
さらにマルチコア、GPUを活かせる環境が整った

一方Rustはtokioなどの非同期IOを実現できるフレームワークが山のようにある
さらにSIMD命令を直接使える仕様も整備されてきている
(LLVMの最適化によって勝手に使われることも多いが)
マルチスレッドは言わずもがな
他の言語でこれらを全てサポートしている言語はない

現在の最先端の環境を活かせる言語は他に選択肢がない <

984 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 16:00:45.48 ID:tKcafxZR.net]
RustのWebアプリケーションは未履修だけどぜひやりたいなあ

985 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 18:46:27.21 ID:PTOG17pe.net]
>>954
Webで使うにはTokioなどの重量級ランタイムが必要
ただ利用するだけなら難しくはないけどエコシステム含めそこまで安定しているものじゃないのでランタイム含め自力で修正できる力が必須

986 名前:デフォルトの名無しさん [2024/01/20(土) 18:55:33.87 ID:I+Fu8n3P.net]
>>964
90年代後半にコボラーがJavaでWebアプリを作れるようになるための学習コストに比べればRustの学習コストは断然低い

987 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:12:06.87 ID:6DBgVQg4.net]
>>969
その時期にいた純粋コボラーって定年間際のジジイじゃん。そりゃ学習コスト高いわ。

988 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:21:51.44 ID:w9m16ZcP.net]
httpclientもそれぞれのイベントループに対応したものをつかわないとダメだから割と面倒なんだよね
使い方もフレームワークによってかなりクセが違っていて面倒だし
ぶっちゃけWebはGoやpythonでいいんじゃねーかって思う

989 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:26:03.92 ID:tKcafxZR.net]
Goでいいは分かる

990 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:56:32.80 ID:k6CjZuQW.net]
Go のランタイムサポートは分厚めだがどうせ要るもの(やること)と考えればそんなに速度的に不利なわけではないよな。

991 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 20:11:15.24 ID:u/fg5YR1.net]
速度的にはGoで十分なんだけど型とか貧弱すぎるんだよな…
sumタイプとパターンマッチくらいは欲しい

992 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 20:17:19.49 ID:tNrs3Odf.net]
>>968
tokioは他言語と比べて大きくない
そして安定している

>>971
各言語に複数のイベントループライブラリがあってその通りだが
Rustはデファクトスタンダードがあるためそこで困ることはない



993 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 21:17:45.54 ID:w9m16ZcP.net]
>>975
いやデファクトがあるのは良いけど
例えばコマンド実行1つとっても
tokio::process::commandとか使わなきゃいけなくてなんだかなあと
非同期版じゃないのと区別しなきゃいけなくて嫌気が刺す
まあpythonもasync使えば同じことなのだけど

994 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 21:24:03.71 ID:w9m16ZcP.net]
まあ俺はRust信者だから使うのだけど普通の人はなかなか辛いんじゃないかなーと
その点Goは何も考えなくて良いしpythonもasync使わなけりゃ同期的に書けるし

995 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 21:48:04.29 ID:USm4U3n4.net]
>>976
PythonもasyncはそうだしJavaScript(Node)も同期execと非同期exec分かれているし
動作が異なるのだから別になるのは当たり前

もちろんRustでも同様で
そもそも関数の返り値が異なる
だから関数が分かれているのは正しい
したがって一番下位のライブラリが別であることに何ら問題はない

一方で中位ライブラリ作成側の視点に立つと
同期か非同期かだけの違いでasync/awitを除いて全く同じ構造の関数を作ることになる
そのため『?async』キーワードによるジェネリック化がRustでは進められている
期待しているのはこの話でよいのか?

996 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:05:04.71 ID:w9m16ZcP.net]
>>978
いや見た目は似ててもpythonとはだいぶ違うよ
まずpythonでのasync defは単なるコルーチンオブジェクトなので非同期とか関係ない
これにより恐ろしい柔軟性を持ってる
さらにWebにおいてはASGIという非同期Webフレームワークが満たすべき仕様をまず決めた
その仕様を満たしさえすればどのような実装でも非同期の機能を満たせるような仕様となっている
そこにはもうイベントループなどの概念は消え去っている
さらに同期版と同居できる仕様となっている
なのでdjangoなどは同期版と非同期版の切り替えが可能となっている
このように明らかにユーザーフレンドリーな姿勢を貫いている

997 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:17:14.31 ID:wyzQTwgG.net]
>>979
Rustのasyncもコルーチンだぞ
まずは理解してから出直して来い

998 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:26:48.19 ID:HZE0SdTu.net]
>>980
コルーチンではないでしょ

999 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:49:39.00 ID:nUH4CzWh.net]
Rustのasyncはstackless croutineでstate machineとなっている
個別stackのresouceもswitchingも不要なため軽くて有利

1000 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:50:29.43 ID:u/fg5YR1.net]
Rustのasyncは(スタックレス)コルーチンである
Rustのasyncは(スタックフル)コルーチンではない
どっちも正しいとは思うけど

1001 名前:デフォルトの名無しさん [2024/01/21(日) 10:13:23.50 ID:VnWGTEfZ.net]
>>977
Rustが活きるのってやっぱり軍事系じゃないかな
兵器の制御とかGCなんてもってのほかだし速度も必要
メモリリークも起こせない

1002 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:18:24.63 ID:JCOE1HZY.net]
DAD御用達?



1003 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:24:54.33 ID:8LqvrPkW.net]
物理攻撃にソフトウェアを活用するってある意味「お花畑」だよな

1004 名前:デフォルトの名無しさん [2024/01/21(日) 11:29:12.59 ID:7K9itJgV.net]
パパ活か?DoDだろ
DoD御用達はAdaだぞ

1005 名前:デフォルトの名無しさん [2024/01/21(日) 11:46:34.67 ID:VnWGTEfZ.net]
やっぱりAdaしかないか
プリプロセッサ使うのもNGだからマクロがダメなんかな

1006 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:59:39.08 ID:dFB+Bg2+.net]
とはいえF-35はC++だったんだし、そのうちRust採用されてもおかしくはないけどな

1007 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 12:09:12.81 ID:4CYZ0hXB.net]
The Book読んでコード打ち込んだりしたが理解できた気がしない
次はどうすればいいの

1008 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:24:30.49 ID:8LqvrPkW.net]
仕様の次は実装とか
いま極端なところにいる奴は次はもう一方の極端に行けばいいし
ちょうどいい位置にいる奴は一生そこに居続ければいいのでは?

1009 名前:デフォルトの名無しさん [2024/01/21(日) 14:20:11.30 ID:sCtD39A+.net]
>>990
理解できてないと感じるのがunsafeやasyncやマクロ辺りならそこは一旦放置して小さいCLIツールをいくつか書いて実践経験を一度積むほうがいいかもしれない

逆にownership/reference/lifetime/generic/traitといったコアなところが理解できてないと感じるならオライリー本など別の入門書をすすめる

1010 名前:デフォルトの名無しさん [2024/01/21(日) 15:14:08.20 ID:eSjvKxMy.net]
>>989
Rustは使われない
ISOプロセスは産業界の評価が高い

1011 名前:デフォルトの名無しさん [2024/01/21(日) 15:15:15.91 ID:eSjvKxMy.net]
F-15は50年以上空を飛んでいることを思い出してほしい
Rustは50年後存在しない

1012 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:44:39.63 ID:cX88PWDV.net]
>>993
Rustのスポンサー欄を見ればわかるけど将来Rustが使われるのは確定されたことだぞ
アンチさんどんまい



1013 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:46:08.09 ID:4rk7TZPC.net]
統計学的に会社や国家、生物種の存続見込みを解析した例を見たことが有るな。
これまでの歴史が長いものはこれからも長く続く可能性が高い。

1014 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:50:57.32 ID:eziZnnQK.net]
>>996
Javaみたいにホストがアホなことするとすぐ廃れるけどな

1015 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 16:55:47.23 ID:4CYZ0hXB.net]
>>992
ありがと

1016 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 19:43:22.00 ID:/dcZ0aWP.net]
次スレ
Rust part22
https://mevius.5ch.net/test/read.cgi/tech/1705760500/

1017 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 20:22:28.74 ID:mpR7a4j6.net]
>>994
C++みたいに、色々な実装がでてくれは、50年後にも生きてるんじゃない?

1018 名前:1001 [Over 1000 Thread ID:Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 158日 21時間 57分 50秒

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






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

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

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