[過去ログ] Rust part24 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
31: デフォルトの名無しさん [sage] 2024/06/01(土) 22:44:45.41 ID:azEYwwHp(1) AAS
>>30
30(1): デフォルトの名無しさん [sage] 2024/06/01(土) 22:35:04.27 ID:25uf1xqx(1) AAS
スクラッチのPHPみたいにSQL直書きからのexecuteはナシ?
Rustのコード内にSQL直書き文字列を書ける
その上でデータベースとの静的な型チェックもされるのがsqlxのメリット
41
(1): デフォルトの名無しさん [sage] 2024/06/03(月) 16:27:42.41 ID:PBVPy7rj(1) AAS
本質的にC++な機能といえば多重継承
多重継承は他の言語に移植できない
万一できたとしたらそれは自動生成ではなく手作業で工夫されたコードだろうね
151: デフォルトの名無しさん [sage] 2024/06/15(土) 13:08:57.41 ID:I+z8iAZu(2/3) AAS
>>149
149(1): デフォルトの名無しさん [sage] 2024/06/15(土) 12:55:07.64 ID:pv+Dr0CG(1) AAS
>>148
置き換える意味があるかないかの問題でしょ
ほぼシステムコールなグラフィックAPIのRust実装の有意義性はあるのか
完全に pure Rust の OS があったとして
その上で動くアプリケーションは全て Rust で描かないといけない世界が良いのか
Rust OS の上でも C/C++ で開発したい(API は C 相当)のかで意見が変わる
217: デフォルトの名無しさん [sage] 2024/06/16(日) 17:52:05.41 ID:fzWVLbYH(1) AAS
>>215
215(1): デフォルトの名無しさん [sage] 2024/06/16(日) 17:20:46.77 ID:dwkxcYMW(19/22) AAS
コンパイラはプログラム中の全ての参照型に対してライフタイムを割り当てる、と
所有者がどのスタックフレーム(の中のどのブロックスコープ)にいるかだけの話だよな
そこより先なら参照は生きて
そこより元なら参照も死ぬ

もちろんそんな神の絶対的な視点を実行前のコンパイル時点で静的に持つことはできない
しかし各関数内での出入り(引数がinで返り値がout)は静的にわかるから
相対的な視点で有効か無効かわかることになると
329
(2): デフォルトの名無しさん [sage] 2024/06/24(月) 09:09:09.41 ID:sUiNH5u5(1) AAS
>>328
328(4): デフォルトの名無しさん [] 2024/06/24(月) 07:45:03.03 ID:m0RxboDo(1) AAS
if や case や match や テーブル参照は使わないで
(出来れば四則演算のみがベストアンサー)
変換前→変換後
1→2
2→1
3→3
4→10
6→4
8→8
10→6
を行う関数を造ってください

さらにその逆関数を造ってください
六次式でいいなら一瞬でできるでしょ
423: デフォルトの名無しさん [] 2024/06/27(木) 23:46:01.41 ID:AKJ8/1zo(8/8) AAS
未定義動作の話をしてはいないよ。
低レイヤとの間をどう取り持つかの話をしてる。
484: デフォルトの名無しさん [sage] 2024/06/29(土) 20:21:20.41 ID:U1RWDnMp(1) AAS
>>480
480(1): デフォルトの名無しさん [sage] 2024/06/29(土) 18:07:09.50 ID:PsPEDCdZ(3/5) AAS
言語を比較しなくても
&Tに比べてRc<T>はリファクタリングしやすいとかいう認識でいいよな

ただ進化論じゃないんだから&Tが淘汰されてRc<T>が生き残るということはない
言語を比較すれば淘汰される言語もありうる
Rc<T>の比較対象はTやBox<T>
・Tの参照は&T
・Box<T>の参照は&T
・Rc<T>の参照は&T
どれも同じになり&Tは不要とならない

違いはスコープから外れたとき
裸のTはTがスタック上ですぐ消える
Box<T>はTがヒープ上ですぐ消える
Rc<T>はTがヒープ上でカウンタが最後のときだけ消える
485: デフォルトの名無しさん [sage] 2024/06/29(土) 20:23:11.41 ID:KH8yb7Br(5/6) AAS
>>469
469(5): デフォルトの名無しさん [sage] 2024/06/29(土) 15:34:20.66 ID:KH8yb7Br(1/6) AAS
それまで参照を持たなかった構造体にメンバとして参照を持たせると、型にジェネリックライフタイムが付いて、その型の使用箇所全部でライフタイムを書く必要がある
さらに悪いことに、実際のところこれは必要ではなく、ライフタイムを書かなくても省略されていると見なされてコンパイルが通ることもある
しかしこれでは意図通りのライフタイムになっていないことが多く、その型の使用箇所を増やしたときに初めてそのことに気づくことになる

Rust特有のリファクタリングしづらさは、あるよ
これか……
外部リンク:github.com

> I think the answer here is "Alex thought it was fun to avoid RefCell and Mutex", there's no real technical motivation.

「cloneを避ける/ロックを避ける/参照カウンタのコストを避ける」みたいなゼロコスト主義も節度を持ってやれってことね
とりあえず「型のジェネリックライフタイム引数を変更するのは多大なコストがかかる」という理解は合っていると思っておくことにするか
640: デフォルトの名無しさん [sage] 2024/07/07(日) 23:51:53.41 ID:gwkq/Sum(1) AAS
>>635
635(1): デフォルトの名無しさん [sage] 2024/07/07(日) 21:58:17.95 ID:rdCPsToy(2/2) AAS
好き嫌いと良い悪いはしっかり区別つけなければならない
他の型との間で不必要に強力な依存関係が生じてしまう実装継承は悪い
この実装継承となってしまうクラス継承は悪い
Rustに実装継承はなくトレイトを用いることで健全な継承を活用してプログラミングできる
クラス継承の問題はある程度の規模でプログラミングしてきた人の多くが体験してきて、
その根本的原因は実装継承にあることが多くのサイトで解説されている通りだけど、
従来の言語ではクラス継承に代わる手段が弱かったり不便であるため、
仕方なく欠陥のあるクラス継承を使い続けてきた不幸な歴史があるんだよ。
クラス継承を使わずにすむRustは恵まれてる。
749: デフォルトの名無しさん [sage] 2024/07/11(木) 12:31:18.41 ID:QtPgEU0q(1) AAS
>>747
747(2): デフォルトの名無しさん [sage] 2024/07/11(木) 11:36:08.08 ID:gcQpVY2c(2/2) AAS
>>743
インターフェースが使えるメジャーな言語は全部残る
C#, Java, Kotlin, Swift, TypeScript, Dart
ウソはあかん
899
(1): デフォルトの名無しさん [sage] 2024/07/20(土) 00:12:48.41 ID:bNknJoN/(1) AAS
>>896
896(1): デフォルトの名無しさん [] 2024/07/19(金) 23:21:36.34 ID:rC6z5NUh(1/2) AAS
cloud strike のはテロルやね
ウィルスバスター以来の快挙やね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.043s