Rust part22

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2024/01/20(土) 23:21:40.08ID:wyzQTwgG
公式
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/
2024/02/08(木) 16:06:02.61ID:34mhb8ps
>>457
一般的には何をするかに拠る
レンダリングコード共通化の話ならばその部分については誤差範囲

>>458
あまりにも基礎知識が無さすぎるようなので
SSRとCSRの違いと両者のメリットとデメリット及びコード共通化によるメリットを勉強しなさい
2024/02/08(木) 16:07:53.03ID:d7zFncjn
>>456
いやそれが余計なんだって
next.js app router+rust使ってる俺に対してする説明ではない
2024/02/08(木) 16:08:25.23ID:34mhb8ps
>>459
>>460
そこはPHPでもRubyでもPythonでもJavaScriptでも変わらない
しかしそれらは遅いからサーバーサイドはRust化すべきだろう
つまりレンダリング共通コードもRustで統一すべき
2024/02/08(木) 16:43:53.73ID:ug5u5xxX
WASMはあまりにアセンブリ言語すぎる
watで直接WASMを書いてコンパイルするのが一番バイナリのファイルサイズを抑えられるけど大変
watじゃなくて他の言語で書くにしてもstd使うとファイルサイズが爆増する
既存のライブラリをWASM化するならともかく、既存のJavaScriptコードをstd有りで書き直すのは、ファイルサイズがJavaScriptのときと比較して増えて本末転倒だからJavaScriptのままでいい
watやRust with no-stdでWASMを頑張る人は頑張って
2024/02/08(木) 16:54:49.99ID:GUaqsUfs
>>459 >>460
今は企業サイトでもサーバーサイドでJavaScriptが動く時代よ
Next.jsやNuxt.jsなどの名前を聞いたことないですか?
2024/02/08(木) 17:10:13.67ID:ug5u5xxX
だめだ、WASM specを見直してるけど相変わらず何書いてあるのかわからん
2024/02/08(木) 17:15:11.69ID:TVrzLD8V
>>464
規模がデカいアプリケーションは std の大きさなんてどうでもよくなるくらいにデカい。
大規模化するウェブアプリケーションが想定されているから
JavaScript のほうが軽量であるときは JavaScript を使えばいいよ。
そうじゃないときがあるって話なんだよ。
2024/02/08(木) 17:20:27.37ID:K+TPHqwf
1コアで毎秒数万リクエスト処理するようなゲームサーバー的なものの話をしてると思ってたらSSRとかReactとか全く違うユースケースの話をしてる人達がいたのか
そりゃ話が噛み合わないわなぁ
469デフォルトの名無しさん
垢版 |
2024/02/08(木) 17:26:24.69ID:Z/Y0D/hR
話を合わせようとしたら負け
駄文乱文を量産し続けて最後まで圧倒したやつの勝ち
470デフォルトの名無しさん
垢版 |
2024/02/08(木) 17:26:27.02ID:Z/Y0D/hR
話を合わせようとしたら負け
駄文乱文を量産し続けて最後まで圧倒したやつの勝ち
2024/02/08(木) 17:33:18.45ID:wPAPAJoC
>>467
その規模のデカいアプリケーションとやらがffmpegとかゲームとかをやるwasmならファイルサイズが大きくなる以上のメリットがあるからいいが、きれいなUIを表現するためにjavascriptよりファイルサイズの大きくなったwasmを使うのはアホとだけ言っておくわ
2024/02/08(木) 17:42:32.82ID:EBOg13nx
>>464
Wasmではfsなど必要ないのだから
no_stdで全く問題なくプログラミングできます
Rustの基本はほとんどcoreに入っています
allocを使えばVecやStringも使えます
あと欲しくなるのはHashMapあたりでしょうがこれもhashbrownで使えます
一度no_stdでプログラミングしてみることをオススメします
2024/02/08(木) 17:44:09.24ID:EBOg13nx
>>471
いえいえ
Wasmのファイルサイズはそんな巨大になりません
2024/02/08(木) 17:55:44.80ID:TVrzLD8V
Rust で簡易アセンブラっぽいものを作ったことがあった (特に std を避けるとかしてない) ので
wasm で出力してみたけどだいたい 140kb くらいな感じ。
たぶん JavaScript で書いて最適化もすればもっと小さくは出来そうな感触はあるが
だからといって Rust でやって深刻に巨大すぎるということはない。
小さいプログラムのときでも Wasm は使い物になる。

