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


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

Rust part22



1 名前:デフォルトの名無しさん [2024/01/20(土) 23:21:40.08 ID:wyzQTwgG.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 part21
https://mevius.5ch.net/test/read.cgi/tech/1692105879/

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

856 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 18:24:55.60 ID:x2y7hFPc.net]
>>838
悪いほうがよい (Worse is Better) 原則というものも知られている。
正しさと単純さを天秤にかけてどちらが良いかという点で Rust とは異なる重みづけをしたのが Go だと思う。
問題をコンパイラが検出できる設計はもちろんありがたいが、そのために持ち込む構造は人間が把握しやすいものだろうか。
正直言って Go が良いとは全然思わないが一貫した理念に基づく判断であって、不備でそうなってるわけではない。

857 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 18:31:33.80 ID:j4EJcuA3.net]
>>829 >>839
このあたりは設計の根深い問題で、「変化を抱擁する」を標語としたアジャイル開発とかインクリメンタル開発とかで色々議論されたな。
あんまり目立った成果は無かったような気もするけど、機能間の疎結合と可換性は重要な指摘だと思うわ。

858 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 18:34:16.56 ID:3rKktGL8.net]
>>817
これはごもっともな意見
50年後にRust 2072エディションがある状況で最新コンパイラが2015エディションをサポートし続けてるとは思えないからどこかでは切ることになる
それでもRustのモデルとC++のモデルとどちらのほうが相対的によさそうかという選択の問題

859 名前:デフォルトの名無しさん [2024/02/15(木) 19:40:03.38 ID:TrooctNX.net]
50年後にC++23はサポートされているのだろうか
というかC++は50年後もアップデートしているのだろうか

860 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 19:52:43.98 ID:flxKbqvK.net]
>>843
cargo fix --edition
のあるRustは至れり尽くせりだよ

861 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 20:00:49.77 ID:nijJOd3e.net]
>>844
既にC++17とC++20で以前導入の機能の削除が大量に行われている

862 名前:デフォルトの名無しさん [2024/02/15(木) 20:11:12.94 ID:Zy70aZMD.net]
じゃあもうRustで良いじゃん

863 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 20:27:48.49 ID:Y7OgkdHD.net]
CになかったC++の機能は削除してもチューリング完全が保証される
逆に、削除したらチューリング完全ではない保証をするならミニマリズムがベター

864 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 22:27:00.96 ID:MX4y8Eg+.net]
>>840
Kotlinが上がってきてるのうれしい
Fortranも上がってるのはなぜだ



865 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 22:56:46.83 ID:x2y7hFPc.net]
C++ は欠陥報告という制度で過去の規格に遡って修正が加えられることがある。
たとえば C++11 発行当時の C++11 と今の C++11 は内容が異なるわけ。
基本的には過去の仕様に新機能を追加したりはしないが微妙な挙動の変なところを直すような保守は続いている。
実質的には Rust のエディションみたいなことにはなってるんだよなあ。

866 名前:デフォルトの名無しさん [2024/02/15(木) 23:13:05.86 ID:17JkefKn.net]
llvmも実装はc++だし。

867 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 23:33:02.83 ID:CqGYBNeH.net]
>>850
Rustは必ずeditionを明示しないといけないから
あるソースコードがどのeditionなら確実に動くのか明確にわかる
そしてそのeditionを指定してコンパイルも通り実行もできる

しかしC++は当初のC++11に従いコンパイルできて動いていたものが
今はC++11の機能のいくつかは削除されてしまっているために

868 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 23:44:16.83 ID:x2y7hFPc.net]
>>852
C++11 は C++11 として存在し続けているので問題になってないという話をしてるんだが

869 名前:デフォルトの名無しさん [2024/02/15(木) 23:57:58.06 ID:m2l7AKkd.net]
一般人と同等の読解力を複オジに期待しないこと

870 名前:デフォルトの名無しさん [2024/02/16(金) 01:17:00.51 ID:2uzjzXJf.net]
cppreference.comの下のほうにちょろっと書いてあるdefect reportってそういうことだったんだ
勉強になるわ〜

871 名前:デフォルトの名無しさん [2024/02/16(金) 02:58:58.82 ID:T31Boec7.net]
>>853
名前が同じならなんでも良い…… ってこと!?

872 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 05:29:44.45 ID:VnZfCvN7.net]
>>856
「規格が同じなら」ということだよ。

c++11とかはあくまで規格なので各実装の準拠率とか注意するポイントはあるけど、メジャーな機能を保守的に使えばそれなりに互換性を維持できる。

