Rust part17

■ このスレッドは過去ログ倉庫に格納されています
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/01(木) 18:17:06.08ID:Wq6wsgb9
別室の先生方は毎日ボクシングして切磋琢磨している、という説
くだらないレスバだけ、に見えるようでは青い、という説
2022/12/01(木) 18:40:23.81ID:PeHv0CKI
#某オジはこれを作って活躍してください

Rust言語なら俺に聞け

コテハン/ワッチョイ有の方が徳を稼げると思います
#MAUIもこの手法で少数?の支持を得始めたかもです
2022/12/01(木) 22:44:34.30ID:cwSC/i2f
本気で提案したつもりでしたが残念です。

私は書き込みせず見ただけですかが、
#某オジ = ID:mPKw+fm5 ですね。
http://hissi.org/read.php/tech/20221201/bVBLdytmbTU.html
2022/12/01(木) 23:06:28.23ID:oYnak1Dn
#某オジは自分に球があると自他共に認める状況が発生するとすかさず放り投げて、
空いた回線で他のスレを荒らしに行く

>>658-659の懸念が現実化してRustに泥を塗らなぬよう即刻やめろ
2022/12/01(木) 23:47:30.33ID:VP+MjCQ6
今更Modern C++に目覚めるぐらいならGoogleのCarbon Langに人生賭けた方が良くない?
2022/12/01(木) 23:54:13.57ID:Vi6mnuHJ
いろいろプロファイルすると、複オジ軍団説、完全否定できない。

Carbon Langの状況なんて無視して話を逸らす>>768 複オジ軍団ですか?
2022/12/01(木) 23:57:07.42ID:xX1TOujC
複オジ軍団に次世代言語にやたら興味がある人物がいるようだ
2022/12/02(金) 00:12:34.82ID:TMuqcbhv
C++の本 //鈍器
Rustのほん // ペラペラで字が大きい
こんなイメージなので勉強する気Maxの時はビャーネ・ストラウストラップの本を買ってしまおうかと、気の迷いが起こる
2022/12/02(金) 00:15:42.04ID:U8ThSRxs
>>768がyes/no答えない質問

Rustのメモリ安全性の何らかの保証に関して数学的証明がされている?
yesの場合はその、何らかの保証、を詳しく

俺らに恥かかせないでよね
2022/12/02(金) 06:22:19.71ID:1evFSF3k
このスレはオジをNGワードにすると割とスッキリする。
774デフォルトの名無しさん
垢版 |
2022/12/02(金) 06:28:40.89ID:dhVfz/AS
複オジww
2022/12/02(金) 16:07:31.52ID:ef8lBYgh
>>771
いまさら禿本とか
776デフォルトの名無しさん
垢版 |
2022/12/02(金) 16:15:41.71ID:KasCtwYY
本の厚さと内容の濃さは比例しない
良本なら反比例することもよくある
777デフォルトの名無しさん
垢版 |
2022/12/02(金) 18:41:11.95ID:zxUfj+om
C++は余計な機能が多すぎて、解説する本が分厚くなっている面もある。
シンプルイズベストという言葉もあるくらいなので、HSP最強説。
2022/12/02(金) 19:55:07.44ID:xiR4WMyB
ハゲ本は結構良いよ
ただ難しい内容を説明してるわけでもないのに
説明が回りくどいのでそこが好みと合うか
2022/12/02(金) 20:25:09.96ID:mKFQqkua
解説は平易に越したことはないけど本来もつ複雑さより平易には出来ない。
解説が回りくどいように見えるかもしれんが C++ が回りくどい分がそういう形で表れてるだけ。
回りくどくない C++ 本は何か省いてる。