いや、もちろん比較したら JavaScript で書いたほうがよいことも多いのだろうけど、
全くのアンチパターンってことはない。
2024/02/08(木) 17:56:24.51ID:ug5u5xxX
>>472
いやー、watでいいかな
2024/02/08(木) 18:26:36.73ID:d7zFncjn
Figmaはecmascripten使ってるそうだよ
C++で書いてWebGL用にコンパイル
おそらく世界最大のwasmコードだろう

https://www.figma.com/ja/blog/webassembly-cut-figmas-load-time-by-3x/
2024/02/08(木) 18:29:10.38ID:d7zFncjn
今のところrustよりはecmascriptenの方が既存コードを活かせる
2024/02/08(木) 18:37:22.37ID://05Mhwl
>>462
Next.js使ってるならサーバーサイドでSSGやSSRのためにJavaScriptを動かしてるってことだね
そこをRust化したいと思わないの?
2024/02/08(木) 18:41:39.17ID:d7zFncjn
>>478
next.jsはUI部分だけでバックエンドはRustだから特に必要性は感じないね
2024/02/08(木) 18:54:05.90ID://05Mhwl
>>479
Next.jsでSSRなら毎回JavaScriptのコードが動くわけだけど
「バックエンドはRustだから」って?
外から受ける部分のサーバはRustでもそこからNext.jsを動かすためのNode.jsなどを呼び出すことになるよね
2024/02/08(木) 19:25:31.03ID:QINBs586
単にNext.jsがデータをフェッチする先のAPIエンドポイントがRust製ってだけだろ。
LBやらWebサーバーのような低レイヤがRust製かどうかみたいなのはそんなにユーザーに近いWeb屋が気にかけて手をいれる場所でもない。
2024/02/08(木) 19:29:46.46ID:0U3NNgcj
途中にビルド嚙ませれば同じにできるけど一般的にはCommonJSとECMAScriptで違う方言のJSでやり取りする事になるけどね
TypeScriptは使ってないから知らん
2024/02/08(木) 19:34:55.22ID:XA34Vq7w
>>480
Next.jsがまるで悪かのように言ってるけど、そんな遅いと思わんな
自分が求めてるレベルが低いだけなのかな
2024/02/08(木) 19:38:03.57ID:XODN4PGj
next.jsは普通に速いよ
ビルドがクソ遅いだけで
他のエコシステムはもっと高速なんだけどねえ
2024/02/08(木) 19:54:29.48ID:vWC2S6ww
サーバーサイドは可能な限りリソースコスト(クラウド代/ハード代電気代)を下げたい
Next.jsに限らずJavaScriptを含めた遅い言語の実行は避けたい
すべてをRust化するのが最善案
2024/02/08(木) 20:01:51.28ID:ZqeEswjg
Next.js(Nuxt.js)はどんなにクソだとしても使わざるをえないものなんだよね
Next.js以上のものはもはや作れんよ
2024/02/08(木) 20:03:16.79ID:XODN4PGj
それな
App Routerが神過ぎるんよ
これのおかげでサーバーサイドエンジニアが全てコントロールできるようになった
488デフォルトの名無しさん
垢版 |
2024/02/08(木) 20:29:26.04ID:ZTHDKZhp
>>464
forthみたいで面白くない?
2024/02/08(木) 21:09:57.90ID:iGefvq8R
Next.jsがRailsの息の根を止めたわけだが、
React+Next.js+〇〇
このバックエンド部分の〇〇がRustが活かせるところ
2024/02/08(木) 21:15:13.68ID:fAoXwANU
>>486
>>487
ReactとNextの大改革されてきた歴史を知っていれば
数年後にはまた改善されて新たな導入が必ずある
2024/02/08(木) 22:03:30.31ID:z3hLjd3o
もう大きくは変わらないんじゃないか?
正直俺はPages Routerまでのnext.jsはゴミだと思ってたから使ってなかった
しかしApp Routerを見たときまさに俺の求めているものだと感じた
多分これが最高地点だよ
2024/02/09(金) 00:17:38.71ID:tjbjc/kZ
今はRuby on Rails でも、React/Next.js, TypeScript が転職で必須。
少し前は、Vue.js だったけど、Vue 3 は流行らなかった