873 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 06:06:29.14 ID:VMcEA5aE.net]
RustのEdition方式が優秀すぎる
新たな機能の規格で分けるのではなく
各Editionは後方互換性の変化で分けているため
過去に書かれたコードも必ず動く

874 名前:デフォルトの名無しさん [2024/02/16(金) 08:50:06.12 ID:T31Boec7.net]
>>857
規格が同じといいつつ機能消してんだから同じなのは規格の名前だけじゃん



875 名前:デフォルトの名無しさん [2024/02/16(金) 08:50:57.44 ID:T31Boec7.net]
規格から機能ごと消えるんならよう

876 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 08:57:09.07 ID:MpEo3rxP.net]
>>859
消してないけど何いってんの?

877 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 07:36:35.11 ID:pKHDV/cx.net]
ID:T31Boec7
流石にこいつ日本語能力なさすぎだろ
ガイジかな?

878 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 07:58:38.87 ID:y2U3e6uM.net]
mojo vs rustでmojo公式とnetflix天才とRust本著者で盛り上がっている
https://www.youtube.com/watch?v=MDblUyz0PtQ

>>814,835
早口なので大変だろうけどちょとした言葉の節々に情報があるからリスニングがんばれ

879 名前:デフォルトの名無しさん [2024/02/17(土) 08:38:43.36 ID:P+bU7/QC.net]
>>863
copilotで要約して貰うのが時間も短縮できるのに無能だなw

880 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 11:31:52.42 ID:/wuPDCL7.net]
>>864
この天才同士のディスカッションを楽しめないなんて損してんね🥲

881 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 11:55:10.10 ID:wfN7KjH7.net]
Netflixの天才とかいうのが胡散臭くて信頼性がないんだけどどういう人なのよ。

882 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 12:54:06.77 ID:p6Fewl3N.net]
>>863
この人の英語聞き取りにくい
もうちょっとゆっくり喋って欲しい
中身うっすいのにさ

883 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 12:58:21.47 ID:p6Fewl3N.net]
>>862
普通に境界性知能ってやつでは?
この手のは全部そうだと思うようにしてる

884 名前:デフォルトの名無しさん [2024/02/17(土) 17:40:44.30 ID:SxaDWram.net]
>>863
ベンチマーク試してみたところ以外はブログ記事のまんまなのでわざわざ動画で見なくてもいいなこれ

公式ブログに書くならもうちょっとちゃんとしたベンチマークやれよって感じ
見識を疑うレベル



885 名前:デフォルトの名無しさん [2024/02/17(土) 18:56:01.48 ID:bc7xcSj4.net]
Netflixの天才がいかがでしたかブログレベルの動画を出すとは

886 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 19:01:49.62 ID:hd6B0gbf.net]
>>863
動画内の指摘が記事に反映されてMojoがRustの3倍速いじゃん!!
Mojoコンパイラ賢いな

887 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 19:07:25.89 ID:1+LtKHMi.net]
以前からMojoがCより何倍も速い!とかやってるけど
ベンチ方法や条件などが何かおかしい

888 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 20:11:15.92 ID:lHr0QJnq.net]
SIMDが効くような恣意的なベンチだしな

889 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 21:00:37.77 ID:QWthdRCX.net]
でもデータを見てから断罪するのは俗っぽいから
データを見ないでロジハラするのがベター

890 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 21:16:16.12 ID:lHr0QJnq.net]
DynamicVectorは最適化でSIMD使うように最適化されるってだけだろ
あと末尾最適化する
くだらなすぎる

891 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 21:40:36.38 ID:WeOJL5ES.net]
え? Rustって末尾最適化できんの?

892 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 23:56:23.75 ID:uU5eCENW.net]
Rust Reserved keywords

KW_ABSTRACT : abstract
KW_BECOME : become
KW_BOX : box
KW_DO : do
KW_FINAL : final
KW_MACRO : macro
KW_OVERRIDE : override
KW_PRIV : priv
KW_TRY : try
KW_TYPEOF : typeof
KW_UNSIZED : unsized
KW_VIRTUAL : virtual
KW_YIELD : yield

893 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 09:43:13.97 ID:2fU6EVDD.net]
>>873,875
同じLLVM系なのにRustが3倍遅いのかよ!!
Mojoがコンパイラ賢いのかRustコンパイラが...

894 名前:デフォルトの名無しさん [2024/02/18(日) 10:23:17.76 ID:8VIVYK48.net]
あれを見て本当にRustが遅いと思っちゃう層の人にRustは向いてない



895 名前:デフォルトの名無しさん [2024/02/18(日) 10:24:13.10 ID:8VIVYK48.net]
ちなみにSIMD云々は本質じゃないよ

