Rust part17

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/10/06(木) 22:43:13.96ID:Re0G7B20
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

日本語の情報
https://rust-jp.rs/

※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 part16
2022/12/05(月) 22:21:07.81ID:m5vf/Aut
打ち間違い?がたまたま文法的にOKなんてことは、
どの言語でも、いくらでもシチュエーションとしてあり得ることだろ
812デフォルトの名無しさん
垢版 |
2022/12/05(月) 22:38:33.84ID:NTxK7UYQ
利便性とリスクのトレードオフだからね
いちいち長さから計算する時代じゃない
2022/12/05(月) 22:47:56.84ID:jQ8cc2lX
>>810
そんな細かいことってどうでもよくね?
2022/12/05(月) 22:54:27.15ID:9YGPhFSH
>>810
> 最初にnegative indexを採用したのはPascalだが
ALGOL だろ
2022/12/05(月) 23:11:47.28ID:MKpQGtij
Cの入門書を読んで一応ある程度理解したつもりというレベルですが、Rustの入門におすすめの本やサイトがあったら教えていただけませんか?
816デフォルトの名無しさん
垢版 |
2022/12/05(月) 23:44:22.33ID:PMru5zTg
>>815
オライリー本
2022/12/05(月) 23:51:52.39ID:MKpQGtij
>>816
Amazonの試し読みで2章Rustツアーを読みました
オライリー本が置いてあるような本屋が近くになく試し読みでも3章以降が読めないのですが、辞書的な感じでしょうか?
通読にも向いてますか?
2022/12/05(月) 23:54:41.51ID:uIcr3Drw
目次を見て判断しなさいよ
819デフォルトの名無しさん
垢版 |
2022/12/06(火) 01:04:16.95ID:AYQzZ/1Z
>>817
辞書的な本じゃないよ
The Bookと同じように通読するタイプのRust入門本
820デフォルトの名無しさん
垢版 |
2022/12/06(火) 03:26:07.35ID:SqysrJ92
>>810
.last()と.get(-1)は全然違うと思うんだが
821デフォルトの名無しさん
垢版 |
2022/12/06(火) 07:58:01.16ID:zEklaQTD
>>815 The Book
https://doc.rust-jp.rs/book-ja/index.html
822デフォルトの名無しさん
垢版 |
2022/12/06(火) 10:02:55.32ID:EPp4mQNt
>>821
それは低品質版の勝手日本語訳
本物のThe Bookはこっち
https://doc.rust-lang.org/book/

