Rust part18

■ このスレッドは過去ログ倉庫に格納されています
2022/12/10(土) 18:17:02.61ID:XSNoXTPt
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

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 part17
https://mevius.5ch.net/test/read.cgi/tech/1665063793/
2022/12/30(金) 17:08:17.01ID:G+QOCOIZ
会社でやってるとサードパーティのライブラリはライセンスだったり許可もらったりするのが面倒
2022/12/30(金) 17:58:17.74ID:DPUEZfMS
マトモな翻訳してくれれば誰も文句云わんのだよ
2022/12/30(金) 18:19:29.77ID:fRI4wSFq
クレクレ君…w
2022/12/30(金) 18:21:35.53ID:IZzoTqaS
>>409
キミのやりたいことは多分こう
let mut v: Vec<usize> = vec!(1,2,3);
v.iter_mut().for_each(|x| *x += 1);
println!("{:?}", v); // [2, 3, 4]
2022/12/30(金) 18:40:35.07ID:IBpSTujk
>>400
出たよワッチョイ自治厨
こいつが来るとスレが終わる
2022/12/30(金) 18:44:56.94ID:tjQ0cwgL
おまえだけワッチョイスレたてて移住すりゃいいだろ
考えを押し付けるなカス
2022/12/30(金) 19:38:38.38ID:QNlIwCU4
確かにidって中途半端だよなワッチョイと言わずip表示させようぜ
2022/12/30(金) 19:44:01.82ID:cZGr+8cE
C++は経験あるけどRustはまだ触ったことない
RustってC++より簡単?
言語仕様の超複雑なC++よりは使いやすそうに見える
2022/12/30(金) 19:49:17.66ID:kWQcSfr1
>>416
むしろidを消していいかと
2022/12/30(金) 19:55:03.48ID:0DTVZGRS
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part6
https://mevius.5ch.net/test/read.cgi/tech/1532697692/

どっちを復活させるべきか
2022/12/30(金) 20:01:01.43ID:dkO45neb
2度も失敗してるんか…
あきらメロン
421デフォルトの名無しさん
垢版 |
2022/12/30(金) 20:09:39.66ID:ZhOqacm+
ステルスマーケティングに関する検討会 報告書
https://www.caa.go.jp/policies/policy/representation/meeting_materials/review_meeting_005/assets/representation_cms216_221228_03.pdf

覚悟しとけ。
422デフォルトの名無しさん
垢版 |
2022/12/30(金) 21:02:28.22ID:d34Nf27q
汚コーダー来てるね
2022/12/30(金) 21:27:26.92ID:2tr5E+qB
>>413
まじか
でキタ━━━━(゚∀゚)━━━━!!
2022/12/30(金) 21:45:21.02ID:2tr5E+qB
>>413
本当にありがとう
for_eachしらんかった

let mut vec: Vec<Vec<usize>> = vec![vec![1, 2, 3]; 3];
vec.iter_mut().for_each(|x| x.iter_mut().for_each(|x| *x += 1));

for i in vec.iter() {
 println!("{:?}", i);
}

//[2, 3, 4]
//[2, 3, 4]
//[2, 3, 4]