896 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 10:33:07.03 ID:diN1NxZN.net]
>>879が3倍速いRustコードを出すってよ

897 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 10:46:23.01 ID:fnRzA2e2.net]
これはGoの方が速いんじゃないか?

898 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 11:13:09.56 ID:NoFg1fuK.net]
GoはGCを伴う言語だから論外
MojoはC/C++/Rustより3倍速い

899 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 11:27:28.89 ID:YdXgtYKq.net]
>>878
同じLLVMといってもMLIRという数値計算に最適化されたIRを使ってるから速い
恣意的な例である

900 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 11:36:55.83 ID:a/PaZk8n.net]
そういえば昔Delphiがコンパイルの速さを売りにしてたの思い出した
なんか懐かしい

901 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:18:39.29 ID:Wi99yBdV.net]
20年後にRustを懐かしむスレはここですか?

902 名前:デフォルトの名無しさん [2024/02/18(日) 14:55:22.54 ID:LhS8zjp4.net]
20年後には流石にもっと良い言語が登場して流行っていることを期待している

903 名前:デフォルトの名無しさん [2024/02/18(日) 15:22:23.80 ID:L2mk1x1a.net]
>>885
アンダースヘルスバーグ天才だよな
ボーランドでDelphi作って
マイクロソフトでC#とTypeScript作って

904 名前:デフォルトの名無しさん [2024/02/18(日) 15:34:23.48 ID:CKqOMEmo.net]
>>888
MAUIくん!病室に戻るんだ!



905 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:27:30.10 ID:JlpPRp2V.net]
>>888
俺は天才とは思わない
この人ってお手本となる言語があって
それをよりよくすることは得意な気がする

906 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:19:49.07 ID:j7eyydGe.net]
普通の人が実務で使うような汎用プログラミング言語は
とびぬけた画期的なパラダイムで構成しても使い難いし、
ひとつひとつはどうということはない要素を上手く組み合わせる
バランス感覚が重要って感じはあるね。
天才的な閃きでどうにかするようなものではない。

907 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 11:58:45.15 ID:r1DaNm3S.net]
既存のものをうまく組み合わせたりリーダーシップをとったりするのに天賦の才があったという意味なら天才かな

908 名前:デフォルトの名無しさん [2024/02/19(月) 12:07:19.13 ID:BnjhEPJH.net]
自分は何も出来ない無才なのによく言うわw

909 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 14:11:02.99 ID:JlpPRp2V.net]
C#→Javaのビミョーなところを直す
Delphi

910 名前:ィPascalのビミョーなところを直す
TypeScript→JSに型付け
[]
[ここ壊れてます]

911 名前:デフォルトの名無しさん [2024/02/19(月) 14:41:59.29 ID:FfoO1n86.net]
Rustのビミョーなところを直して欲しい

912 名前:デフォルトの名無しさん [2024/02/19(月) 15:33:58.75 ID:BnjhEPJH.net]
R#だすかー

913 名前:デフォルトの名無しさん [2024/02/19(月) 16:37:49.01 ID:pyxz0P7h.net]
Turbo PascalやDelphiやVisual J++は彼か作ったと言えるがTypeScriptはHejlsbergが作ったわけじゃないからな

広報+コントリビューター+社外との政治的調整役

914 名前:デフォルトの名無しさん [2024/02/19(月) 18:10:38.68 ID:VthC7yJG.net]
R#とか絶対統計処理用の言語じゃん



915 名前:デフォルトの名無しさん [2024/02/19(月) 18:20:06.89 ID:BnjhEPJH.net]
そうだな
じゃあRustyNailって名前にするか

916 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 18:38:07.38 ID:j7eyydGe.net]
ビミョーなところをどうにかしたってどうせ別のビミョーなところが出てくるに決まってるんだよ。
だましだまし発展させて行き詰まったあたりでまた新しい何かが登場するのが世の中のサイクルというもんだ。

917 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 18:50:17.05 ID:JlpPRp2V.net]
割とマジでヘルスバーグ動きますの可能性はある
Carbon、Go→Google
Rust→Mozilla
?→Microsoft

この流れは確かにある

918 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 20:05:38.11 ID:gidehIA9.net]
GoogleもMicrosoftもRust支持で
Carbonの公式FAQにはRustが使えるならRustが良いと明記されている

919 名前:デフォルトの名無しさん [2024/02/19(月) 20:34:12.24 ID:VthC7yJG.net]
Rust支持というより、現状最良の選択肢がRustであると認めているだけでは
なのでもっと良い選択肢を作ることが出来たら嬉々として打ち出してくる可能性はあると思う