Rails 7 からは、Hotwire に変わった。
HotwireはHTML Over The Wireの略で、
SPAの開発において、JavaScriptのコーディングを極力必要としない。
脱node.js, webpack

JSONではなく、HTMLベース。
サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信する

これで、Reactに取られたシェアを回復する
2024/02/09(金) 06:07:49.74ID:79P7yOqB
>>492
javascript使ったほうがラクなのになんでわざわざhtml縛りするの?
2024/02/09(金) 07:43:30.04ID:uUxbU3bY
Ruby信者はズレてるから仕方ない
2024/02/09(金) 07:53:26.10ID:cmMrL7Ws
SSRのsvelteはWebオーサリングツールから実画面に持っていきやすい
WebページのスクリプトにRust使えるブラウザとRust実装のsvelteを作ってもらいたい
2024/02/09(金) 08:55:44.38ID:so08h4Qi
SvelteもNext.jsもサーバーサイドでJavaScriptを動かすためエコじゃないのでいずれ新たなものに置き換えられるでしょう
2024/02/09(金) 09:34:26.12ID:Kdv0HxUE
std::any::type_name_of_val()は学習時にも良さそ
2024/02/09(金) 09:59:55.75ID:so08h4Qi
昔から使えるよ
fn type_name_of_val<T: ?Sized>(_val: &T) -> &'static str {
 std::any::type_name::<T>()
}
499デフォルトの名無しさん
垢版 |
2024/02/09(金) 10:27:55.96ID:C39eXNkM
>>493
JS使った方が楽という感覚は理解できんわ
2024/02/09(金) 13:19:22.70ID:YdTAf9YB
>>496
next.jsのapp routerがサーバーサイドフレームワークになったの知らないの?
2024/02/09(金) 13:59:04.29ID:wfDAL7tm
リソースコストがかかるスクリプト言語をサーバーサイドで動かしてる連中はいずれ消えるさ
2024/02/09(金) 14:16:42.17ID:YdTAf9YB
>>495
app routerの登場によりSSRだとかCSRとかややこしい概念は必要ない
あるのサーバーコンポーネントとクライアントコンポーネントとサーバーアクションのみ
極めてシンプルになった
503デフォルトの名無しさん
垢版 |
2024/02/09(金) 15:05:02.67ID:7wM1u29W
どんどんrustの話から離れていってんな
504デフォルトの名無しさん
垢版 |
2024/02/09(金) 15:19:56.77ID:d4LbU2O8
SSRやCSRがややこしいと感じる意味がわからん
Next.jsのPage Router時代の区別がややこしかったと感じてるだけとちゃう?
特定の実装とは関係のない概念としてのSSRやCSRは別にややこしくも何ともないでしょ

ReactのサーバーコンポーネントはNext..jsではサーバーサイドでレンダリング(HTML生成される)、つまりSSR
クライアントコンポーネントはクライアントサイドでレンダリングされる、つまりCSR

ついでに言うとHotwireみたいなのも仕組みとしての基本的な考え方は同じ
505デフォルトの名無しさん
垢版 |
2024/02/09(金) 15:26:09.73ID:wyTCEkUp
Rustで引数の数を可変にしたいと思っただけでマクロが必要になるの、どういう思想なんだ
2024/02/09(金) 15:36:06.60ID:gZOHhCrR
>>505
型システムとの兼ね合い。
507デフォルトの名無しさん
垢版 |
2024/02/09(金) 15:38:36.69ID:ixshWTAh
>>505
オプショナル引数 → 数が少ないならOption多いならbuilder
可変長の引数 → スライス