実現できて助かるヽ(´ー`)ノ
2022/12/30(金) 21:50:10.68ID:IZzoTqaS
よかったね(*´∀`*)
426デフォルトの名無しさん
垢版 |
2022/12/30(金) 23:47:28.62ID:uMR1T0wQ
>>424
forループじゃなくイテレータのメソッドつかいたいならinto_iterでmap
for_eachでmutateするのはbad practiceなのでやめようね
2022/12/31(土) 00:22:06.01ID:HrwxNmcH
>>417
c++より簡単と言えば簡単。
言語仕様をちゃんと確かめようとするとc++みたいに生の書き方ができない分、大変かもね。
2022/12/31(土) 04:42:28.23ID:kgmqtCAB
最近BTreeMap使いすぎて困る
2分探索必要なとき脳死で使っちゃう
なお重複
2022/12/31(土) 07:30:55.80ID:oTbNnype
>>424
どういたしまして
2022/12/31(土) 14:54:23.95ID:jR2iu01M
食いチン棒!万歳
チンコーマンの提供でお送りします
2022/12/31(土) 15:23:23.48ID:/2nidRAX
>>430
面白いと思ったの?
2022/12/31(土) 15:29:57.82ID:/DZ35uia
俺は大笑いしたけどな
433デフォルトの名無しさん
垢版 |
2022/12/31(土) 17:14:26.57ID:TeLjBPNY
面白いかはともかく、スレのレベルには合ってる。
2022/12/31(土) 18:36:57.94ID:iB0yGVB2
なんでお前らRustなんてやってるの?C#の.NETが圧倒的に使いやすいのに
お前ら損してるよ
2022/12/31(土) 18:53:15.25ID:oTbNnype
>>434
気になってしょうがないんだなw
2022/12/31(土) 18:54:52.47ID:a9jYC/Xy
RustやってるヤツなんてC#使った事ないわけないだろ
2022/12/31(土) 19:38:51.94ID:YTLEGwqL
「なんでRustなんて使うの?」という考えの人がわざわざRustスレに書き込もうと思うのが謎
2022/12/31(土) 19:45:14.47ID:zpFQdxC+
Rust'erはC++とJava or C# は扱えるイメージ
2022/12/31(土) 19:50:31.27ID:a9jYC/Xy
Rusterは大体過去にD言語とか一回はかじってそう
2022/12/31(土) 21:08:24.99ID:UJsKk56g
>>437
自分がやってきたことに疑念が生じてるんだよ
ひょっとしてC#なんかよりRustやったほうがいいんじゃないか?って
そして言ってもらいたんだよ
C#なんてやめちまえって
どこにでもいるだろ?迷ったとき背中押してもらいにくるやつw
441デフォルトの名無しさん
垢版 |
2022/12/31(土) 21:10:04.00ID:TeLjBPNY
キラーアプリの前にセミナーや資格が出てくるのは、売人の世界。
役に立たんよ。
2022/12/31(土) 21:26:12.45ID:YncayN1e
> どこにでもいるだろ?迷ったとき背中押してもらいにくるやつw
みたいなこと言う奴が
> お前ら損してるよ
なんて言うわけないだろ、バカすぎるw
443デフォルトの名無しさん
垢版 |
2022/12/31(土) 21:35:29.14ID:TeLjBPNY
誰も使っていないのに、みんながお勧めする言語。
発売前なのに、みんなが絶賛する書籍。