920 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 20:55:09.09 ID:WSW9DaUh.net]
代替の芽が今ないから早くて十数年以上先
MojoはPythonベースで関心が数値計算に向いていて違う

921 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 20:57:44.38 ID:34j+4tJw.net]
Netflixの天才は2年かけて右端の住人になったのか
https://pbs.twimg.com/media/GDa2G6iWIAAsyh3.jpg:orig

これからは目立った実績が無いのにRust歴が長いと
型〇ナニーで時間溶かしてると認定される

922 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 21:23:20.71 ID:MW9zngaI.net]
>>905
Go?
Goはランタイムが大きくGCベースの言語だからRustの代わりにならんよ

923 名前:デフォルトの名無しさん [2024/02/19(月) 21:38:55.37 ID:BnjhEPJH.net]
>>906
結局さ一周回ってAdaで良いんじゃ?

924 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 21:46:39.06 ID:VDl5KQ6V.net]
オーガスタちゃんが平伏せと命令する言語?



925 名前:デフォルトの名無しさん [2024/02/19(月) 22:19:23.32 ID:hvnIqBoW.net]
Web用途だとRustはtokioと関連ライブラリが必須だからGoよりランタイム大きくなるけどね

926 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 22:41:42.37 ID:+OQMy10I.net]
>>909
Rustバイナリが小さい
tokio+hyper他で特別な指定もなく普通に作ったweb server実行バイナリがstrip後に1.3MB

927 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 23:17:36.45 ID:aeOZND98.net]
サーバーエンドでバイナリサイズなんてどうでもいいけど専有メモリ量がJavaやGoより小さいのはよい

928 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 03:09:16.36 ID:sgoVzbhC.net]
Rustってcargo buildとかやると通信量結構えげつない

929 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 08:39:03.07 ID:VuVDzPkr.net]
依存関係があるライブラリをダウンロードすれば Rust に限らず
それなりにたいくさんひっついてくるのはよくあること。

930 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 08:51:21.95 ID:HobPlk1l.net]
C++でビルドする前にapt-getしてね、ってのも同じことだしな

931 名前:デフォルトの名無しさん [2024/02/20(火) 09:54:42.94 ID:avQkuhyK.net]
Rustだと依存ライブラリの数が桁違いに多くなるのが原因

932 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:20:25.82 ID:VuVDzPkr.net]
お前それ、 JavaScript の前でも同じこと言えるの?

933 名前:デフォルトの名無しさん [2024/02/20(火) 10:20:33.45 ID:kmanQ674.net]
>>903
その通り
Rustの次に期待

934 名前:デフォルトの名無しさん [2024/02/20(火) 13:00:59.06 ID:MPPpoDC+.net]
>>907
ブロックが波カッコだったらなぁと思ったことある。



935 名前:デフォルトの名無しさん [2024/02/20(火) 13:46:52.53 ID:sgoVzbhC.net]
一回DLしたパッケージOSにキャッシュしてくれればいいんだけど
そうじゃないから学習でやってると無尽蔵に取りにいくのはなんとかならんのか

936 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 14:05:25.22 ID:VuVDzPkr.net]
>>919
えっ、普通にキャッシュしますが……。

937 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 14:18:44.11 ID:YaBXE8T+.net]
>>919
1回しかダウンロードしない
その後はそのキャッシュを用いる

938 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 14:47:39.06 ID:NZma60kC.net]
それよりディスク使いすぎだろ
ビルドの中間生成物が簡単にギガ単位になる

939 名前:デフォルトの名無しさん [2024/02/20(火) 15:44:30.40 ID:s70xdtq8.net]
>>922
それな
複雑なコンパイラでインクリメンタルビルドを高速化するには空間性能を犠牲にするしかないんだろ

940 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 15:54:29.36 ID:VuVDzPkr.net]
大きなライブラリは動的リンクすることにしてもいいけど、
そしたら実行環境の管理と開発環境の管理を分離しづらくて面倒くさくなる。
どうやったってどこかに負担はかかるならストレージさえあれば
だいたい解決ってほうがいいという戦略なんだろ。

941 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 18:32:02.94 ID:NZma60kC.net]
Rustほどディスク使う言語他にあるの?
桁違いに多いと思うんだが

942 名前:デフォルトの名無しさん [2024/02/20(火) 18:32:44.23 ID:pzacWR0B.net]
ディスクはまあTB行かなければ何をやっても良いわ