Stroustrup の本は D&E しか読んだことないから他は知らんけど。
2022/12/03(土) 00:26:57.58ID:dPKr1JJo
>>779
ところで、C++は他にどんな本で学びましたか?
2022/12/03(土) 14:07:20.58ID:6D7qwbVS
C++の人がRustも使っているだけで、大半の人は両刀使いって事でOK?
2022/12/03(土) 14:34:57.98ID:jUK3mt1e
今の段階でC/C++全く使えないでRust使える人は見たことがない
2022/12/03(土) 14:49:09.11ID:PqbNO9jz
自分の周りには普通にいるけどな、Web系メインだった人とか
単にやったことないってだけで別に今からやればできるようになるとは思うけど
2022/12/03(土) 14:50:45.29ID:wt3jQGAX
自分もC/C++は書いたことないよ
2022/12/03(土) 15:13:46.08ID:riW5om/o
>>780
私は古い世代の人間だからそんなことを聞いてもこれからの役には立たないよ。
とりあえず入門したのは「注解 C++リファレンスマニュアル」だなぁ……。
あとは雑誌を見たりウェブ上のリファレンスとかニュースとかで細々としたことは知った感じ。
2022/12/03(土) 15:24:14.86ID:uzIr2bMT
Windows の場合、Visual Studio に追加で入れるから最初はC# か何かは使ってないと拒絶しそう
2022/12/03(土) 15:37:09.41ID:nkG5MvF7
C++も書けるが最近はPythonメインで使っていて今はRustに傾倒してる
2022/12/03(土) 17:06:05.61ID:ecXQ+fMx
Rust の Vec::vec は、push() で末尾追加できますが、
このメソッドの signatureを見ると戻り値は存在しておらず、
メモリー確保に失敗すると panic するという理解で合ってますか。
仮にそうだとして、それを C++ の try catch 構文の様なもので補足することは
できませんか。別に構文はそれに限らずなんでもいいのですが、メモリー不足
が起きた時はpanic して強制的に必ずアプリが終了してしまってアプリ
からの制御は何も出来ない、ということですか。
2022/12/03(土) 17:08:41.38ID:ltklWITu
モダンC++はハゲ本か独習C++くらいしかまともな入門書がない
2022/12/03(土) 17:09:29.11ID:yu/BUrHT
>>787 Rustに傾倒中の勢いで力試しだと思って、春先からやられっ放しのCountWords最適化に挑戦してはくれないか?
2022/12/03(土) 17:58:23.87ID:8XRumJlQ
これからcodezineでモダンC++の連載始まるぞ
792デフォルトの名無しさん
垢版 |
2022/12/03(土) 18:16:35.82ID:SoE3tSBB
>>788
try_reserve
2022/12/03(土) 18:54:46.71ID:AI9TLj2L
最初から全部モダンな書き方だといいな。
本によっては昔のものと混ざっている。
2022/12/04(日) 14:50:02.38ID:Mg8RdVSD
自分がモダンc++で書いてても旧式と絶対に出会ってしまうのでそっちもできるようにしないといけない
これが困る
2022/12/04(日) 16:14:46.07ID:RV2/jwt7
モダンモダンって、意味不明。
自分の生誕年と比して新しいってだけで、どんだけ自己中心的なの。
2022/12/04(日) 16:22:30.31ID:qWdYVkpM
実は、Modern C++というものは厳密には存在しません。
プログラミング言語C++の、あるバージョン以降をそのように呼んでいます
2022/12/04(日) 16:57:30.52ID:fmKWV/wp
生誕年とか関係なくてC++11以降の新機能を優先的に使うことを一般的にモダンと呼ぶだけだぞ
2022/12/04(日) 17:20:06.36ID:OHPAilb6
C++11も10年以上前だし今モダンと言ったらもう少し新しいんじゃないの
2022/12/04(日) 18:17:34.92ID:SUiviY+F
CodezineのModern C++連載はC++14、C++17、C++20の3バージョンを主題してるなぁ。
2022/12/04(日) 18:18:58.95ID:E8sA5vC6
飛び越えられる程度の低い段差が盛段な気がしている
801デフォルトの名無しさん
垢版 |
2022/12/04(日) 18:28:19.68ID:EQ4pAAP6
Rustと関係ないC++の話は隔離相談室でやれ
2022/12/04(日) 21:28:17.17ID:oPsAeS3X
どんなにモダンな書き方してもそれがレガシーになっていくんだからそれなりの対応力がなけりゃプログラマなんて無理
2022/12/04(日) 22:42:17.79ID:SnbSooMc
そう、Rustはもう時代遅れ
804デフォルトの名無しさん
垢版 |
2022/12/04(日) 23:35:05.06ID:pqDz82uP
『モダンRust入門』
2022/12/04(日) 23:48:46.52ID:mqdeTGzg
レガシーRustってどんなやつだろう?
・try!マクロを使ってる
2022/12/05(月) 00:26:29.50ID:pon/y3Oa
clippyに直せって指摘されるやつ
2022/12/05(月) 00:27:02.53ID:pon/y3Oa
edition2018以前はレガシー
2022/12/05(月) 03:26:17.69ID:IAPEqd2s
>>184
そのpythonの添え字の-1で配列の一番最後を表す仕様は完全に失敗した
プログラミングのミスで添字がマイナスとなった時もエラーとならず最後から数えた場所を指して意図せぬ動きで混乱を招いている
別途アクセスメソッドを用意するのが正解
809デフォルトの名無しさん
垢版 |
2022/12/05(月) 21:58:50.38ID:zZIMoY87
>>808
同意
2022/12/05(月) 22:20:16.15ID:85vlj8hv
最初にnegative indexを採用したのはPascalだが-1が最後の要素を表さない。恐らくメジャーな言語で最初はRubyかLuaだわ。
Pythonは1.4から入りだして完全にサポートされたのが2.4なので主犯ではない
それを君は間違いだといいたいだろうが、カタナシのスクリプト言語で長々としたプログラムを書くのがそもそも間違っているYO!
それでアクセスメソッドという結論に安易に行き着くのはget(-1)と同じで正直やめてほしい....
だからと言ってRustのusizeインデックスは正当化できない、使いづらいだけ
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
どれがいい感じに発展するか事前にわかるもんではないからな。 狙いとは違う方向で結実することもあるし。
色々やっておく (それが出来る環境を用意する) とどれかは上手くいくし、上手くいかずに消えるものも多いってだけのこと。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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