ダメでしょコレ。
444デフォルトの名無しさん
垢版 |
2022/12/31(土) 21:37:02.33ID:TeLjBPNY
ステマ界のエース。
2022/12/31(土) 21:57:26.74ID:8bI5KTFW
>>426
なんでbadなん?
2022/12/31(土) 22:36:39.86ID:jxqT3Fc7
汚コード増し増し言語
2022/12/31(土) 23:39:15.81ID:OoaMek77
>>426
ミーには前者のがbadに見えるザンス
2022/12/31(土) 23:58:30.86ID:YFdr1sr3
スパゲッティーだけど安全安心だよ
2023/01/01(日) 11:45:43.47ID:BvdJus9d
今のご時世、Polyglotなプログラマが求められてるというか、常識みたいな扱いになってるね
2023/01/01(日) 11:48:47.94ID:BKjRVrWQ
C#ってC++の代替にはなるけどCの代替にはならない
RustはそのCの代替と成りうる言語でなので
恐らく逆にC++やC#の代替にはあんまり向かないんじゃないかと思う
2023/01/01(日) 13:38:52.32ID:To8Y0Nm/
Rust++
452デフォルトの名無しさん
垢版 |
2023/01/01(日) 13:40:21.19ID:Vy1QsnRD
>>449
そりゃそうやろ
2023/01/01(日) 14:11:05.78ID:wNlikats
バックエンドデベロッパならlibcは理解してないといけないからcは必修よね
2023/01/01(日) 14:21:37.43ID:ps54Dm7d
C#がC++の代替えになる?
2023/01/01(日) 14:41:50.37ID:aSlqk9oO
C#はRuntime実行前提の言語だから組み込み開発に向いてない
2023/01/01(日) 14:48:36.24ID:VT3ij45D
とはいえ、WinformやWPF使わないならネイティブコンパイルできるけどね。
.netランタイムない環境でも普通に実行ファイルあるいはネイティブdllにみたてたものして動作する
2023/01/01(日) 14:48:50.67ID:aOdp45l9
C++って保守と競プロ以外どこで使われてんの?
2023/01/01(日) 14:52:58.20ID:58kS2oWV
>>457
Rustと同じところに使われてるぞ
そんなことも知らないの?
2023/01/01(日) 14:54:25.49ID:XWe0+nEQ
>>457
それrustがどこに使われてるの?と聞いてるのと同じじゃんかww
2023/01/01(日) 14:58:29.83ID:+lXIx03F
c#ってフロント組むための言語だよね?rustやc#とは用途が違うのでとっとと出てってください
2023/01/01(日) 14:59:02.35ID:+lXIx03F
間違えたrustとc/cpp
462デフォルトの名無しさん
垢版 |
2023/01/01(日) 15:14:11.17ID:qFCwFs0i
>>458-459
C++はゴミだと確信してたけどRustもゴミってことか
教えてくれてありがとう
2023/01/01(日) 15:17:51.36ID:8mQl/wdO
>>453
必修どころか常識やで
2023/01/01(日) 15:22:01.00ID:ZNJrRmgO
>>456
それGCどうやってるの?
2023/01/01(日) 15:27:38.23ID:BKjRVrWQ
大体C言語を碌に触らずにC++をCの上位互換言語を思ってるヤツがホント多い

Cでは**pは必須だけどC++ではそもそもC++で拡張された機能によってそもそも**pを使うべきじゃないし
物理アドレスを触るような場面ではそもそもC++を使うべきじゃない

そしてCの互換言語という点を差っ引いたらC++じゃなきゃいけないって場面は殆どない
2023/01/01(日) 15:34:44.56ID:ZNJrRmgO
お前さんの頓珍漢なべき論は要らんよw
2023/01/01(日) 15:35:56.13ID:MnJksM0+
C言語の開発資産しかない場合、次は上位互換であるC++に行くのが常道になるのが
自然の流れ