943 名前:デフォルトの名無しさん [2024/02/20(火) 18:46:34.01 ID:2x98KEBQ.net]
ビルドキャッシュの一部を何もしなくてもプロジェクト跨いで共有してくれればまだいいんだけどね
用途的に外部ストレージやNASに置くようなものじゃないというのが困るところ

944 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 18:56:04.80 ID:qhUDP5tY.net]
Rust (cargo)のソースダウンロードしてすべて同一マシンでビルドする前提の設計はいいと思う。
soとかdllとかjarみたいなの、あまり信頼したくないというか。



945 名前:デフォルトの名無しさん [2024/02/20(火) 1 ]
[ここ壊れてます]

946 名前:9:01:23.73 ID:aUCxPGU2.net mailto: Crates.ioを信頼してどうせ落ちてきたもの毎回ソース全行確認したりはしないんだから、落ちてくるものがバイナリになっても別に良いかな []
[ここ壊れてます]

947 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 19:12:55.50 ID:HobPlk1l.net]
so使ってsymbol not foundとかよくあるしな
基本的にC++ソフトのビルドは作者が使ってるディストリでしか再現しないと思ったほうがいいくらい
しょうがないからDockerでビルド環境作ったりするけど面倒だしディスクも食うし
結局ディスクキャッシュが多少多いくらいで済んでるRustが一番マシな気がする

948 名前:デフォルトの名無しさん [2024/02/20(火) 19:56:43.04 ID:hRyg00SZ.net]
soが悪いのではなくまともなパッケージマネージャーもまともな依存解決ツールもないのが悪い

949 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 20:07:01.59 ID:+of8n4/M.net]
確かにOS非依存のC++標準パッケージマネージャと中央レジストリがあれば良かったかもね
ただその場合でもABIが不安定なのはどうしょうもないから
Rustと同じく手元で全部コンパイルする方式になったと思うけど

950 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 20:11:30.03 ID:VuVDzPkr.net]
Cargo 風の管理をする C++ 用パッケージマネージャはある。
最初からそのパッケージマネージャ用に構成してくれてないと
なかなか素直にはビルドできないことに変わりないんだけど。
パッケージマネージャが優秀でも C++ 世界では
「統一されていない」ことが面倒くささになってる。

951 名前:デフォルトの名無しさん [2024/02/20(火) 21:39:15.46 ID:1smOJz8O.net]
そう考えると中間言語形式で配布できてAOTコンパイルもできる.NETがさいつよって話?

952 名前:デフォルトの名無しさん [2024/02/20(火) 21:43:07.30 ID:BYbBGAeA.net]
NuGetが使いやすいと感じた事がないし、充実していると感じたこともない

953 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 21:59:58.18 ID:VuVDzPkr.net]
>>934
dotNET は事前コンパイルしてもランタイムサポートの分厚さ (にかかる実行コスト) は避けられないので
コンピュータの性能を絞りきるようなつよつよ最適化は無理じゃないかなぁ。
いろんな方式の良いところを上手く取り入れて総合的には良いものに仕上がってるとは思うけど
それが最強かというと状況によるんじゃないの。

954 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 22:14:04.42 ID:sgoVzbhC.net]
>>921
チャプターサンプル毎にプロジェクト作ったら毎回DLしてるように見えるけど



955 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 22:16:27.29 ID:FbkkUU+G.net]
パッケージの使い勝手という意味ではdocs.rsの存在も大きい気がするな
どんな野良ライブラリでも決まった場所に決まったフォーマットのAPI一覧が確実に存在するというのはかなり便利

956 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 22:30:04.17 ID:VuVDzPkr.net]
ドキュメントを全く書かなくても少なくとも公開されている一覧はわかるってのは強い。
最悪の場合でもコードへのリンクもあるし。
Haskell のリポジトリがこういう感じだったので他の言語でもこれくらいやればいいのにと思ってたから
Rust で取り入れてくれたのはかなり嬉しい。

957 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 22:37:39.60 ID:NZma60kC.net]
>>926
いや、スマホでセルフ開発する時に困るだろ?

958 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 22:45:53.34 ID:VuVDzPkr.net]
>>940
そんなやつはおらんで〜〜

959 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 22:47:07.61 ID:1CgxDriU.net]
ス、スマホ?

960 名前:デフォルトの名無しさん [2024/02/20(火) 23:05:21.55 ID:YDnp1LJs.net]
procマクロとかコンパイル環境で展開したいものを除くとtarget指定した環境に依存するだけだから手元でコンパイルする必要性は全くない

いずれにしろどこでビルドするかと中間生成物のサイズが異常にデカくなる話とは別の話だよね