マクロを使うのは個々の引数の扱いがそれぞれ異なりそれぞれをコンパイル時に型をチェックしたい場合などに使う
2024/02/09(金) 15:52:26.69ID:IKpgt5UR
next.jsはRustフレンドリーなフレームワークだから実質Rustなんだよね
2024/02/09(金) 16:25:40.87ID:YdTAf9YB
>>504
その発想だとサーバーアクションは説明できないよ
2024/02/09(金) 16:28:31.07ID:YdTAf9YB
>>508
俺は将来的にnext.jsは全部rustで書きなおされると思ってる
2024/02/09(金) 16:37:49.82ID:DOCRBofH
>>504
概念自体はそっかという感じだけどそれを実装する方法があまりにもいけてなさすぎたんでしょ
App Routerはどこで実行されるか?だけを意識すればよろしい
2024/02/09(金) 17:13:49.98ID:wfDAL7tm
>>510
同感
513デフォルトの名無しさん
垢版 |
2024/02/09(金) 18:59:39.30ID:wyTCEkUp
C++であれば関数のオーバーロードで実現していたようなことをRustでは全部封じてしまった結果、ライブラリは至る所マクロだらけ
これはRustの目指したいところなのか?
2024/02/09(金) 19:22:48.34ID:6IeD8Xf6
実行時の分岐ではなくコンパイル時のコード生成に置き換わるんだから
ゼロコスト抽象化という観点ではC++のほうがそちらを目指さなければいけなかったんじゃないでしょうか。
2024/02/09(金) 19:24:12.28ID:6IeD8Xf6
あ、可変長引数の話とオーバーロードの話を混同してしまっていた。
516デフォルトの名無しさん
垢版 |
2024/02/09(金) 19:32:53.51ID:RpHX5dqz
https://qiita.com/buntafujikawa/items/1bd808f5f55eb63df7c4
こういうの知ってたら
オーバーロードもデフォルト引数もいらね〜
どうしてもほしけりゃ別名の関数作るわ
ってならん?
517デフォルトの名無しさん
垢版 |
2024/02/09(金) 19:45:04.86ID:qkcXaSLH
別名の関数を作りたくなるのはわからんでもないけど、実際crates.ioはそうならずにマクロだらけなので
2024/02/09(金) 20:35:29.36ID:gZOHhCrR
田舎者は十年間使わない道具でも納屋にしまいっぱなしってことがまあまああるけど都会だとどんどん捨てるじゃん。
都会では物より空間のほうが高くつくから。
何が大事か、何を大事ということにするかで判断が変わる。
名前を考えるってのは人にとって思ったより負荷が高いということに対する解がオーバーロードなんだよ。
でもまあオーバーロードにもデメリットは当然ながらあるので結局は何を重視するかの問題。
519デフォルトの名無しさん
垢版 |
2024/02/09(金) 23:53:50.41ID:qm1w3dJY
オーバーロードは無くてもいいけどキーワード引数は欲しいかな
2024/02/09(金) 23:59:48.02ID:D/1cks9J
>>519
あるよ
X { name: "foo", num: 123, ... }
521デフォルトの名無しさん
垢版 |
2024/02/10(土) 02:54:22.21ID:rfU+NtYa
>>520
いちいちstructを定義しなくてもいいようにするためにキーワード引数って存在してるんだよ
2024/02/10(土) 09:13:20.91ID:KcmgHb9l
>>521
同じことだろ
関数の引数で列挙するか構造体で列挙するかで差はない
構造体で列挙しておけば関数の引数はその構造体名だけ出せばよい
他の関数でも使い回せるメリットもある
2024/02/10(土) 09:40:29.45ID:d2BF2Jtb
Rustでなぜデフォルト引数がサポートされてないのかはここでよろしく
https://www.reddit.com/r/rust/comments/fi6nov/why_does_rust_not_support_default_arguments/
2024/02/10(土) 09:50:58.48ID:lXB6J68A
構造体を使うかビルダーパターンで困ることはないからね
もし技術的に矛盾のない他の良い方法があれば提案してみるべきだけど既出だと思うよ
2024/02/10(土) 09:54:14.05ID:Lf9bQLCg
ビルダーパターンは自分で書くならめんどい
2024/02/10(土) 10:07:03.72ID:iJNhxzEm
>>525
でも可視性があがるよ、あと保守が楽ちん
メリットいっぱいなんだよ✌
527デフォルトの名無しさん
垢版 |
2024/02/10(土) 10:08:52.95ID:QvZInASK
ADAってどう?
2024/02/10(土) 10:22:50.56ID:iJNhxzEm
Adaってなんだと思って調べたら米国国防総省が主導のもとで開発されたプログラミング言語なんだね
後に開発されたC++やJavaに影響を与えたんだって
2024/02/10(土) 10:33:01.11ID:VP+Iax6j
>>490
OSSはなんだって始め数年は大改革されるもんよ
良くない作りは早めに治さんと後になったら大変になるから
逆にズルズル引きずって大変な事になったのがPython2&3だったりyum辺りだな
530デフォルトの名無しさん
垢版 |
2024/02/10(土) 10:33:37.95ID:2jz47bNZ
パターンとかきしょすぎ
Javaみてえな文化
2024/02/10(土) 10:36:17.39ID:VP+Iax6j
>>501
スクリプト言語は人員が集めやすいから消えはしない
世の中は理想論じゃなく現実で回ってるんだから
532デフォルトの名無しさん
垢版 |
2024/02/10(土) 11:15:35.75ID:6T66/lvp
>>522
えっ、マジで違いがわからないの?
キーワード引数の価値を理解できない人がいるとは
2024/02/10(土) 11:20:28.46ID:iJNhxzEm
>>530
悪いがデザインパターンの考えは大事だと主張させてもらうよ
可読性、保守性至上主義なので
2024/02/10(土) 11:21:55.77ID:xcSAMi5J
キーワード引数のような劣った方法より構造体あるいはビルダーパターンが絶対にいいぞ
デフォルト値はまとめてDefault実装でがっちりコードも書けるしな
2024/02/10(土) 11:24:20.16ID:iJNhxzEm
キーワード引数は>>523に書いてあるように、いまだ有用な実装が挙がってないから無い
数年後には有用な実装が提言されてるかもしれないから待て
2024/02/10(土) 11:32:26.22ID:iJNhxzEm
パターンにアンチ的な考えを持つのはお門違い
Webアプリにしてもコア部分のライブラリにしても、一般的なデザインパターンに基づいて設計されていればあとから雇った技術者に引き継がせるのが楽ちん
デザインパターンのうちのひとつ、ビルダーパターンだって可読性、保守性に優れてるから使われているんだ
537デフォルトの名無しさん
垢版 |
2024/02/10(土) 11:53:44.03ID:H5a70urg
>>533
構文が優れていないからパターンみたいなキショいものが必要になる
誰が書いても同じようなコードになることを目指して開発されたPythonにはデザインパターンは必要ない
538デフォルトの名無しさん
垢版 |
2024/02/10(土) 11:54:44.92ID:H5a70urg
可読性・保守性のために追加のパターンの勉強が必要だなんて信じられない
まるでJavaみたいだ
2024/02/10(土) 11:57:02.97ID:iJNhxzEm
>>537
だってPythonはデザインパターンを意識しないと保守が面倒になるような複雑に設計すること自体がアンチパターンじゃんか
2024/02/10(土) 12:00:29.93ID:iJNhxzEm
>>539 アンチパターンは言い過ぎか、Pythonにだってデザインパターンの基本的な原則はあるんだから
2024/02/10(土) 12:04:27.79ID:09Czk/ru
>>537
Pythonは欠陥プログラミング言語として知られているように酷い状況だよ
特に酷いと言われてるのはPythonにはinterface機能がないこと
抽象クラスで無理に実現しても劣りコードも汚い
Pythonはプログラミングはせずにあくまでもスクリプトとして用いる範囲内で使うのがよい
542デフォルトの名無しさん
垢版 |
2024/02/10(土) 12:09:31.06ID:H5a70urg
まあでも言われて考えてみればbuilder patternなんてせいぜい「Pythonらしいコード」とかの範疇か
2024/02/10(土) 12:12:05.42ID:X5MB5Dp7
>>541
pythonにインターフェースがないのは、インターフェースが必要になるような製品にpythonで設計するなってことだぞ
544デフォルトの名無しさん
垢版 |
2024/02/10(土) 12:13:49.11ID:H5a70urg
Pythonで抽象クラス使うくらいならProtocolでも使うかな
まあtrait使う方が良いのはそうかも
2024/02/10(土) 12:18:46.21ID:Gv6WNLHY
デザインパターンとかいうオブシコ要素をRustに持ち込むの迷惑だからやめろ
2024/02/10(土) 12:30:54.19ID:iJNhxzEm
パターンアンチが多いのか知らんけど、デザインパターンのうちクリーンアーキテクチャの考えは最低限習得しとくべきよ
フレームワークやライブラリと疎結合に実装しておけば保守性はばっちり
フレームワーク入れ替えのリファクタリングだって容易にできる
2024/02/10(土) 12:33:11.47ID:lBFnzKPs
いわゆる従来のデザインパターンと呼ばれているものは前提としてクラスやクラス継承を前提としているものが多い
そのためRustに持ち込んでも意味がないものやRustに持ち込む必要がそもそもないことが多い
Rustを理解していない人がRustを批判しようとして逆に失敗する一因にもなっている
2024/02/10(土) 13:01:44.04ID:YTHRY4oL
>>546
オブジェクト指向ありきのあの本はもうオワコン
読み返すとオブジェクト指向だらけで胸焼けするよ
2024/02/10(土) 13:16:33.29ID:8ut+BFv7
Rustスレにオブシコアンチの居場所はないぞ
Rustはオブシコの主要機能の2/3を取り入れてるんだから
550デフォルトの名無しさん
垢版 |
2024/02/10(土) 13:20:09.17ID:LlCsSE+Z
>>537
Pythonもデザインパターン盛り盛りで作られてる
必要ないとか思っちゃってるのは経験が浅いだけ
551デフォルトの名無しさん
垢版 |
2024/02/10(土) 13:24:24.95ID:RZD3J/dp
>>547
>いわゆる従来のデザインパターンと呼ばれているものは前提としてクラスやクラス継承を前提としているものが多い
この考えが間違ってるんだよなぁ
デザインパターンの特定の実装しか理解してない人とデザインパターンの実装例から導き出される原則まで理解してる人では見えてる景色が正反対になってしまう例だね
552デフォルトの名無しさん
垢版 |
2024/02/10(土) 13:42:15.57ID:bXBK2+hH
>>541
Pythonではインターフェースを抽象クラスで代替できるってのと
Rustではキーワード引数を構造体で代替できるってのと全く同じことなんだよな