しかもRustは新興言語で実績もないから採用は不可
2023/01/01(日) 15:55:05.94ID:g9Gfx6Qg
>>465
なんでCもC++もよく知らんのに知ったふうな口きくん?
君はプログラマですらないやろ? ただのド素人やろ?
469デフォルトの名無しさん
垢版 |
2023/01/01(日) 15:59:31.54ID:c0wTdgdc
そりゃ技術評論社がLinux板から情弱連れてくるからだろう。
470デフォルトの名無しさん
垢版 |
2023/01/01(日) 16:00:58.69ID:c0wTdgdc
Haskell本が売れなくなったからRust売り込むことにしたんだろ。
迷惑な話よ。
471デフォルトの名無しさん
垢版 |
2023/01/01(日) 18:13:51.42ID:m2hNSU/p
C++の話になると途端に饒舌になる老害さん達
スレ間違ってますよww
2023/01/01(日) 18:21:28.05ID:ps54Dm7d
>>471
そう言うのは>>450,465に言った方がいいぞ
2023/01/01(日) 19:11:12.15ID:LWg4u5cF
>>450
>RustはそのCの代替と成りうる言語でなので
個人的にはそうは思えないけどな。
Rustは低レベルが扱いにくいから。
2023/01/01(日) 19:17:21.93ID:LWg4u5cF
>>473
[補足]
Cは、どういうコードが生成されるかとても分かり易いので安心感が有る。
それに対し、
(Rustは結構頑張って学ぼうとしたが)、Rustは抽象レベルでの意味論は書いて
あっても、最終的にどういうコードが生成されるか分からない(仕様が明確には
書いて無い)事が多い。
475デフォルトの名無しさん
垢版 |
2023/01/01(日) 19:20:49.98ID:LWg4u5cF
>>474
[補足]
Rustの場合、意味論は書いてあるのでどういう結果になるかは一応は分かるが、
結果的に何が行なわれるかは分かっても、どういうコードが生成されるかは
分からない事が多かった。それが分からないと高速化は難しい。
Cだと命令数やクロック数を数えることが出来たがRustでは出来ないと思った。
例えば、引数を渡す時に何回コピー動作が行なわれるかCやC++では分かるのに
対し、Rustでは分からないことが有るように思えた。
論理や意味は分かるが、途中にどういう中間工程が入るか分からないのだ。
2023/01/01(日) 19:24:18.90ID:LWg4u5cF
>>475;
Cではなくて、C++でも、
TYPE a = 5;
f(a);
と書いたとき、どういう動作がおきるか多くの場合はよく分かって、マシン語で
どういうコードになるかも分かる。コンストラクタがどこで呼び出されるか、
どこでコピー演算やムーブ演算が起きるのか、一応は分かる。
ところが、Rustでは分からない事が有った。
それでは問題を生じることが有る気がした。
2023/01/01(日) 19:32:28.31ID:J0mHLh9j
JScriptで書いていた支援ツールをRustで書き直そうかなぁ
そうすればwine/proton環境でも個別対応しなくて済むようになるし
2023/01/01(日) 19:34:34.15ID:g9Gfx6Qg
javascriptでツール書くとか猛者やなw
2023/01/01(日) 19:35:28.46ID:g9Gfx6Qg
あ、失礼JScriptってのが別にあるのね
知らなかったわ
2023/01/01(日) 19:36:40.86ID:cEMoHOhE
あーあ隙を見せちゃったな
2023/01/01(日) 19:39:07.32ID:LWg4u5cF
組み込みだと、「アドレスへの write アクセスが1回でなくてはならない」
場合がある。アクセスの回数によってハードウェアの動作が変わってくるから。
例えば、あるアドレスに 一回アクセスすると LED が点灯し、もう一回アクセス
すると LED が消灯する、などという動作がある場合がある。
場合によっては、音の PCM の振幅や、モーターの速度調整にそれを利用する可能性があるなど。
この場合、Rustではメモリーアクセスの回数が不明確になって、上手くプログラミングできない
かも。
2023/01/01(日) 19:41:37.18ID:LWg4u5cF
組み込みでは、
「最適化して後から後れてアクセスする」
「アクセスが時と場合によって省略される」
などが有っては駄目な場合がある。
Cだと結構上手く行く。
483デフォルトの名無しさん
垢版 |
2023/01/01(日) 19:58:47.06ID:v/m/qtfA
2年くらい前はHaskellが世界を席巻してたからな。
2023/01/01(日) 20:06:13.34ID:ps54Dm7d
>>482
> Cだと結構上手く行く。
アホの子なのかな?w
そもそも処理系の話だからCとかRustの話じゃないだろ
2023/01/01(日) 20:12:23.58ID:LWg4u5cF
>>484
でも、あなたにもC#で組み込みとか、Rubyで組み込みとかやっても難しいのは分かるよね。
それと似たようなことがRustでも起き得そうな気がするんだよ。
C#とかRubyでも、一応、atomicアクセス的な何かは用意されてるかも知れないけど、
そういう問題ではないおきるだろう。
2023/01/01(日) 20:19:06.23ID:t/WFYlqt
最適化に左右されたくないならちゃんとwrite_volatileとか使えばいいだけの話
memory mapped I/Oの制御なんて当然想定されてるよ
487デフォルトの名無しさん
垢版 |
2023/01/01(日) 20:21:02.90ID:v/m/qtfA
MCUがRustを考慮していないから無理。
それだけの話。
2023/01/01(日) 20:25:26.38ID:ps54Dm7d
>>485
気のせいとかいうレベルで語るなよ...
2023/01/01(日) 20:25:48.30ID:J0mHLh9j
C言語仕様はメモリアクセスの順序を保証しない。動いているのは
ただの偶然だしそのようなコードは仕様外の糞コードでFA
2023/01/01(日) 20:28:33.07ID:LWg4u5cF
Rustは高速化したいときにクロック数を数えにくいのも困る。
2023/01/01(日) 20:34:28.70ID:T0egek2q
>>483
どこの世界線の人かな
492デフォルトの名無しさん
垢版 |
2023/01/01(日) 20:35:45.62ID:v/m/qtfA
>>491
ステマ界に決まってるだろ。
2023/01/01(日) 20:50:47.69ID:k1WVbd3b
しかしCでいいと思ってるならわざわざこんなスレにトンチンカンな書き込みせずに黙って使ってればいいのに
Rustに置き換わって仕事なくなるかも的な心配で攻撃したいとかだろうか
そんな心配しなくても組み込みのCの仕事は当分なくならんよ
494デフォルトの名無しさん
垢版 |
2023/01/01(日) 20:58:20.82ID:v/m/qtfA
技術評論社が先に他言語スレへ侵攻を開始した。
495デフォルトの名無しさん
垢版 |
2023/01/01(日) 21:04:05.03ID:v/m/qtfA
既に5chあるいは国民と技術評論社の戦争に発展している。
2023/01/01(日) 22:40:47.03ID:hnV+fUB+
>>493
変な言語が流行って人類の負の遺産になる前の抑止効果。
2023/01/01(日) 22:44:49.52ID:Y6M2Pvqr
>>493
Rustはシステムプログラミングに向いてるってデマのせいじゃね
2023/01/01(日) 22:57:51.39ID:J0mHLh9j
組み込みでもRustを使えるならRust使うわ。Cは実装依存が多すぎる
正しいコードを書こうとしたらコーディングコストはRustより高くつく
499デフォルトの名無しさん
垢版 |
2023/01/01(日) 23:19:31.51ID:v/m/qtfA
実装に依存しない組み込みとか夢のようなことを言ってるな。
500デフォルトの名無しさん
垢版 |
2023/01/01(日) 23:20:05.95ID:v/m/qtfA
さすが技術評論社。
2023/01/01(日) 23:20:38.81ID:hnV+fUB+
>>498
組み込みは、メモリー関連エラーなんて起きないプログラムも多い。
というか保護モードも使ってないことも多いのでそれ以前の問題。
Lチカなんて、Rust不要。
2023/01/01(日) 23:21:05.99ID:hnV+fUB+
>>499
確かに。
2023/01/01(日) 23:25:26.99ID:O4Ho+Fsi
技術評論社からRustの本が出るだけであって技術評論社自体はRustと関係ない
いい加減に技術評論社発狂ガイジ出てけよ
2023/01/01(日) 23:26:26.18ID:hnV+fUB+
>>501
[補足]
組み込みの世界は「メモリー関連エラー」なんて言葉で語れるほど生易しいものではない。
一つ間違えればハードウェアがICが爆発したりモーターで人が死ぬような世界だったりする。
つまり、慎重に組む。
電線のつなぎ方を間違えれば部品が故障するが、それと同様にプログラムの間違いは
暴走や故障の現象になる。
だから、メモリー関連エラーで苦しむ程度の頭脳しか無いような人は組み込みに向いてない。
505デフォルトの名無しさん
垢版 |
2023/01/01(日) 23:29:45.04ID:v/m/qtfA
>>503
ステマしてるのが技術評論社では?
2023/01/01(日) 23:34:52.14ID:O4Ho+Fsi
>>505
おまえが技術評論社とかいうのをステマしなければいいだけ
RustスレでRustをステマすることのなにがいけないんだ?
2023/01/01(日) 23:35:46.35ID:O4Ho+Fsi
>>498
rustもlibc依存あるだろがいw
508デフォルトの名無しさん
垢版 |
2023/01/01(日) 23:40:06.46ID:v/m/qtfA
いや、もうダメだ。
技術評論社は、やりすぎた。
2023/01/01(日) 23:41:02.46ID:O4Ho+Fsi
あかん、ガイジだったか
構ってごめんね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況