961 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 23:07:55.15 ID:VuVDzPkr.net]
もしスマホで開発する人がいたとしても
レンタルサーバに接続して表面上の操作にスマホを使うだけで、
実質的なストレージ・計算リソースはサーバのものを使う形にするのが普通。
スマホ内で完結させようとしたらツールチェインをセットアップするだけでもクソ面倒くさい話になるぞ。

962 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 00:35:56.53 ID:ax8uXPdD.net]
働いてないとスマホで開発するとかいう前代未聞の人間がいるんだな

963 名前:デフォルトの名無しさん [2024/02/21(水) 01:44:30.82 ID:q3i686zw.net]
スマホで開発はむしろ最先端

964 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 05:17:16.65 ID:cGlapTzK.net]
iPhoneが出たばかりの頃から、脱獄して開発環境を入れてObjective-Cでプログラミングしてる人は一定数居ただろ。
最近では、どのプログラミング言語でも使えてLinux(Android)と遜色ないよ。
今のスマホは、外部モニターも外部SSDも繋げるし、外部グラボのGPUでLLM開発だってできる。ほぼほぼRaspberryPi5と変わらないよ。
だからこそ組み込みにも強いRustが注目されてるんジャマイカ



965 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 05:44:41.84 ID:cGlapTzK.net]
スマホでRustformersからLLM開発する場合、ローカルにOllama入れとくか、サーバにGPT-4やLlama2を入れとくかぐらいの違いしかない。
Google Coralもスマホでも使える前提の製品で、このチップは発熱量が減ればスマホに内蔵されるだろう。
実際、Vision Transformerのような技術を応用しているApple Vision Proが製品化されたから、スマホからこういった機器に移行するのかもしれない。
今後数年間、これらの技術動向から目が離せない状況が続くんだろう。

966 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 08:28:43.22 ID:/iiJfWDN.net]
ダウンロードしたクレートキャッシュの自動削除はもうすぐ来そう
ビルドキャッシュの自動削除はその後実装予定っぽい
https://blog.rust-lang.org/2023/12/11/cargo-cache-cleaning.html

967 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 08:31:36.21 ID:/iiJfWDN.net]
グローバルなビルドキャッシュ共有の話も予定には挙がってるね

968 名前:デフォルトの名無しさん [2024/02/21(水) 09:05:07.84 ID:33Eh81yS.net]
>>934
何を基準でさいつよかの定義による

デスクトップ
Web
バックエンド
iOS/Android
ゲーム

とC#だけで全部作れる
各分野でベストな選択肢では無いけど平均点以上のベターではある
とりあえずC#使えれば何でも作れるという意味ではさいつよ

969 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 09:19:16.71 ID:VUY6mIOu.net]
>>951
.netの毎年の長文blog最適化レポートを見ると2年後くらいでNativeAOT最適化がC/C++に肉薄すると思う

970 名前:デフォルトの名無しさん [2024/02/21(水) 10:25:34.81 ID:ygn/feiE.net]
デスクトップ
Web
バックエンド
iOS/Android
ゲーム

とC言語だけで全部作れる
各分野でベストな選択肢では無いけど平均点以上のベターではある
とりあえずC言語使えれば何でも作れるという意味ではさいつよ
チューリング完全なので

971 名前:デフォルトの名無しさん [2024/02/21(水) 10:33:55.14 ID:3B94ePzU.net]
無能なやつほどゴールデンハンマー症候群に罹患しやすい

972 名前:デフォルトの名無しさん [2024/02/21(水) 10:37:42.60 ID:33Eh81yS.net]
>>953
嘘ばっかりだなw

973 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 12:23:52.50 ID:FRHKNAr+.net]
>>949
さすがに問題として認識はしてたんだな
スマホセルフ開発の日は近い

974 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 12:50:43.67 ID:ax8uXPdD.net]
マジでスマホしか持ってないの?
クソワロタ



975 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 13:41:48.13 ID:s/93fWsg.net]
ウェアラブル系の機器には失望した。
どこへでも持っていけるよりどこへも往く必要のないインフラこそ目指すべき未来だろ。

976 名前:デフォルトの名無しさん [2024/02/21(水) 14:32:00.13 ID:T2E+AzfY.net]
>>954
同意

977 名前:デフォルトの名無しさん [2024/02/21(水) 15:10:22.61 ID:KvtS9dqN.net]
>>958
背もたれ付きベッド

978 名前:デフォルトの名無しさん [2024/02/21(水) 15:11:12.28 ID:KvtS9dqN.net]
>>953
Rustはチューリング安全だぞ