本気で学びたいなら日本語訳のThe Bookに手を出したらダメ
2022/12/06(火) 10:31:58.81ID:vigVXzh5
>>822
勝手日本語訳ってどういう意味?
824デフォルトの名無しさん
垢版 |
2022/12/06(火) 10:38:42.71ID:6z0cppnT
>>822 基本的には日本語版で問題ない
それどころか英語版をGoogle翻訳しながら読むよりは質良いから気になるとこがあったら原文読む感じでいい
2022/12/06(火) 10:57:55.33ID:aMDIqhh+
釣られんなよ (´・ω・`)
2022/12/06(火) 11:05:39.12ID:aMwchw3Z
こうして、日本におけるRustの学習曲線はさらに険しくなるのであった。
827デフォルトの名無しさん
垢版 |
2022/12/06(火) 11:20:31.41ID:HA2LFIoo
定数すら知らないやつが訳した誤訳をそのまま垂れ流してるのが問題ないってww
頭わいてるのかな
そんなんだから所有権を複製しちゃうんだろ
2022/12/06(火) 12:32:25.37ID:rE8cfGd/
出版社/著者の為にも、本を買ってあげて。
2022/12/06(火) 12:39:34.84ID:swsmryOJ
数値型やブール型などは所有権の移動はなく常に複製される
830デフォルトの名無しさん
垢版 |
2022/12/06(火) 12:46:01.49ID:6z0cppnT
>>827
https://doc.rust-jp.rs/book-ja/ch03-01-variables-and-mutability.html
> 最後の違いは、定数は定数式にしかセットできないことです。関数呼び出し結果や、実行時に評価される値にはセットできません。

ここの話だと思うが、読み間違いやすい文章だな
誤訳と言うほど間違ってはないけど要改善
2022/12/06(火) 12:58:10.61ID:tS6tYBbH
またその話やんの
832デフォルトの名無しさん
垢版 |
2022/12/06(火) 13:04:06.15ID:6z0cppnT
ほんそれ
アホ臭いから突っかかってこないでほしい
833デフォルトの名無しさん
垢版 |
2022/12/06(火) 13:16:01.68ID:lM2TuwNH
>>830
なるほど
あの日本語訳はこの日本語が誤訳だとすら思えない人向けってことなんだな
ガベージイン・ガベージアウトのいい例
834デフォルトの名無しさん
垢版 |
2022/12/06(火) 13:40:54.01ID:Vu2BcSww
>>833 お前が誤訳だと思うならそれでいいから黙ってろ
835デフォルトの名無しさん
垢版 |
2022/12/06(火) 13:41:28.90ID:FStkMgHU
>>829
複製されないよwww
836デフォルトの名無しさん
垢版 |
2022/12/06(火) 13:45:42.32ID:vtEUfIF0
>>830
>読み間違いやすい文章だな
明らかな誤訳を読む側に責任転嫁しちゃうのか
2022/12/06(火) 13:52:05.31ID:tS6tYBbH
機械翻訳あるいはどこの誰とも知らぬ人でしょ
そんなの相手にムキになってないで、言語の話しろよ
2022/12/06(火) 15:15:37.73ID:RihiShBF
もうそれ飽きたから誤訳言うなら他の場所の誤訳をあげてくれ
まだその方がみんなのためになるし
2022/12/06(火) 15:39:16.64ID:vigVXzh5
ここから日本語版へのリンク張られてるけど外してもらうように働き掛けた方が良いのかね?
https://doc.rust-lang.org/stable/book/appendix-06-translation.html
2022/12/06(火) 16:53:25.53ID:rE8cfGd/
>>839
止めて下さい。
日本語も見ます
2022/12/06(火) 17:08:44.79ID:5YlTlO+b
普通に「翻訳の改善に協力しては?」って言われるだけでは
5chならともかくリアルのGithubアカウントでそんな恥ずかしいPR出せんな…
2022/12/06(火) 18:40:54.66ID:vigVXzh5
https://blog.rust-lang.org/2022/12/05/survey-launch.html
今年もrust survey来たぞ
日本語訳もある
2022/12/06(火) 20:00:08.84ID:sedVUjKM
本当に日本人って何もせず文句だけ言う人が多すぎだな
改善してほしくて改善点も分かってるなら自分でやった方が圧倒的に早いのに
844デフォルトの名無しさん
垢版 |
2022/12/06(火) 21:25:02.08ID:RDoWQe9F
あの日本語訳の改善なんて誰も望んでない
845デフォルトの名無しさん
垢版 |
2022/12/06(火) 21:37:33.14ID:FCw1RUR4
問題ありまくりの日本語訳を参考にするのはやめましょうって話であって改善しようって話ではないわな
846デフォルトの名無しさん
垢版 |
2022/12/06(火) 22:49:17.43ID:zEklaQTD
>>839 無いよりマシ
2022/12/06(火) 23:00:32.77ID:N+cyFIt6
元の英語もあんまりよくないな

最後の違いは、定数は定数式に対してだけしかセットできない
実行に計算されるかもしれない値の結果にはセットできない
2022/12/06(火) 23:03:10.60ID:h/ukiy7O
英語文献をありがたがる、典型的な舶来コンプレックス
2022/12/06(火) 23:08:53.69ID:gk9SZTYC
誤訳ですよって説得して修正させることができないなら結局主観でしかないってことよ
850デフォルトの名無しさん
垢版 |
2022/12/06(火) 23:43:26.61ID:wxmB/YEK
>>847
それが誤訳だっての
2022/12/06(火) 23:51:16.30ID:Ow+XJZhk
主観を無くすには無人か少人数の方がよさそうなのに
人が多いほど主観が少ないって誰が言ったのか、それも人が多すぎて特定できない
2022/12/07(水) 00:00:30.38ID:xLbd5eMx
参考にするのやめた方が良いような情報ならやはり英語版からのリンクは外してもらった方が良いのでは
初学者惑わすだけでしょ
853デフォルトの名無しさん
垢版 |
2022/12/07(水) 00:02:06.86ID:3JEhjr2d
>>848
英語文献をありがたがってるんではなく
某翻訳がゴミすぎるという話だぞ
854デフォルトの名無しさん
垢版 |
2022/12/07(水) 00:09:51.51ID:IJoOi7Sy
文献や資料の質を見極める力もプログラマーにとってはかなり重要な能力
質の低い文献にひっかかったなら失敗から学べ
855デフォルトの名無しさん
垢版 |
2022/12/07(水) 00:21:26.68ID:rpgrLTt2
AndroidもRustで書かれてたのかよ!
しかもRustの部分は脆弱性の報告0件って恐ろしいほどの安全性だな……
これマジでRust一強の時代がくるかも……
Ubuntuにデフォルトで入るまで待とうとのん気に構えてたけど急いで勉強しないと……!〆(.. )カリカリッ!!
https://japan.zdnet.com/article/35196972/
2022/12/07(水) 00:35:34.36ID:21cwGaas
>>855
まじ?
というか20%がrustってえぐいな
2022/12/07(水) 00:41:52.20ID:xT6Hu5AC
C/C++ の書き方の何が危ないのか、Rustはどうやって回避しているのかは何を読めば分かるの?
Out of memory なんか防げるんだっけ?
858デフォルトの名無しさん
垢版 |
2022/12/07(水) 00:58:54.43ID:fQ3/NsZR
kLOCあたり1つ以上の脆弱性があったものが1500kLOCでゼロ
unsafeが量も気になるな
2022/12/07(水) 01:00:43.82ID:+scmKVbE
Google製のRustライブラリはどんなのがあんの?
2022/12/07(水) 04:00:04.20ID:0xPH+d9p
>>855
> システムプログラミングからCやC++を排除するつもりはないという。
これの理由を知りたいわ
まだRustでは書きにくい所があるんだろうか?
2022/12/07(水) 04:05:04.23ID:+scmKVbE
ってか、Googleはその分野で使うためにCarbon開発したんじゃなかったのか?
2022/12/07(水) 04:17:31.35ID:21cwGaas
CarbonもRust使えるならRust使えと言ってる
2022/12/07(水) 09:06:42.16ID:Mw8qZqut
google発のOSSって社員の個人プロジェクトをgoogle名義で公開してるだけの場合もあるからな
2022/12/07(水) 09:19:24.95ID:vqEtcxl0
どれがいい感じに発展するか事前にわかるもんではないからな。 狙いとは違う方向で結実することもあるし。
色々やっておく (それが出来る環境を用意する) とどれかは上手くいくし、上手くいかずに消えるものも多いってだけのこと。
2022/12/07(水) 10:24:44.39ID:G2nMx9FR
そこまで誤訳だと言うならコントリビューションすれば良いのではないの?
866デフォルトの名無しさん
垢版 |
2022/12/07(水) 10:39:11.42ID:KNXoSnHr
>>855
結果だけみると凄まじい
システムプログラミング関係の置き換えは案外急速に進むかもしれんね
867デフォルトの名無しさん
垢版 |
2022/12/07(水) 11:16:25.80ID:6Eaq6nhz
>>865
誤訳だらけでキリがない
ゴミから小さなゴミを取り除いてもゴミのまま
だれがそんなことに時間使うのさ
2022/12/07(水) 12:26:52.65ID:El0pJGUF
>>867
2chで文句言って他の話題を出にくくする方が有意義だと思うやつもいるんだな。
2022/12/07(水) 12:31:58.03ID:74PfFudB
複おじ以前と以後で明らかに話題の質が落ちてるよね
おのれ複おじ
2022/12/07(水) 12:39:55.04ID:m46mCwKQ
>>865
難癖つけて嘲笑って愉しんている奴がそんな無駄なことするわけがない。
自分がマウントできればいいだけだから、そもそもRustを良くする気なんて全く無いだろ。
2022/12/07(水) 12:46:13.68ID:g3+WCnxI
>>860
Cなら分かるがRustが分からない人
のことを老人と思うのは憶測で、むしろ子供である可能性が高い
子供を排除や淘汰しても進歩など起きない
少子化が加速するだけ
2022/12/07(水) 12:53:44.84ID:Mw8qZqut
>>860
元記事に以下とあるから既存のコードをrustで書き換えることまではしないという意味だと思われる

As we noted in the original announcement, our goal is not to convert existing C/C++ to Rust, but rather to shift development of new code to memory safe languages over time.
2022/12/07(水) 12:54:18.57ID:Mw8qZqut
>>872
元記事のurl貼り忘れた

https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html
2022/12/07(水) 15:17:49.39ID:Xzjw4n/l
>>872-873
ありがとう、まあ普通はそうするよね
ただそうするとAndroid 13は20%が新規のコードなんだ...
それはそれで凄いな
2022/12/07(水) 15:24:21.27ID:3HHCfxiv
マジでrust本腰入れよ
ゾワってしたわ
C/C++書いてたけど取り残される
2022/12/07(水) 15:28:39.71ID:h/t9+qo5
>>856,874
違う
天然か煽りかわからなけどちゃんと読もうな
2022/12/07(水) 15:40:23.08ID:3HHCfxiv
せっかくモダンC++とoneTBB覚えて万能感感じてたのにさ
リセットかよ
2022/12/07(水) 15:51:23.23ID:Mw8qZqut
>>874
新規コードの20%ね
In Android 13, about 21% of all new native code (C/C++/Rust) is in Rust.

There are approximately 1.5 million total lines of Rust code in AOSP
ともあるからAOSPの全体のコード量分かればrustの割合も分かるはず
2022/12/07(水) 15:52:33.64ID:Mw8qZqut
>>878
新規コードの20%というのも不正確で新規のネイティブコードの20%
java等で書かれたものは除外したうちでの割合ね
2022/12/07(水) 15:58:02.82ID:JdTFl5al
There are approximately 1.5 million total lines of Rust code in AOSP
*Android Open Source Project (AOSP)

1.5mてどう考えても、例によってRustコンパイラやサードcrateのソースツリーも含まれている悪寒
2022/12/07(水) 16:58:18.23ID:Mw8qZqut
>>880
AOSPのソースツリーではrustcはpre-built binaryがコミットされてるから行数カウントには含まれてないっぽい
外部crateは含まれてるかも知れないけど、実際にそれだけのコードが使われているという意味では正しいんじゃないの
2022/12/07(水) 17:03:21.31ID:n0jQbyrj
>>881
その発想がrustクオリティ

Java/C++勢はそんな嵩増ししてない
2022/12/07(水) 17:15:07.05ID:g3+WCnxI
実際に使われているC/C++
を捨てることの正当性ももう無いんだからいいじゃないか
2022/12/07(水) 17:35:07.63ID:8PgDeggG
>>880
>1.5mてどう考えても、
同感。この短期間に150万行ってどの範囲?これが普通の感想

>>881
>AOSPのソースツリーではrustcはpre-built binaryがコミットされてる
何処?
github mirrorの方で教えて https://github.com/aosp-mirror

>>883
新規nativeコードの21%という数字が水増し、かどうかに係るので整理するべきかと
2022/12/07(水) 17:40:15.78ID:21cwGaas
割合とか増えていくんだからどうでもいいだろ
それよりAndroidでrustが使えるところはrustを使うという判断がとっくにされてたのが衝撃
886デフォルトの名無しさん
垢版 |
2022/12/07(水) 17:42:58.56ID:NHS9DFe3
珍しく良い記事紹介だったのに
急に下らない議論になっちゃうのな
2022/12/07(水) 17:44:20.91ID:Mw8qZqut
>>884
GutHubでどこにあるのかは分からないがAndroid Code Searchでは以下が出てきたのでpre-built binary使ってるのかなと判断した

https://cs.android.com/android/platform/superproject/+/master:prebuilts/rust/linux-musl-x86/1.63.0/bin/rustc;l=1?q=rustc&sq=

C++もrustも外部ライブラリはexternal配下にまとめられているようなので、それぞれで集計の仕方を変えるなんて事をしてない限りは、同一条件での比較になるんじゃないかな

あと150万行ってのはAndroid13の話じゃなくて累積のコード量がって話しだよ
2022/12/07(水) 17:44:50.45ID:8PgDeggG
>>884 追記
なんかRust批判みたいな印象になっているけど、881が多少調べたっぽいので詳しく知りたいだけ
889デフォルトの名無しさん
垢版 |
2022/12/07(水) 17:47:35.12ID:JLiaiVk0
>>886
次世代隔離スレがなくなると暇してるオジサン達が溢れてくるのよ
2022/12/07(水) 17:55:32.50ID:8PgDeggG
>>887 ありがと
ただし、ここ見るだれでもrustコンパイラを構成するソースファイルが山ほどある
https://cs.android.com/android/platform/superproject/+/master:prebuilts/rust/linux-musl-x86/1.63.0/src/

さすがにgccの方はsoになってる
https://cs.android.com/android/platform/superproject/+/master:prebuilts/gcc/linux-x86/

>C++もrustも外部ライブラリはexternal配下にまとめられている
こうした統計ではソースとしておいてあるかどうかで結構差がある
2022/12/07(水) 17:59:46.34ID:vqEtcxl0
割合で言えば大したことは無くてもある程度は積極的に使おうとする雰囲気は感じなくもないってところかな。
2022/12/07(水) 18:00:13.04ID:8PgDeggG
>>887
>あと150万行ってのはAndroid13の話じゃなくて累積のコード量がって話しだよ

累積のコード量で、Android向け書き起こしRustソースが150万行、という主張であれば水増しの疑いを持ってる
2022/12/07(水) 18:01:45.15ID:8PgDeggG
>>891
>ある程度は積極的に使おうとする雰囲気
それは同感
2022/12/07(水) 18:01:53.83ID:Mw8qZqut
>>890
コンパイラじゃなくて標準ライブラリのことね
確かにlibcとは扱いに差があるかもね

詳細な数値が気になるならソースダウンロードして測定してみたら良いのでは
https://source.android.com/docs/setup/download/downloading
2022/12/07(水) 18:04:39.07ID:8PgDeggG
>>894
そんな手間かけたくないから聞いたんだけど、皆そうなんだろうな

>累積のコード量で、Android向け書き起こしRustソースが150万行、という主張であれば水増しの疑いを持ってる
これで継続だな
2022/12/07(水) 18:06:43.25ID:Mw8qZqut
>>895
> Android向け書き起こしRustソースが150万行、という主張
原文ではそんな主張はしていないよ
2022/12/07(水) 18:11:19.10ID:8PgDeggG
>>896
そう。原文は意図的かどうかは分からないが、あやふやな表現なので範囲を問うてみた
ここだけ読んでそう捉えて誤解をした人がいたら、まず範囲を疑うのが普通、と思った
2022/12/07(水) 18:13:51.76ID:8PgDeggG
ちなみにPhoronixで読んだが、LinuxのRust対応は賞味2万行
2022/12/07(水) 18:20:26.12ID:wjXnim/d
>>867
じゃあ一から訳したら?
誰かがそうやったから存在するんだが…

>>870
情けないよね。マージされたらそれなりに嬉しいのに。
2022/12/07(水) 18:24:03.55ID:8PgDeggG
例えば、ここだけど、150万行はおろか、2万行すら程遠いかな
https://github.com/aosp-mirror/kernel_common/tree/android-mainline/rust
2022/12/07(水) 18:36:53.47ID:M+Adnv0G
もっと有意義な話しようぜ
fn<T>foo(x: &T); のTにSized制約付くの邪魔くせーとかさ
2022/12/07(水) 18:39:18.13ID:CifLjB7G
>>878
そうするとまたはじめの疑問が...
> まだRustでは書きにくい所があるんだろうか?
2022/12/07(水) 18:41:18.29ID:Mw8qZqut
>>901
x: TのときはSizedついて欲しいけど、&Tのときはついて欲しくないということ?
Box<T>やRc<T>やユーザー定義のスマートポインタの扱い考えるとめんどくさいから一律Sizedがデフォルトでよくない?
2022/12/07(水) 18:48:05.32ID:Mw8qZqut
>>902
今出てきている情報だけではなんとも言えないかと
Android開発者の内Rustを使える人の割合が少ないだけの可能性もある
2022/12/07(水) 18:51:46.12ID:8PgDeggG
>>902,904
その21%が水増しかどうかは重要なわけではなく

>ある程度は積極的に使おうとする雰囲気
これに意義がある
2022/12/07(水) 18:53:03.86ID:21cwGaas
そりゃC++とのInteropが絶対に必要だしRustはそこが弱い
そういう用途としてはCarbonがあるけどセキュアではない
(C++よりはマシだろうが)
2022/12/07(水) 18:58:45.38ID:8PgDeggG
>>906
は20%(水増し?)で浮き足立ったり、Carbonの話に拘ってるけど
当分の間はCarbonの話をすると鬼が笑うと思う
2022/12/07(水) 19:02:37.66ID:glN0FB8M
Androidの中のRustはGabeldorsche, keystore2, DoH, UWBくらいだっけ
もう3年くらいかかってるからそれなりの行数になってる気もするけどどうなんだろ
aospのrepo sync全部やるの時間かかるんだよな…
2022/12/07(水) 19:05:40.97ID:8PgDeggG
>>908
>aospのrepo sync全部やるの時間かかるんだよな…
そこを何とかお願いします
どの範囲を集計したら150万行に到達するのか皆気になってます
2022/12/07(水) 19:09:14.99ID:/TInWduh
repo sync 終わらんよな
今3時間経過
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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