一言で言えばどちらも低DX
2024/02/10(土) 13:57:43.35ID:UK9hi/1i
>>552
それは全く違う
C++とRustにキーワード引数がないのは
リソース管理の問題があるためだ
つまり引数部分で色々やると
リソース獲得問題と解放問題などが生じてしまう
だからキーワード引数ではなぬ分離したほうが好ましい
2024/02/10(土) 13:58:54.16ID:iJNhxzEm
>>548
クリーンアーキテクチャはアーキテクチャパターンの中でもすごくシンプルだと思うぞ
とにかく関心の分離にこだわる、この考えに尽きる
まあ、これこそオブシコの中のオブシコの考えだからアンチは大嫌いなんだろうけど
2024/02/10(土) 14:03:55.89ID:lW9Vkr52
>>551
言いたいことはわかるがデザインパターンといえば
GoFと言われてるようではダメで
今のパラダイムに合った本が出ないとつらいかな
2024/02/10(土) 14:05:28.57ID:iJNhxzEm
デザインパターンといえばGoFは流石に古くないか??
557デフォルトの名無しさん
垢版 |
2024/02/10(土) 14:05:43.92ID:AU1t0rvZ
デザインパターンという言葉はGoFに汚染されているからな
デザインパターンという言葉を使うこと自体がアンチパターン
2024/02/10(土) 14:08:00.40ID:iJNhxzEm
デザインパターンが広義的すぎるのは分かる
デザインパターンではなくアーキテクチャパターンと表すべきだというのなら、まさにごもっともでございます
2024/02/10(土) 14:23:27.48ID:Aed3I3PZ
話がそれてるけどデフォルト引数(キーワード引数)がRustに無いのは現時点での仕様
デフォルト引数を使える点はPythonの勝ちだねおめでとう、じゃあPythonくんはブラウザバックしようか
2024/02/10(土) 14:40:14.16ID:XEL9SE6k
出来ることが多いほどいいってわけじゃないからなぁ。
「構造化は好きな場所にジャンプできないから欠陥のあるパラダイム!」とは言わんでしょ。
そんでそういうのは他の言語機能との連携とか諸事情を考えて決めるべきことだから
Rust でキーワード引数がないのは「今のところは」よいバランスの仕様が思いつかないでいるってだけ。
これから良いアイデアが出るかもしれないし出ないかもしれない。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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