[過去ログ] Rust part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
391(2): はちみつ餃子 ◆8X2XSCHEME 2022/07/21(木)00:52 ID:/hG5LMVG(1) AAS
話題が逸れるが >>384 が C++ の型システムをオブジェクト指向と呼んでるっぽいのが気になる。
オブジェクト指向はオブジェクト同士がメッセージを送りあう形でプログラムを構成する思想のことで、
それを言語機能としてどのように支援するのかには様々なバリエーションが有りうる。
型システムとは独立した概念だよ。
ふんわりした概念なので定義によるが Rust もオブジェクト指向 (をサポートする) 言語に分類されることはある。
それはそれとして、 C++ の型システムもベストとは言えないが最悪というわけでもない。
実際にかなり多くの場面で活用されている実績は認めないといけない。
要するに「この程度で十分」ではあるんだよ。
C++ の本当につらいところは C から引き継いだガバガバさや歴史的事情のワケわからんところであって、
型システムの根本的な改善はそれほど切実に必要だとは思わないな。
省1
392: 2022/07/21(木)00:54 ID:0vTmbBj3(1) AAS
話題が逸れるが、...で読む気失せたわ
393: 2022/07/21(木)00:58 ID:MOkaWH3B(1/2) AAS
>>391
前半は正しいが
後半のクラス継承システム程度で十分という点には賛同しかねる
今までの現実の多くのケースはクラス継承システムしか使えない環境だったから無理矢理にそれを使っているだけである
394(1): 2022/07/21(木)01:00 ID:g1dckGB4(2/2) AAS
似たような機能のものを大量に書く場合どのように実装するのが楽かどのように管理するのが楽か
モジュールではないな
395: 2022/07/21(木)01:15 ID:MOkaWH3B(2/2) AAS
>>394
その点ではRustもC++も同じオブジェクト指向なので何を主張したいのかわからない
Rustの基本はselfに見られるようにオブジェクト指向
違いはC++がクラス継承なのに対してRustはトレイト
ジェネリックから見るトレイト境界による型制約となり
逆の視点から見るとトレイト付加によるメソッド拡張となる
396(1): 2022/07/21(木)03:25 ID:DiLbgRco(1) AAS
いくらRustが有望だと言われていても、ポインターがないと使いづらい場面ってあるよな
ツリー構造とか、ポインターなしで大して実行速度も落とさず記述する技があるようだけど・・・・大掛かりなことをするのなら労力を割くのもいいけど、ちょっと使うだけには労力がかかりすぎる
397: 2022/07/21(木)04:26 ID:VmE9g8Ff(1) AAS
ポインタあるじゃん
398: 2022/07/21(木)05:01 ID:hbmQrHo+(1) AAS
>>396
Rustにも様々なポインタがあり
様々な仕様と様々な安全度合いで記述できる
399: 2022/07/21(木)08:09 ID:HHuzACnI(1) AAS
>>385
Rustからわかるように、求められているのは膝を打ち抜く自由の無いc++であり、コーダーに使わせる言語。
unsafeはc++で実装すりゃいいので、継承とかは使うだけに限定するという手もある。
400(1): 2022/07/21(木)13:48 ID:xy799ZfA(1/3) AAS
>>391
話し手がなにをオブジェクト指向の言語としているのかどうか判断する程度の読解力は持ち合わせてくれないかな?
RustはC++のように継承を導入することによってもたらされる問題を回避するためにclassじゃなくてtraitを基本的なプログラムの構成要素として採用することで既存のオブジェクト指向言語と一線を画すというプログラミング言語史に残る進歩を達成していた
401(1): 2022/07/21(木)15:49 ID:Q1uK5/Rv(1) AAS
>>400
Haskellの型クラスの方が先だろ。
「プログラミング言語史に残る進歩」とかさすがに恥ずかしいレベル。
402(2): 2022/07/21(木)16:58 ID:xy799ZfA(2/3) AAS
>>401
RustのtraitをただのHaskellの型クラスの類似物としてしか認識できないのはお前が単に馬鹿だから
Rustのtraitは本来継承もmixinとも違ったC++のclassより洗練された新たなプログラムの構成要素だっていう側面が理解できていない馬鹿が多すぎる
ただRustではこのtraitという構成要素に実用上の面から今度は型クラスという機能も持たせているというだけで話の順序が違う
こんぐらいRust書いていたらtraitには単に型クラスだけの意義だけじゃないってわかると思うんやがお前にはそういった才能もないただのネット上で繰り返し喧伝されている宣伝にしか注目する脳がないいわばにわかの部類の奴だということがわかった
403: 2022/07/21(木)17:50 ID:eNA5340i(1) AAS
traitの画期的な部分はc++のabstract classで実現できないの?
404(3): 2022/07/21(木)17:54 ID:F7Gtvv1S(1/2) AAS
>>402
何が言いたいのかよくわからないけど型クラスになくてtraitにあるものって何?
associate typeはrustの発明だと思うけど、そういうこと言いたいわけでもなさそうだし
405: 2022/07/21(木)18:07 ID:ySHdWcK4(1) AAS
自分が崇拝する神だけが唯一正しいと妄信して
他人の考え方を徹底的に糾弾排斥するのがカルト
カルト化した人間とまともな議論ができると思うな
406(1): 2022/07/21(木)18:19 ID:xy799ZfA(3/3) AAS
>>404
公式サイトにすら出典付きで載ってあることなんだけどなんでここで聞くの?
繰り返しになるがtraitの型クラス以外の側面に気づけないのはお前が単に馬鹿なだけ
407(2): 2022/07/21(木)19:01 ID:HGs+QJMA(1) AAS
>>406
そういうのを誘導しないからお前はダメなんだよ。
prev.rust-lang.org/ja-JP/faq.html#how-do-rust-traits-compare-to-haskell-typeclasses
How do Rust traits compare to Haskell typeclasses?
Rust traits are similar to Haskell typeclasses, but are currently not as powerful, as Rust cannot express higher-kinded types. Rust’s associated types are equivalent to Haskell type families.
408(1): 2022/07/21(木)19:15 ID:F7Gtvv1S(2/2) AAS
>>407
traitの方が表現力低いって言ってるじゃねーか
409: 2022/07/21(木)20:10 ID:SY914jbi(1) AAS
レスバスレ使ってくれませんか?
410(1): 2022/07/21(木)20:48 ID:rGFlKcYB(1) AAS
>>407
それURLがprevで始まっているように古い情報ページ
わざわざそれを出すのは何か意図がある?
411: 2022/07/21(木)21:43 ID:vaotA28G(1) AAS
>>408
正しい情報を啓蒙するのは面倒だということを知らしめる意図じゃない?
412(2): 2022/07/21(木)21:59 ID:vJeGD7jb(1) AAS
>>404
Rustのトレイトは
トレイト境界を実装で指定できるだけでなく
トレイト境界を型宣言でも指定できるなど
様々な点で型クラスと異なるよね?
413: 2022/07/21(木)22:56 ID:crFoTo11(1) AAS
幽霊型🥺
414: 2022/07/21(木)23:06 ID:XUR5FORi(1) AAS
>>404
associated typeもhaskell由来
415: 2022/07/21(木)23:56 ID:vrEITS91(1) AAS
>>412
トレイトに関しては当然Haskellの型クラス由来の部分が多いけど互いに片方にしかないものもあり異なる側面があるわけか
416(1): 2022/07/22(金)00:02 ID:Dec8FkF+(1/2) AAS
>>412
よくわかんないからコードで書いて
417: 2022/07/22(金)00:07 ID:3PGiuxDq(1) AAS
今のところ型システムは完全下位互換だよ
418(4): 2022/07/22(金)00:22 ID:hXBfLf2I(1/3) AAS
>>416
普通のこれだろ
struct Foo<T: Trait1 + Trait2> {
inner: T,
}
419(1): 2022/07/22(金)00:32 ID:/9LzCqck(1) AAS
>>418
これが>>402が言う型クラス以上の意義があるものなの?
420: 2022/07/22(金)00:45 ID:hXBfLf2I(2/3) AAS
402の話は402に聞け
少なくとも>>418は型定義の時点で制約できるから意義がある
上下前次1-新書関写板覧索設栞歴
あと 582 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s