Rust part10

■ このスレッドは過去ログ倉庫に格納されています
2021/04/02(金) 21:38:04.11ID:L7IeSfpL
Mozilla発のRust言語のスレ

公式
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 part9
https://mevius.5ch.net/test/read.cgi/tech/1598112455/
2021/05/10(月) 23:10:53.18ID:Ai0jiWQm
>>559
>>1にもあるけどhttps://play.rust-lang.orgのほうがいろいろ充実してる
てかideoneは1.33.0とかなのか、結構古いね
2021/05/10(月) 23:22:34.42ID:rt96Jr4B
playground、いつのまにか以前書いたコードが残るようになっててなんかうざったいんだけど、
初期のhello worldの状態に戻すのってどうやるの?(クッキー削除とかはなしで
2021/05/10(月) 23:29:40.57ID:4UvCiOpM
んな面倒なことするくらいならrustupインストールすりゃええやん
563デフォルトの名無しさん
垢版 |
2021/05/11(火) 00:01:56.34ID:bFiGc/cl
>>549
ファイルへの書き込みは返り値promise等でもらっておいて他の作業を進めて
どうしても書き込み完了していないと作業を先へ進めてはいけないところでようやくawait等することで
例外処理も遅延(手続き的な後ろ化と多段時の上位化)ができますよね

あとOSカーネル内の話は
例外と割り込みをごっちゃにしているように見えます
いずれにせよカーネル内ではtry例外使わずとも多段にエラー返り値を返していけばいいだけでしょう
エラー割り込み時もメモリ不足もシステムコールならエラー値返すわけですし
2021/05/11(火) 02:56:09.45ID:sf6ddr3r
>>555
Rust はそれほど難しいというわけでもないと思う。
C に ML 風の型システムを付けたって程度。

普通のプログラマにとって目新しいと言えるのはライフタイムの概念くらい。
でもそのひとつが馴染み無さ過ぎるというか、
他の言語では意識せずに済まさせようとしてきたところを
あえて露骨に管理しようとしてるところがしんどいとは感じるかもね。
2021/05/11(火) 03:24:21.67ID:BXZYJdJz
>>564
Rustのライフタイムは、鶏と卵の関係の様な部分で言語の動作が分からない。
どっちがどっちに影響を与えているのかの部分が。
自動判定の仕組みも一部だけ説明されていて一般法則が書いておらず、その場しのぎ的な言語仕様なのかもしれない。
2021/05/11(火) 04:47:35.34ID:+XHXxVLE
non lexical lifetimeでググれば詳細な仕様出てくるだろ
2021/05/11(火) 05:08:47.84ID:BXZYJdJz
>>566
出てこないと思うが。
568デフォルトの名無しさん
垢版 |
2021/05/11(火) 08:24:36.99ID:hJ8vQWaq
>>561

通りすがりですが、保存せずにただ試すだけなら

1.シークレットモードで新規タブ
2.playgroundのサイトを開く(ブックマーク登録からとか)
3.コード入力かコピペ作業

でどうでしょうか?
2021/05/11(火) 10:55:34.68ID:nxCZKmfr
>>567
nll rfcで検索したら出てくるよ
2021/05/11(火) 12:37:05.27ID:BXZYJdJz
>>569
そこには例が書かれてるだけで、数学みたいな意味でのちゃんとした厳密仕様は書いてないと思うんだよ。
Rustのライフタイムは数学規則のように機械的にパターンで処理できるような一般化された規則にはなってないという意味において。
2021/05/11(火) 12:42:48.49ID:yczyG8TY
厳密な仕様があるのは理想だけど、規格化された言語ですら数学的に厳密な仕様なんて存在しないしな
最終的にはCoqのソースコードで示される、とかはあるかもしれないが
2021/05/11(火) 12:47:18.80ID:BXZYJdJz
>>571
CやC++は数学的なパターンで処理できるようになってる。
そこにヒューリスティックなものは入ってない。
2021/05/11(火) 12:55:41.33ID:r1e7nJBc
the abstract syntax tree でのライフタイムの解析から
the control-flow graph でのライフタイムの解析にしたって言ってるから
かなりマシン語に近いとこで判定してるってことだわな。
ここにいる奴に聞くだけ無駄w
2021/05/11(火) 18:36:37.89ID:efUOVNNI
>>571
純lispくらいかね。
あるいはBrainfuckとか。
2021/05/11(火) 18:56:14.78ID:jWdOrz94
issue #25860って未だに解決されてないんだよね?
行きあたりばったりでライフタイム仕様決めてきた結果w
2021/05/11(火) 19:03:56.93ID:wl2jzTgT
Rustと原子力発電は人類には早すぎたんや…
2021/05/11(火) 19:52:59.74ID:8+nUEbRM
Rust嫌う人ってなんでみんな #25860 の話するのって言われてんぞ
2021/05/11(火) 22:03:42.47ID:1AWmjfgF
>>576
太陽光発電は、ある意味原子力発電と言えるのではないだろうか。
2021/05/12(水) 08:51:30.06ID:1N4enQMj
Rust 2021 Editionは10月リリース予定

https://blog.rust-lang.org/2021/05/11/edition-2021.html
2021/05/12(水) 10:38:41.98ID:qFi3vx5o
1.56.0からか
2021/05/12(水) 10:40:17.60ID:1N4enQMj
2021 Edition ざっと読んでみたけど、次の2点以外は些末な変更だな

for e in [1, 2, 3] {}
がエラーにならなくなる
(IntoIterator for arrays)

クロージャーが構造体をフィールド単位でキャプチャーするようになる
(Disjoint capture in closures)
2021/05/12(水) 21:45:20.66ID:rLfxFtSp
2018で勉強してますが仕様変わりますか?
2021/05/12(水) 22:08:40.92ID:fyx4mRuh
https://www.google.com/amp/s/japan.zdnet.com/amp/article/35170513/

「Windows用Rust」のバージョン0.9がリリース

何か誤解を与えそうな記事タイトルだ
2021/05/13(木) 00:09:46.25ID:JmJXN960
リポジトリ名的にwindows-rsのが適語か?
2021/05/13(木) 00:34:31.53ID:hcgdol/O
>>582
マイナーチェンジだし2018も継続して使えるし特に問題ないよ
2021/05/13(木) 00:46:54.51ID:oO6nJ4P1
何年か前なら喜んでたんだけどな、どうしよ何の興味も沸かない
Docker触り始めた辺りからWindows用は趣味でも書かなくなってしまった…
587デフォルトの名無しさん
垢版 |
2021/05/13(木) 07:59:13.00ID:OSZsGS3x
>>583 多分windowsクレートの説明文のRust for Windowsの直訳だとは思うけどこれは誤解するわ
2021/05/13(木) 11:06:57.34ID:mHvpW2NY
Rust for Windowsという名前がミスリーディング
(A) Rust (crate) for Windows (development)をRust for Windowsに略したら誰でも誤解する
狙ってるのかもしれないが

Windows API bindgen for Rustあたりが適当
589デフォルトの名無しさん
垢版 |
2021/05/13(木) 12:50:12.69ID:OSZsGS3x
このクレート普通にソフト作るのに使ったら移植性無くなるからライブラリ用かな?
2021/05/13(木) 14:22:28.44ID:p1C3K64x
防衛省が中国のハッカーとやり合える人材を募集中 年収最高2000万円
https://leia.5ch.net/test/read.cgi/poverty/1620874048/
2021/05/13(木) 14:34:12.09ID:EmFUnxGS
クラッカーにうってつけじゃないか
2021/05/13(木) 15:04:14.32ID:67slJFqF
年収最低はいくらからですかね
2021/05/13(木) 15:10:36.53ID:ENK4De8l
最高が2000万円ってだけね。。
こういうので平気で300万円とかいい出すのが今の日本やで。
2021/05/13(木) 18:36:08.63ID:hcgdol/O
>>589
Windows専用のアプリを作る用途もあるのでは
一般的ではないかもだけど
2021/05/13(木) 18:39:15.84ID:oBGJ4/nI
Rust for Windowsを欲しがったのはMicrosoft自身だろう
既にVSのインストーラー内部などでRust使用中なので
2021/05/13(木) 19:27:59.33ID:4YggBXb4
rust for windowsで作る本作ってくださいお願いします
597デフォルトの名無しさん
垢版 |
2021/05/13(木) 19:29:13.29ID:vZYCxDQa
>>594 Windows専用のアプリが作りたいならC#でも使えばいいと思うけど...
598デフォルトの名無しさん
垢版 |
2021/05/13(木) 19:30:20.99ID:vZYCxDQa
>>594 Windows専用のアプリが作りたいならC#でも使えばいいと思うけど...
599デフォルトの名無しさん
垢版 |
2021/05/13(木) 19:30:58.76ID:vZYCxDQa
おっとミスって2回書き込んでしまった
失礼
2021/05/13(木) 20:59:04.54ID:vzWwtH6K
>>590
そういう技術者にも射撃練習とかやらせるのだろうか?
2021/05/13(木) 21:40:48.09ID:NNemQTGQ
>>595
もうメジャーな用途で使われてんのか
2021/05/13(木) 21:45:54.80ID:vzWwtH6K
windowsもそろそろNTカーネルを捨てる時期が来るだろうし色々模索はしてるんだろうな
2021/05/13(木) 21:57:03.92ID:WjgS+eLl
もし仮にNTカーネル捨てたとしてLinuxカーネル一択だと思うがな
2021/05/13(木) 22:08:50.47ID:vzWwtH6K
Linuxへの接近はここ数年目立ってるし無くはない話だな

独占市場と過去の互換性を捨てきれるか
仮想環境で過去の互換性を維持することも考えられる
2021/05/14(金) 08:10:59.62ID:FBkeGRqg
>>604
NTカーネル捨てるのはビジネスとして有り得ない。
せいぜいwsl路線を強化してlinuxカーネルを取り込んでいく方向だろ。
2021/05/14(金) 08:37:43.19ID:BI4FO4HO
カーネルを捨てて切り替えるとか出来るわけないだろ
2021/05/14(金) 08:52:11.24ID:9b8NT0Ot
3才児が「ぼくはうちゅうひこうしになるんだ!」って言ってるようなもんだから生暖かく見守ってやれ
2021/05/14(金) 10:22:28.00ID:6SQ932Rj
OSカーネルに対するコンプレックスがすごい人がいるんだろ。
この前のlinuxドライバに関する議論でもそういうの感じるわ
2021/05/14(金) 11:10:24.23ID:bMDjGf5Y
rustがgolangより人気が出ると思っていいですか?
610デフォルトの名無しさん
垢版 |
2021/05/14(金) 11:14:13.19ID:5xLewDJ4
>>609
Goはガーベッジコレクションがあるから?
2021/05/14(金) 11:29:33.68ID:6SQ932Rj
GCとランタイム速度に困ったことのある奴だけ気にすればええ。
2021/05/14(金) 13:23:04.93ID:TMXA3cLH
goとrustどっちが良いか迷うならgoやっといた方が潰しが効くと思う
自分はrust好きだからrust使うが
2021/05/14(金) 14:57:53.07ID:85G96vHL
両方やっとけ
2021/05/14(金) 15:16:48.50ID:678S/iU6
なんでマイナー言語のはずのgoがよく言及されるようになったのかと思っていたら、AWSで使える言語の一つになっていた。
Azureでも使えるようだ。
615デフォルトの名無しさん
垢版 |
2021/05/14(金) 15:45:19.02ID:WB7bczPS
goがマイナー。。。..
2021/05/14(金) 15:46:03.80ID:BI4FO4HO
サーバープログラムみたいな閉じた環境で、出来るここまでと決まってて
要らないこと考えたくないなら制約された言語選んだほうが良いかもな
2021/05/14(金) 15:47:17.23ID:6SQ932Rj
goでほとんど問題ないんだが、それだとrustの出番なくなっちゃうからね。
2021/05/14(金) 16:15:48.73ID:1T0ViQH9
Go言語がマイナーならこの言語はどんだけマイナーになっちゃうのよ
2021/05/14(金) 16:25:56.91ID:Z0ePaP6y
goとrustの違いが分からないような知識量ならgoやった方が不幸にならないかと
2021/05/14(金) 16:48:29.92ID:678S/iU6
参照型はローカル変数にだけ入れて一時的な目的だけに使うことに徹してスクリプト言語の様な書き方だけに専念すればRustはスクリプト言語であるかのように使えて、習得は難しくないかも。
参照型を構造体の中に入れようとしたとたんCやC++では考える必要の無かった難しい問題が生じる。
2021/05/14(金) 17:00:31.58ID:dvkZe6EK
メジャー言語
c java vba
622デフォルトの名無しさん
垢版 |
2021/05/14(金) 17:40:01.47ID:N2rlLeCr
Rustを勉強したら低レベルが理解出来る!!!わけねえだろ
https://www.akiradeveloper.com/post/learn-rust-and-low-level/
623デフォルトの名無しさん
垢版 |
2021/05/14(金) 19:36:04.21ID:5xLewDJ4
例えばWeb系ならばRustがベスト
WasmでGC抱える言語をわざわざ選ぶメリットないからね
2021/05/14(金) 19:44:16.91ID:6SQ932Rj
こういう詐欺師が普通におるからrustは信用できんわ
625デフォルトの名無しさん
垢版 |
2021/05/14(金) 19:51:45.41ID:WB7bczPS
rustに対するコンプレックスすごい人いるね
2021/05/14(金) 20:26:02.54ID:0Bqgd+6M
詐欺師はどこにでもいるからな
とはいえ、webならwasmは正しくないとは思うがwasmならrustは結構正しいと思う
2021/05/14(金) 20:32:01.67ID:6SQ932Rj
wasm,rustでまともに開発してたら絶対そんなこと思わんわ。。どいつもこいつも馬鹿すぎる
628デフォルトの名無しさん
垢版 |
2021/05/14(金) 20:40:33.59ID:WB7bczPS
それで、どんなまともなものを作っているんですか
629デフォルトの名無しさん
垢版 |
2021/05/14(金) 20:46:14.11ID:5xLewDJ4
>>624
とこが詐欺?
あなたはWebブラウザ上のWasmでRustではなくGoを用いているのですか?
2021/05/14(金) 21:18:15.11ID:TMXA3cLH
>>627
それはあなたがまともにrust使えてないだけなんじゃないですかねぇ
2021/05/14(金) 21:22:56.09ID:yxEaYkUD
話が具体的で説得力がある
2021/05/14(金) 21:38:43.40ID:2w1FBHD8
>>572
形式的に書けているのは構文規則だけで
意味規則は自然言語で書かれているやんけ
2021/05/14(金) 22:59:38.34ID:R2Ezzb7N
「Rustはスクリプト的に書ける」とかいう謎の言葉言う奴沢山いるけどなんぞ?
同一人物か?
2021/05/14(金) 23:07:50.74ID:TMXA3cLH
我々が知らないところでevcxrが流行ってるのかもしれない
2021/05/14(金) 23:23:46.43ID:72ZodHJE
google謹製のREPLね
エベクサ?
2021/05/15(土) 02:09:59.05ID:BphhllcO
>>633
Rubyと同じようなメソッドチェーンを使ったコードを見かけたから。
2021/05/15(土) 03:17:16.69ID:vuo6fbRn
ドットでメソッド呼び出しする言語は大概そういうライブラリ設計あるでしょ
2021/05/15(土) 11:05:39.24ID:DTE+piln
>>637
C++やJavaでは見たこと無い。
JSでも余り見かけない。
2021/05/15(土) 11:12:58.76ID:Y+SvMVkX
そもそもメソッドチェーンって「スクリプト的」なのか?
2021/05/15(土) 11:24:14.14ID:C+CtGbiq
前々からヤベェやつだとは思ってたが
レベルの低さが想像をはるかに超えてた
2021/05/15(土) 11:27:04.30ID:MS0dCBGJ
c言語みたいにcsvパーサーも自前で用意するような環境だとそらスクリプト的だろうね。
2021/05/15(土) 12:00:43.05ID:A3vQNOxR
unityとかUEがrustに対応しないかなあ
2021/05/15(土) 12:00:58.11ID:ZgJC7yuF
cargoみたいなパッケージマネージャがあるのもスクリプト的な要素のうちなのか?
2021/05/15(土) 12:10:16.46ID:MS0dCBGJ
cargoは低レイヤー慣れてる人からすれば邪魔でしかないけどね。
2021/05/15(土) 12:20:50.35ID:DTE+piln
SourceforgeなどでRustが好きといっている人の大部分はレベルが低いだろう。
そもそもこの世の中、大多数から受けるものにレベルが高いものがあったためしがない。
好きな言語ランキング上位のJS、Pythonも初心者向け言語であることは誰もが認めることだし。
2021/05/15(土) 12:40:11.21ID:UqP25wMI
sourceforge???
stackoverflowの調査かなんかと勘違いしたの?
2021/05/15(土) 12:41:57.93ID:ZgJC7yuF
>>644
どういうこと?ベアメタル向けでもcargo使うのが主流だと思っていた
2021/05/15(土) 12:47:56.99ID:ZgJC7yuF
>>645
使用者のレベルの高低と言語のレベル(?)の高低は一致するという主張かな?

言語のレベルが高いというのが最先端のテクノロジーを取り込むという意味ならrustの目指すところではないと思う
他の言語で実証されたコンセプトを取り込むと宣言してる(た?)はず
高レベルな言語が必要な人はこんな普及言語じゃなくてもっと尖った言語を使うか自分で作るべきなのでは
2021/05/15(土) 12:49:38.36ID:DTE+piln
>>646
ああ、そっちだった。
Stackoverflowも来てる人の頭の良さは一般大衆と同じくらいだから同じ。
2021/05/15(土) 12:53:14.42ID:DTE+piln
>>648
そういうことじゃなくて、
・Rustをほとんど使っても見てないのに勝手に「好き」と言っていることが分かってる。
・Stackoverflowのような沢山の人が集まる場所の調査では、必ずJSやPythonのような初心者向けの言語が人気となるわけだから、そこの人々が好きだと思う言語は、JSやPythonのような感覚で使えると勝手に思い込んである蓋然性が高い。
 ただし、現実はRustは実際には使ってないのに勝手に言っている。
ということ。
2021/05/15(土) 13:20:44.67ID:YOv93GRR
stackoverflowの調査の話なら、調査内容を勘違いしている
あれは「今Rustを使っている人が、今後もRustを使い続けたいかどうか」のアンケート結果をmost lovedと言ってるだけ
だからJSやPythonユーザの意見は入ってない
そもそもloveって言葉に語弊があるし、日本語にしたときに「人気の」とかなって余計訳がわからなくなってる
2021/05/15(土) 13:25:20.53ID:YOv93GRR
たぶん「最も嫌嫌使っている人が少ない言語」みたいなのが正確な気がするな
2021/05/15(土) 14:15:44.60ID:MW7lNw7H
「今使ってる人が次も使いたいと思うか?」ってJetBrainsの調査でも毎回入れてくる項目だな
海外のアンケートではよく見るやつ
2021/05/15(土) 14:17:03.39ID:DTE+piln
>>651
もし前半の通りなら、今Rustを使ってる人なんて極一握りの物好きだけだから
「love」なのは当たり前で調査結果が意味が無い。
2021/05/15(土) 14:19:45.06ID:eXXN4CKf
一生でどれか一つのプログラミング言語しか覚えられないとして
Rust選ぶ人いますか?

選択したとして別にその言語がいきなりマスターできるわけでなく
ただその言語しか覚えられないというだけですが
2021/05/15(土) 14:23:36.58ID:DTE+piln
今rustを使ってる人って、自ら進んで使おうとした人に限られるから
嫌いな人がほとんどいないのは当たり前だから、調査結果にバイアスが
掛かりすぎていることになるな。
2021/05/15(土) 15:05:35.65ID:pVi51x8H
そういえば C++ でメンバ関数の評価順序に関して設計者も気づいてなかった考慮漏れが見つかった
(よくあるパターンが実際には未定義だった) って話があったな。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0145r0.pdf
C++17 で修正されているはずだけど。

宣言的な表現や関数的な表現をプログラミング言語に取り込む試みは数多いが
現実は順序からは逃れられぬのだ……。
2021/05/15(土) 15:16:25.44ID:HcoKJY+/
Rustがスクリプト的に書けるかどうかはおいといて、
個人用のツール書く言語をPythonからRustに乗り換えたっつー話は一応あるな
https://hayatoito.github.io/2017/faq/#programming-language
2021/05/15(土) 15:20:52.26ID:DTE+piln
>>658
Googleがnode.jsで書いていたものをRustにしたと聞いたぞ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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