979 名前:デフォルトの名無しさん [2024/02/21(水) 16:06:34.40 ID:RjxZ1GsP.net]
>>957
働いてないと「スマホで開発==スマホしか持ってない」という発想になるんだなww

980 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 16:15:10.41 ID:cGlapTzK.net]
>>960
ベッドといえばフランスベッドが取り扱ってるAI 視覚支援機器『オーカム マイアイ2』(OrCam MyEye 2)は、
イスラエルのオーカムテクノロジーズ(OrCam Technologies Ltd)の製品だったな。
これは活字の読み上げみたいだけど、寝具メーカーは、どこへも往く必要のない未来インフラをAI使って目指してるんだろう。
ウェアラブル系が狩猟型・動物型とすれば、寝具系は農耕型・植物型なんだろうな。人間は生活の約3割は寝てるんだから当然だけど。

981 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 16:30:25.40 ID:vYwp44u6.net]
表向きはどうであれたぶん寝たきり用だから話を膨らませるのはそのくらいにしとけ

982 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 16:47:28.48 ID:OHlXXLmE.net]
いくらなんでもスマホでコーデングはせんやろ

983 名前:デフォルトの名無しさん [2024/02/21(水) 16:49:23.05 ID:1mshJDzd.net]
寝たきりで親指しか動かないとかならスマホでコーディングするかもしれん

984 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 16:54:05.86 ID:s/93fWsg.net]
性能がどうこうよりもシンプルに画面が狭いのはすごくつらい。
無理。



985 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 18:17:59.27 ID:ax8uXPdD.net]
>>962
いやお前に当てはめてるだけだぞ
何言ってんだ?

986 名前:デフォルトの名無しさん [2024/02/21(水) 21:37:40.46 ID:4F0o6gVI.net]
はちみつ餃子氏最近見ないからRust関連は触れないことにしたのかと思ったらコテ外して書き込みに来ててわろた

987 名前:デフォルトの名無しさん mailto:sage [2024/02/22(木) 16:00:18.09 ID:o0M/RgFs.net]
>>969
新スレ立ったときに名前欄に入力するのを忘れてたままやな

988 名前:デフォルトの名無しさん mailto:sage [2024/02/22(木) 23:42:55.14 ID:1e40BABA.net]
>>949
毎晩ならその機能もう使えるのか

989 名前:デフォルトの名無しさん [2024/02/23(金) 12:05:46.18 ID:vPqrWVzU.net]
今のスマホって値段はPC並みなんだから、スマホでの開発環境出てこいと思わなくも無い。
もちろんその場合は外付けのディスプレイとキーボードつけるだろうが。

990 名前:デフォルトの名無しさん [2024/02/23(金) 12:05:51.79 ID:vPqrWVzU.net]
今のスマホって値段はPC並みなんだから、スマホでの開発環境出てこいと思わなくも無い。
もちろんその場合は外付けのディスプレイとキーボードつけるだろうけど。

991 名前:デフォルトの名無しさん [2024/02/23(金) 15:12:44.34 ID:z6SHyxko.net]
iPadでXcode使えるからそれで遊んでみれば

992 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 15:20:09.67 ID:CheDQupm.net]
Rustが使えないとな

993 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 15:21:05.22 ID:jTrUecQ5.net]
クソスレまで立てちゃってw
素直に中古のノートPCでも買えよ

994 名前:デフォルトの名無しさん [2024/02/23(金) 16:04:17.89 ID:02Kw336h.net]
traitの種類多すぎて把握しきれん
使い分けもようわからんし



995 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 16:18:25.67 ID:NJWNbZ5N.net]
Pythonのpep20みたいなってRustにもあるの?

996 名前:デフォルトの名無しさん [2024/02/23(金) 16:32:06.33 ID:eHVJk53E.net]
スマホやタブレットなどのモバイルOS上に開発環境用意するのは主に2つユースケースがある
1つはモバイルOS上で実行させる小さなユーティリティを作るため
だいたいlinux emulatorみたいなアプリ内環境で稼働させる
もう一つは出先の空いた時間や障害対応等の緊急時にノートPCを持ち歩かなくても簡易的な作業なら対応できるようにしておくため

前者はスマホだけで作るやつもいるにはいるが少数派
なので今のところはメイン開発環境は別に用意してるのが大半

997 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 17:15:31.94 ID:kgcjkDLJ.net]
PEP20って何だよと思ったらあのウンコポエムだった

998 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 17:26:44.63 ID:kgcjkDLJ.net]
次スレタイトル間違えてしまったのですまんが

999 名前:誰か立て直してくれ
規制食らってもう立てられなくなった
[]
[ここ壊れてます]

1000 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 17:35:21.56 ID:CheDQupm.net]
>>977
traitとは機能を抽象化した抽象型だから使いたい機能のtraitを選ぶか作ればよい
structなどの具象型は各々必要な各機能(trait)を実装しているもしくは実装すればよい
そして抽象型(trait)を用いてプログラミングすることでその機能を実装する全ての具象型を対象とした共通コードにできる

1001 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 17:38:39.47 ID:CheDQupm.net]
次スレ
Rust part23
https://mevius.5ch.net/test/read.cgi/tech/1708677472/

1002 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 17:45:54.27 ID:kgcjkDLJ.net]
>>983
ありがとう

1003 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 17:51:32.20 ID:jYYzpIEX.net]
>>978
こういうのをまとめようとはしているよ
https://smallcultfollowing.com/babysteps/blog/2023/12/07/rust-design-axioms/

1004 名前:デフォルトの名無しさん [2024/02/23(金) 20:10:18.94 ID:1IK2X2kO.net]
>>982
FromとかAsRefとかDerefとかの時点でもうようわからんぜ



1005 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 22:42:10.08 ID:oukljDwS.net]
Fromは汎用的な変換だよ
変換に失敗する可能性を含む時はTryFromを使う

AsRefは参照から(別型の)参照への読み替え変換
コストがかからない場合が対象
コストがかかるものはFromを使う

Derefは変換ではなく演算子
変換は複数の型への変換を実装できるけど
演算子なので各型で決められた一つの型へderefできる
&T→T
Box<T>→T
Rc<T>→T
Vec<T>→[T]
String→str
PathBuf→Path
など

1006 名前:デフォルトの名無しさん [2024/02/23(金) 23:50:59.87 ID:1IK2X2kO.net]
あー。それぞれの比較はまあそうなのかもしれないんだけど、そもそもどういうtraitがあってどういう時に使うべきなのかを全て把握できてないせいで実際にコード書く時にどれを使うとRustらしいコードになるのかわからなくなるってのがしんどいんだよね

1007 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 23:59:41.76 ID:hX/YHnPg.net]
>>988
どの分野のどんな話でも基本パターンの学習による慣れ
問題

match std::env::args().XXXXX {
 Some("yes") => ...,
 Some("no") => ...,
 _ => ..., // エラー
}

1008 名前:デフォルトの名無しさん [2024/02/24(土) 02:12:39.95 ID:YQ3M0cmx.net]


1009 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 04:00:00.27 ID:felFEjYK.net]
「当然こういうのが標準ライブラリにあって然るべきだろう」みたいな感覚ができるから結局は慣れ。
常識的に考えてあるだろうと思ったら nightly だったみたいなこともよく経験するから俺が欲しいようなものはみんな欲しいんだなと思う。
実質的に言語の一部みたいなくらいのやつは嫌でも避けられないから何度もドキュメントを読み返すはめになるし、そのうち自然に使えるようになる。

1010 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 12:21:57.67 ID:lhpjpr9r.net]
>>987
Derefは演算子でも利用されるがDerefそのものが演算子(や演算子の実装)というわけではない
Type Coercionというのは型変換(Type Conversion)の一種なのでDerefは変換ではないというのもやや言い過ぎ

各型で決められた一つの型にderefされるのは演算子だからという理由ではなくて
Derefはスマートポインタが包んでる値へのアクセスを便利にするために用意されたものだからderef先の型は自然と一つに決まるため(>>733)

&T→TはDerefの役割ではない

1011 名前:デフォルトの名無しさん [2024/02/24(土) 12:57:43.72 ID:Sbx59RJL.net]
AsRefとBorrowは未だにわからんなあ
調べてもHashMapがBorrow要求するならそこだけBorrow使っておけばいいか……で思考停止してる

1012 名前:デフォルトの名無しさん [2024/02/24(土) 13:58:08.04 ID:Q2pRspv0.net]


1013 名前:デフォルトの名無しさん [2024/02/24(土) 13:58:23.94 ID:Q2pRspv0.net]
生め

1014 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 13:58:40.99 ID:Q2pRspv0.net]
、埋め



1015 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 13:58:46.56 ID:Q2pRspv0.net]
!埋め

1016 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 13:58:52.17 ID:Q2pRspv0.net]
?埋め

1017 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 13:59:00.55 ID:Q2pRspv0.net]
○埋め

1018 名前:デフォルトの名無しさん mailto:sage [2024/02/24(土) 13:59:07.65 ID:Q2pRspv0.net]
〜埋め

1019 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 34日 14時間 37分 28秒

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






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

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

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