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


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

オブジェクト指向はオワコン



1 名前:デフォルトの名無しさん mailto:sage [2023/08/26(土) 22:00:53.85 ID:H4l7y46b.net]
最近の言語には採用されないことが増えている

663 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:30:43.26 ID:HG/MrdYG.net]
テンプレートおよびジェネリクスは禁止で
それでいい

664 名前:デフォルトの名無しさん [2024/01/19(金) 11:37:19.74 ID:iTaoyDeQ.net]
「なぜPythonが人気なのか」を機能性・転職市場・将来性の3視点で調査
Python入門
2023年11月24日
https://www.sejuku.net/blog/108069

>>639
>クラス多重継承なんてあまりにもダメすぎるため採用しているメジャーな言語はPython Perl C++のダメ言語御三家のみ

流行とかパラダイムが全てでは無いにせよ、オブジェクト指向=人工知能ということなら、
自然言語処理における意味解釈は語のルーツを掘り下げるための「多重継承」がメインになる

随意筋 不随意筋
  ↖ ↗
  チンポ

文脈によって同一オブジェクトが真逆の振る舞いをするということね!

665 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:40:54.55 ID:arzVgFZ3.net]
もう継承はゴミってことで結論出てるのになんでそんなに無くてはならないって拘るの?

666 名前:デフォルトの名無しさん [2024/01/19(金) 11:50:05.51 ID:iTaoyDeQ.net]
>>647
最新調査でPythonが人気なのと、Pythonが多重継承をサポートしているのは、どう説明するのかな?

667 名前:デフォルトの名無しさん [2024/01/19(金) 12:04:44.60 ID:iTaoyDeQ.net]
集約と継承を使い分けることが大切ね!

>>623
>欲しかったのはバナナだけなのに、あなたが得たのはバナナを持っていたゴリラと、ジャングル全体だった。

ジャングルーーーーーーーーーー
┃ ゴリラーーーー     ┃        ┃ ┃ バナナ ┃     ┃    
┃ ーーーーーーー     ┃       
┃             ┃
ーーーーーーーーーーーーーーー

クリントンーーーーーーーーーー
┃             ┃
┃             ┃
┃             ┃
┃             ┃
┃             ┃
ーーーーーーーーーーーーーーー
     ┃チンポ┃
      ̄ ̄ ̄ ̄

668 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:26:06.50 ID:SK8TlxrV.net]
>>631
多態性・情報隠蔽ですら無くて、単にインスタンス間でやり取りするときのインターフェイスとプロトコルを確定しておきたいだけだよ。

継承みたいなコンパイラ都合のお作法はうざったいだけだし、インターフェイスとプロトコルを守っているなら多態かどうかもどうでもいい。結果的に多態になるけど、あくまで結果論。

669 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:31:42.38 ID:arzVgFZ3.net]
>>648
pythonで複雑なシステムは普通の感性を持ってれば組まないし別にいいんじゃない?
継承がゴミだと言われる理由を考えてみて

670 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:38:25.66 ID:SK8TlxrV.net]
オブジェクト指向がオワコンというのは正しくて、よりインスタンス間のルール管理に注力した契約プログラムとかに発展的解消してんじゃないのかね。

671 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:44:39.23 ID:arzVgFZ3.net]
>>650
インスタンス間でやり取りするときのインターフェイスとプロトコルを確定(カプセル化)することがまさしく不要な情報の隠蔽なのでは?
それでカプセル化したらポリモーフィズムに基づいてアクセスさせるか~みたいな感じでしょ?



672 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:45:36.30 ID:arzVgFZ3.net]
そんでカプセル化したものを継承させるのはプログラムが煩雑になるからやめましょうよ、継承の実装を省くならクラスもいらないねってそういう話じゃん

673 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:52:25.37 ID:rg+QtK0B.net]
>>646
多重継承の中でも型継承さえできれば十分ならインターフェースでよくね?
それなら他の言語でもできるぞい✌

674 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:54:01.11 ID:SK8TlxrV.net]
>>653
そう、そう。
実装の結果ついてきた結果論。
スタートはインターフェイスとプロトコル。

675 名前:デフォルトの名無しさん [2024/01/19(金) 12:54:57.24 ID:iTaoyDeQ.net]
オンラインゲームのアップデートは「カプセル化したものを継承」では?

>>654
>そんでカプセル化したものを継承させるのはプログラムが煩雑になるからやめましょうよ、

大型アップデート情報 バージョン6.5[後期] (2023/11/21 更新)
https://hiroba.dqx.jp/sc/topics/detail/0e4f5cc9f4f3f7f1651a6b9f9214e5b1/

システムのアップデートは一般的に「継承」と自分は思うが、丸ごと作り直したほうが良いのかな?

676 名前:デフォルトの名無しさん [2024/01/19(金) 13:07:12.61 ID:iTaoyDeQ.net]
私見としてはオンラインゲームと言えども、大型バージョンアップ時は丸ごと作り直したほうがいいと思う
ドラクエ10のバージョン7ということなら、すべてを再インストール化でもいい

677 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:15:20.79 ID:arzVgFZ3.net]
>>657
オンラインゲームのアップデートってなに?もっと具体的に頼む
バグ修正?新機能の追加?新キャラの追加?
バグ修正や新機能はカプセル化の対応部分の丸ごと書き換え等いろいろあるだろうね
新キャラ追加はカプセル化したクラスモデルを継承して作り上げて、それをロードしてやれば、ポリモーフィズムに基づいて動いてくれるだろうね

678 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:17:20.00 ID:2+ ]
[ここ壊れてます]

679 名前:AapLKd.net mailto: さすがにアプデを継承と考えるのはややこしくなるからやめたほうがいい []
[ここ壊れてます]

680 名前:デフォルトの名無しさん [2024/01/19(金) 13:25:42.10 ID:iTaoyDeQ.net]
>>659
>オンラインゲームのアップデートってなに?もっと具体的に頼む

オンラインゲームというのは、リリース後も次々とアップデートを繰り返し、機能が増えていきます。
よって、一番最初の設計で、どれだけ未来の変化を予測して、準備しておけるかが大事になってきます。
後になって苦しまないために、最初は多少面倒でも、柔軟でわかりやすい、変化に耐えうる設計を心がけたいものです。
https://developer.aiming-inc.com/programming/design-battle-program/

オブジェクト指向を初めて勉強していたころ、クラスの継承は(個人的には)理解しやすかったですが、
インターフェースはいまいち利点が分かりづらい印象がありました。
そこで、デザインパターンのひとつ「Observerパターン」を取り上げて、
継承とインターフェースの使用法を見ていきます。Observerパターンは先ほどの一斉攻撃にも近いパターンになります。
https://qiita.com/kcpoipoi/items/e6c495e7a481e02847d8

681 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:00:28.63 ID:arzVgFZ3.net]
>>661
うん、新キャラ新技はカプセル化の継承だね
そんな表面層の部分を指して継承だ継承だ騒いでたの?



682 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:14:12.14 ID:arzVgFZ3.net]
あ、継承をゴミと言ってるのであって、インターフェースやトレイトは存分に使うべきものだから
勘違いしてもらったら困るぞ

683 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:21:52.28 ID:arzVgFZ3.net]
新キャラ新技くらいならカプセル化の継承でもなくてインターフェースをただ実装するだけで済ませてるか>>661
自分の作品見てたら画面追加は継承を使ってたわ

684 名前:デフォルトの名無しさん [2024/01/19(金) 14:23:53.15 ID:2Txscu7W.net]
>>663
継承自体はただの機能なので良いも悪いもない。
継承を理解していない人、不適切な使い方をしている人が存在するだけ。
どんな使い方をしても不具合が出ない機能なんて無い。

685 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:33:48.49 ID:arzVgFZ3.net]
>>665
大いに同意
継承は基底クラスがよほど煩雑にならない程度なら使ってもよい
ただ煩雑に組む輩等が多すぎたから継承を実装しないプログラム言語が生まれた
それだけなんだ

686 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:51:07.26 ID:2+AapLKd.net]
お勉強発表会はたのちいね

687 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:54:55.85 ID:arzVgFZ3.net]
>>667
むちゃくちゃ楽しい

688 名前:デフォルトの名無しさん [2024/01/19(金) 14:59:58.61 ID:2Txscu7W.net]
>>667
と暇人が申しております

689 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 17:41:08.81 ID:wxu2zgr7.net]
>>665
継承は設計を初期の段階で固める「早すぎる最適化」だから避けるべき。

やるなら継承関係の実装だけ切り出したadapter用のholder templateを用意したほうがまだマシ。

690 名前:デフォルトの名無しさん [2024/01/19(金) 18:11:39.79 ID:Hi84WC+x.net]
>>670
それは将来の変更可能性が低くない場合。
実際変更可能性が低いケースなんかいくらでもあり、その場合避ける理由にならない。

691 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:21:46.43 ID:9QtN1Vnk.net]
>>670
つまりinterfaceで十分ってことだな



692 名前:デフォルトの名無しさん [2024/01/19(金) 19:20:32.13 ID:iTaoyDeQ.net]
    _w           、...   ョ  ┌┐     ィ     ′  
    ̄+     ヘe、   j「.  .¬气¬''..~''~    ,.ルw、.ーu、す     
  ^^"~~l|~~^'''       ォ′   .,. l| ┐      .√ j|  _~+,.、. 
 .   .,/.      ょ_/    、j「 {  `¬..   〃 .、l|    、  
 ..  ~^.               ~  `          ~^      
 .  ;.                 ョ         __      
 .  j|       ~ラ¬¬+     |.        ̄.   ̄..    
 .  オ                 |..   ォ        ,、  
    k、 ,j〃.   L_.  _ェ    ~'――'~.   ^^^^^^ ̄´    
      ̄′       ̄ ̄                        

693 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:28:18.36 ID:r1TqRAYd.net]
一人で書き込みお疲れ様。

694 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:43:32.99 ID:SK8TlxrV.net]
>>671
熟練の設計者が慣れた問題領域やるんでもなければ無理だろ。

695 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:52:40.51 ID:SK8TlxrV.net]
>>672
だいたいインターフェイスで十分だわ。もっと機能強化したのが出てこないかね。

c++のコンセプトをインターフェイスに使いたいところ。

696 名前:デフォルトの名無しさん [2024/01/19(金) 20:09:04.02 ID:XrKZZkrv.net]
>>675
超大型建築より普通の一軒家の方が数、つまりニーズが圧倒的に多い
アプリは常にスケールする可能性がある、というのは理論的な話で実際スケールするアプリなんかほんの一握り。結局作ってそのままなんていくらでもある。変更が無いケースで熟練どうたらとか全く無関係。

697 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 20:34:16.00 ID:SK8TlxrV.net]
>>677
普通の一軒家とか、問題領域の知識が無くて失敗する事例の宝庫だろ。あとになって大抵の人間は「コンセントが足りない」と言うしな。

変更しないままなのは「変更しなくていい」じゃなくて「変更は不可能に近いから不便・危険でも諦める」だからな。

698 名前:デフォルトの名無しさん [2024/01/19(金) 20:49:36.09 ID:XrKZZkrv.net]
結局継承で都合が悪いケースなんて極一部というのが現実。
ヤグニの原則に反して嬉しいのは客の金でただで勉強・実験したいエンジニアだけ。

699 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 21:05:02.67 ID:SK8TlxrV.net]
>>679
まあ、いいんじゃない?
初期に設計したクソ仕様を客に「大したことはないから変更しない」と放置できるなら。

700 名前:デフォルトの名無しさん [2024/01/19(金) 21:27:25.19 ID:K5SD+kWD.net]
>>672
インターフェースだけだとコピペ継承が乱立するんだよ
そこでインターフェースのデフォルト実装等クラス継承と同じ実装継承を使うことになる

でもクラス継承はとにかく悪だと思ってる人は実装継承のメリットとデメリットを正しく理解できてないから結局同じ問題を引き起こすだけ

701 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:05:02.77 ID:yy9dhl7c.net]
>>681
インターフェイスと実装は永続性や影響範囲が違うんだから、密に関連づけるのは悪設計。

継承はさらに基底と派生の関係性もガチガチに固めるから、根元になる基底がクソ設計だとどうしようもない。



702 名前:デフォルトの名無しさん [2024/01/19(金) 22:20:13.70 ID:XrKZZkrv.net]
>>680
5chで勝手にクソ仕様認定してるクソレスを気にする人はいないw

703 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:21:58.98 ID:sTJV5iPD.net]
顧客に設計なんか分からないから突き進むだろ

704 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:22:17.78 ID:EWU8L+d2.net]
>>681
その点ではRustのtraitが最も良いね
Rustのtraitでのデフォルト実装は各型のメンバーや固有メソッドを呼び出せないので実装継承の問題が起きない
そのtrait(とそのtrait制約)のメソッドしか呼び出せないから移譲と合成の形になる

705 名前:デフォルトの名無しさん [2024/01/19(金) 22:54:39.62 ID:2Txscu7W.net]
>>685
こういう感じで言語によって前提が違う場合があるから抽象的な議論の有効性はかなり微妙

706 名前:デフォルトの名無しさん [2024/01/19(金) 23:13:57.01 ID:k/iqMx14.net]
>>685
はい残念
Traitのデフォルト実装も実装継承だからクラス継承のデメリットの大半を”継承”してる
メリットとデメリットを理解して使い分けられるようにならないうちは結局のところ何使っても同じ

707 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:19:40.83 ID:EWU8L+d2.net]
>>687
いいえ
説明したようにRustのtraitに実装継承はありません

708 名前:デフォルトの名無しさん [2024/01/19(金) 23:28:42.74 ID:2Txscu7W.net]
何で堂々と嘘つく?
嘘言った人謝ってください

709 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:32:10.71 ID:EWU8L+d2.net]
>>687はコードを書いたことがないのか
あるいは意図的に嘘ついているのか

710 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:44:00.48 ID:jOoBVxG+.net]
インターフェースは継承と違ってインターフェースもとのプロパティをオーバーロードして定義し直すから、継承のわけわからん隠蔽されてないプロパティでごっちゃごちゃにならないのがいい(java民)

711 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 02:15:01.44 ID:pJVjc8l1.net]
オブシコくんどこいったん?
インターフェイスは人間が理解しやすくするためのものだと力説しなよ



712 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 02:28:42.63 ID:9SMgv4xr.net]
疑似マルチスレッド君も反応ないんやけど、こないならQiita更新してくれよー

713 名前:デフォルトの名無しさん [2024/01/20(土) 03:07:14.53 ID:ppE6WkEJ.net]
>>685 >>687
これはデフォルト実装が同じtrait内メソッドと結合することまで実装継承と言うか話なんじゃないかな
実装継承の定義をtraitに拡張する時に生じた無理が意味の拡散を産んで無意味な争いを招いただけというかなんというか

714 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 03:09:43.76 ID:ppE6WkEJ.net]
書き途中で「書き込む」ボタンを押しちゃった。てへ

>>685 >>687
これはデフォルト実装が同じtrait内のメソッドと結合することまで実装継承と言うかという話なんじゃないか
実装継承の定義をtraitへ無理やり拡張する時に生じた意味の拡散ですれ違ってるだけに見える

715 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 05:41:23.80 ID:OqC8H1ED.net]
>>694
そもそもはある具体型A(もしくはクラスA以下同様)の実装が別の具体型Bの実装として継承されることを指すよね

一方でRustのトレイトのデフォルト実装では具体型の実装は全く出て来なくて具体型とは切り離されているよね
したがってある具体型の実装が別の具体型の実装として継承されることは起きないため明確かな

716 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 09:43:00.30 ID:tKcafxZR.net]
継承用の基底クラスを提供するのはライブラリやフレームワークで、フロント屋はその提供された基底クラスを継承して使う
フロント屋は用意された基底クラスを使う以外はインターフェースやシールドクラスで継承もどきをやるだけで事足りてる

717 名前:デフォルトの名無しさん [2024/01/20(土) 10:27:27.05 ID:mMSNo4e1.net]
staticおじさんが結局正しかったね。

718 名前:デフォルトの名無しさん [2024/01/20(土) 10:38:22.56 ID:WbtYcj4O.net]
うん、知らんけど

719 名前:デフォルトの名無しさん [2024/01/20(土) 11:13:01.53 ID:ppE6WkEJ.net]
>>696
いま思い出したことなんだけど。具体型の継承はできないと思うけど、traitをtraitに実装するということが出来る
traitAにデフォルト実装を書いて、traitBに実装すると、traitBを実装した型はtraitAのデフォルト実装を引き継ぐ

720 名前:デフォルトの名無しさん [2024/01/20(土) 11:29:56.55 ID:ppE6WkEJ.net]
trait TraitA {
fn method_a(&self);
}

trait TraitB {
fn method_b(&self) {
println!("Method B called");
}
}

// TraitBをTraitAを実装するすべての型に対して実装する
impl<T: TraitA> TraitB for T {}

struct MyStruct;

// MyStructにTraitAを実装する
impl TraitA for MyStruct {
fn method_a(&self) {
println!("Method A called");
}
}

fn main() {
let my_struct = MyStruct;
my_struct.method_a(); // TraitAのメソッド
my_struct.method_b(); // TraitBのメソッド(TraitAを実装するため自動的に利用可能)
}

721 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 11:37:18.66 ID:ppE6WkEJ.net]
Rustに多重継承は存在しないという場合、意味的にはフィールドを継承しないことと、
スーパートレイトを使用すれば、トレイトのデフォルト実装を別のトレイトに暗黙では引き継がないことを指すんじゃないかな
かな、というのは、まあここら辺は人によって受け取り方が違うから議論しても仕方のないことなんだけど



722 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:00:42.41 ID:+uoYRouQ.net]
>>700 >>701
それは実装継承ではないよ
なぜならtraitは具体型ではなく、さらにRustの場合はデフォルト実装から具体型の固有フィールド(メンバ変数)や固有メソッドに一切アクセスができない
つまり実装継承における問題が発生しない

723 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:26:39.60 ID:pJVjc8l1.net]
実装継承ではないのか、実装継承における問題が発生しないだけなのか、どっちなんだい?

724 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:38:21.50 ID:+uoYRouQ.net]
>>704
両方
まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない

次に>>701が例示している件に対して
>// TraitBをTraitAを実装するすべての型に対して実装する
>impl<T: TraitA> TraitB for T {}
これは実装継承ではないだけでなく、類似しているように見えても、実装継承の問題と同じことは発生しない

725 名前:デフォルトの名無しさん [2024/01/20(土) 12:39:32.26 ID:BTn7foKi.net]
実装継承ができないと不便じゃない?
リソース管理を一元化したくなったりとかしないの?

726 名前:デフォルトの名無しさん [2024/01/20(土) 12:40:39.50 ID:BTn7foKi.net]
Rustにも実装継承はあるんじゃないかな

727 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:53:48.29 ID:UT8XEnd7.net]
>>706
Rustでは異なる型の間でコードを共有一元化するためにトレイト制約を使ってジェネリックにコードを書ける
そのコードは特定の型に対して一切書かれていないため実装継承とならないだけでなく実装継承と類似の問題も発生しない

>>707
Rustに実装継承はない

728 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:58:32.97 ID:S3QqAIL4.net]
ジェネリックで書いてコンパイラに整合性を取らせる
うむ、完璧だ

729 名前:デフォルトの名無しさん [2024/01/20(土) 13:04:04.37 ID:BTn7foKi.net]
Structの合成があるじゃないか
実装継承の問題が発生しないのはわかったけど
実装継承の便利さが失われてたら元も子もないじゃん
リソース管理を一元化したくなったりとかしないの?

730 名前:デフォルトの名無しさん [2024/01/20(土) 13:08:56.68 ID:BTn7foKi.net]
オブシコは機能とデータを一緒に管理することだけど
それができないRustは不便なのでRustは滅びます

731 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:16:14.55 ID:UT8XEnd7.net]
>>709
Rustはそのためにトレイト制約がありコンパイラは整合性を必ず確認できる

>>710
Rustではトレイト制約を伴うジェネリックコードにより異なる型間でも安全にコードを共有化できる

>>711
Rustでも型(データ)に対してメソッド(機能)を実装できる



732 名前:デフォルトの名無しさん [2024/01/20(土) 13:18:48.25 ID:BTn7foKi.net]
>>712
データにメソッドを生やして継承もできるん?

733 名前:デフォルトの名無しさん [2024/01/20(土) 13:20:04.95 ID:BTn7foKi.net]
オブシコにおいて実装の継承は正義です
Rustに正義はあるのかを問うています

734 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:34:19.14 ID:UT8XEnd7.net]
>>713
やりたいことの本質は異なる型の間でのコードの共有一元化でしょう
Rustではトレイト制約を用いて特定の型に依存しない形でコードの共有一元化ができます

>>714
オブジェクト指向に実装の継承は必要ありません

735 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:35:44.30 ID:JKkFvgES.net]
誰かさ、適当な文法で単一のC言語ソースファイルを出力するトランスレータ作ってくんない?
仮想関数テーブルとかRTTIとかそれならなんとかなるだろ?

736 名前:デフォルトの名無しさん [2024/01/20(土) 13:36:27.03 ID:BTn7foKi.net]
じゃあオブシコはオワコンかも知れませんね

737 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:44:22.78 ID:tKcafxZR.net]
さすがRust有識者だ😳
トレイトへの理解度が高い

738 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 14:51:20.08 ID:pJVjc8l1.net]
継承はすべてのオブジェクトに共通のデータと手続きを強制するからな
途中で一部しか共通してないオブジェクトの存在が判明したら、
クラスツリーをがっつり再設計しないといけなくなる
こんなものをオブシコに入れちゃったやつの罪は深い

739 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 15:05:28.23 ID:UvH2GUkc.net]
>機能とデータを一緒に
カリー化された関数を部分適用すればいい
じゃあ何故カリー化と部分適用はオワコンではないのか
無意味だからだ
意味を見出せないから終わったという判断もできない

740 名前:デフォルトの名無しさん [2024/01/20(土) 15:06:09.94 ID:ppE6WkEJ.net]
能力の高いプログラマーしかプロジェクトに参加しないこと前提ならば継承の副作用は目立たないけど
Javaのような大規模開発向けの言語に継承を入れたのは間違ってたなあ
Javaの仕様を考えた時は、親クラスは能力の高いエンジニアが書くという前提だったんだろうね

741 名前:デフォルトの名無しさん [2024/01/20(土) 15:25:38.27 ID:WbtYcj4O.net]
>>719
再設計は不要
はい光速の論破



742 名前:デフォルトの名無しさん [2024/01/20(土) 15:56:26.55 ID:BTn7foKi.net]
大規模開発向けにはRustを採用すべきだ

743 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 16:02:56.24 ID:JKkFvgES.net]
アスペクト指向との統一解ってことなのかな
ろくに勉強してないんだけど

744 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 16:28:12.97 ID:JKkFvgES.net]
もともとアスペクト指向の提唱者たちが言い始めたことだからね
どんなに上手くクラスツリーを設計しても何らかのコードを横断的に埋め込みたくなるニーズがなくならないって

745 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 17:05:53.11 ID:pJVjc8l1.net]
>>722
つまんねーのに無理すんな

746 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:20:19.94 ID:ppE6WkEJ.net]
Rustは学習コストが重すぎるからねえ
スタックフレームとか、ライフタイムとか、そこら辺の知識は普通のPGには余計だろう
Rustのスクリプト言語版が出たら流行るかなー

747 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 00:07:59.00 ID:bASnz3O7.net]
RustじゃなくてもGoくらいでちょうどいい

748 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 08:12:46.78 ID:yW5L0zfB.net]
>>723
お前Rustのことわかってない上にプログラムできないじゃん
つかとっとと埋めてしまえよこんなスレタイだけでキチガイがわくスレ
真面目に語りたい人ならマ板でやる

749 名前:デフォルトの名無しさん [2024/01/21(日) 11:29:38.85 ID:oaoSrz7+.net]
>>729
俺のことは関係ない、俺は世の中のことを言ってる
そんなことも読み取れない認知能力チンパンジーの分際で
俺様に文句言うなんて100年早えわ
お前はRustだけ頑張ってろアホンダラ
俺は日本の未来を考えとく

750 名前:デフォルトの名無しさん [2024/01/21(日) 11:31:12.83 ID:oaoSrz7+.net]
Rustの未来も俺が決める
Rustはもっとオブシコ頑張ったが良い
Rustは学習コストが高すぎると言われている
これはオブシコで解決できるはずだ

751 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:06:59.82 ID:JVSLhHIM.net]
Rustってそんなに学習コストが高いか?
C++11以降のがトチ狂ってると思うんだけど



752 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:40:55.67 ID:FqjwRk5K.net]
スマポより生ポのが気持ちいい
だからわたしは生ポインタ

753 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:09:59.21 ID:LGH4j5ie.net]
>>705
>まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない
これは間違い
実装継承とは文字通り「実装」が「継承」されること <== この意味を理解できるかどうかが重要
実装継承における問題というのはこれも文字通り「実装」が「継承」されることによって起きる
継承元が具体型扱いかどうかは関係ない

>>704
>実装継承ではないのか、実装継承における問題が発生しないだけなのか、どっちなんだい?
Rustのトレイトデフォルト実装は実装継承の一種でもあるし、実装継承ににおける問題も発生する
C++等一部の言語で発生する実装継承における問題の一つが発生しにくいようになってるだけ

754 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 21:44:12.50 ID:r/H1GIpX.net]
>>734
Rustに実装継承はない
Rustのトレイトのデフォルト実装では、いわゆるメンバ変数やメンバ関数にアクセスできない
したがってRustでは実装継承と同様の問題は発生しない

755 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 00:42:25.64 ID:CM1Sn+EA.net]
トレイトはインターフェースとも継承とも違う新しい考え
そこを誤解してはならない

756 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 02:11:51.31 ID:d/h6/f8z.net]
>>735
実装は継承してるけれども実装継承ではない?
「募ってはいるが募集はしていない」より酷くね?

757 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 02:24:04.21 ID:WDLNMI9J.net]
>>737
Rustに実装継承はない
Rustのトレイトのデフォルト実装からは、いわゆるメンバ変数やメンバ関数にアクセスできない
メンバ変数やメンバ関数にアクセスできる部分はトレイトのデフォルト実装から分離されている
その部分はトレイトを実装するときに各型で個別に実装する
したがってRustでは実装継承はなく問題も発生しない

758 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 12:41:11.25 ID:SpT9Xs4x.net]
実装継承は派生側に開放する部分と基底側で閉鎖する部分の管理が難しいから、やはり「早すぎる最適化」になりがち。

開放/閉鎖の原則を守るためには基底側と派生側のインターフェイスとプロトコルを厳密に管理する必要があるけど、そこまでサポートしているオブジェクト指向言語てあったっけ?

759 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 12:43:36.23 ID:SpT9Xs4x.net]
>>736
トレイトてこのこと?
まずは認識合わせをしないとな。
ja.m.wikipedia.org/wiki/%E3%83%88%E3%83%AC%E3%82%A4%E3%83%88

760 名前:デフォルトの名無しさん [2024/01/22(月) 15:21:25.58 ID:eIK4O4RB.net]
最新鋭のRust言語と同等の最小コンパイル単位でよければもっとクリーンなオブジェクト指向言語があり得たって話で、
残念なことに30年前のハードウェアでやんなきゃいけなかった

仮想関数の方がデフォであるようなC++
文字列じゃなくて関数ポインタの配列のインデックスであるようなObjective-C
ガベコレの無いJava

こだわる人は今からでも作ればいい
ソースを一気に引数に取って単一のC言語のソースファイルを出力するトランスレータを作ればいい

761 名前:デフォルトの名無しさん [2024/01/23(火) 22:17:38.84 ID:3AfREKFo.net]
オブシコプログラムの難しいところってオブジェクト同士の連携が
オブジェクトに書かれるところだと思うんだよ
全体のフローがよくわからなくなる

オブジェクトには自律的に他のオブジェクトと連携することをやらなくさせて
コーディネートする処理を関数型や手続き型で書くのがいんじゃないかね

昔はオブジェクトが知性を持ってるかのように書くのが良いオブシコだと言われてたけど
スパゲティ製造工場にしかならんかった



762 名前:デフォルトの名無しさん mailto:sage [2024/01/23(火) 22:19:52.82 ID:lLzKFCPg.net]
ObjectiveCの[]←こんな奴でメッセージ送ると幸せになれるよ

763 名前:デフォルトの名無しさん [2024/01/23(火) 22:19:59.28 ID:3AfREKFo.net]
フロー制御をオブシコでやりだしたら危険信号、これがぼくの経験から導き出された結論

764 名前:デフォルトの名無しさん [2024/01/23(火) 22:23:03.86 ID:PPNQFWhj.net]
おしりがおまんこになっちゃうのがオブジェクト指向

765 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:11:12.99 ID:X/KtyNlm.net]
>>738
基本的な実装継承の問題を理解してないから話噛み合わないね
メンバ変数・メンバ関数の話はFragile Base Class Problem(FBCP)について言及してるつもりなんだろうけど
メンバ変数やメンバ関数にアクセスできるかどうかはFBCPの根本的な発生条件とは関係ないよ
継承元のメソッド実装がオーバーライドされた継承先のメソッドを呼び出せるならFBCPは発生する
当たり前だけどFBCPは実装継承の問題のうちの一つであってすべてではないからね

ちなみにトレイトのデフォルト実装も別のトレイトのメソッド経由でメンバ変数やメンバ関数にアクセスできる
クラス継承でベースクラスのメソッドがオーバーライドされたメソッド経由でメンバ変数やメンバ関数にアクセスするのと同じ

766 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:14:41.63 ID:1XOdKji/.net]
>>744
イベントループをブラックボックス化したのは
「次のイベント」の種類ごとに分岐する際にifならbool値、switchなら整数のようなものしか
使えない言語の問題をライブラリでなんとかしようとした結果

767 名前: []
[ここ壊れてます]

768 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:16:21.62 ID:X/KtyNlm.net]
ついでに言っておくとRustのDeref/DerefMutも実装継承の一種なんだけどこっちはFBCPは発生しない

769 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 02:14:43.30 ID:fgSFyL+S.net]
>>746
Rustには基底クラスが存在しないため
FBCPも含めて実装継承に関する問題は発生しないよ

770 名前:デフォルトの名無しさん [2024/01/24(水) 12:30:29.92 ID:JqKAHMdE.net]
影響力ゼロの人がどれだけオワコンオワコン繰り返しても全く影響無い。

771 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 13:30:09.74 ID:1XOdKji/.net]
それなら人の力ではなく天変地異の影響を主に想定したほうがいい



772 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 16:22:26.10 ID:XaeHtqc/.net]
妻がダイエットのために乗馬を始めたんだけど一ヶ月で10キロ痩せたよ
馬がね

773 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 12:58:37.96 ID:mbfTQf92.net]
has a関係は被害者と加害者が別人で、責任の連鎖がある
鎖を切って悪い影響を0にする変更はしやすい
is aは影響力を不変にする
責任の連鎖をなくして自分自身の責任とする

774 名前:デフォルトの名無しさん [2024/01/27(土) 19:38:08.87 ID:w8m8MtP7.net]
241 伝説の名無しさん sage 2020/10/13(火) 15:00:15.08
「胸がドキドキする」というのはいわば生理現象であり、抑えることはほぼ不可能だ。
月末のクレジットカードの支払額に、想像以上に可愛かったデリヘル嬢のおマンコにと胸を
突かれるのは悪いことではない。

翻って「チンポがシコシコする」というのは能動的な衝動であり、極めて不埒な責任転嫁である。
シコシコはチンポが勝手にやったことであり、決してチンポの持ち主の意向ではないという、どこぞの
政治家の「秘書が勝手にやったこと」のような言い逃れがしばしば聞かれ、あまつさえそれがまかり
通ってきたことは周知の事実である。

チンポからシコシコを奪取し、各人の掌に戻る日は果たしてやってくるのだろうか……。

775 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 22:55:15.08 ID:QdyqwSfC.net]
責任という概念自体に違和感を表明する者がよくいるが
馬クラスと動物クラスには責任の擦り合いや利害対立がなさそうなところが共感されるんじゃないか

776 名前:デフォルトの名無しさん [2024/01/27(土) 22:55:50.75 ID:BuZgAgXz.net]
令和になっても継承批判は聞きたくないね
手垢ついてるとかいうレベルじゃないぞ
OOPには価値がない
OOPのメリットとやらは無意味だ
というふうな大きい批判が聞きたい

777 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 22:56:54.43 ID:BuZgAgXz.net]
あ、>>756は別に特定のレスにむけたレスじゃなくて
ざっくりとした意見ね

778 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 23:08:28.46 ID:9xE1RMNT.net]
オブジェクト指向は継承という一つの要素が終わっただけだしなあ
未だ現役すぎる

779 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 00:58:58.58 ID:stV8Z8Wq.net]
何らかの違和感の解消がオブジェクト指向のメリットだとするなら
元から違和感などなかった奴にとって無価値である

780 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 03:30:55.01 ID:z8UBzo+x.net]
5chになにを期待してんだかな

781 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:48:42.54 ID:EVWA08mD.net]
>>756
概念的にはインターフェイスとコンポジションに発展的解消したから、オブジェクト指向はオワコンだろ。



782 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:56:56.93 ID:z8UBzo+x.net]
インターフェイスもコンポジションも人間が簡易に理解するためのものだろ
なめてんのか

783 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 15:18:10.03 ID:gBYyPSdU.net]
>>761
それオブジェクトの継承が別の概念に変わっただけでカプセル化とポリモーフィズムは健在じゃん…
もっとおもしろいこと言ってくれ…

784 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 16:44:30.08 ID:nAHL+G+L.net]
オブジェクト指向プログラミングのコアコンセプトは「データと操作をまとめて一つの型として扱うこと」これだけ

オブジェクト指向プログラミングではなくオブジェクト指向言語といった場合は
ブーチの定義が普及したせいでカプセル化、ポリモーフィズム(基本はサブタイプポリモーフィズム)、継承の3点セットを基準にすることが多いが
言語機能としての継承はオブジェクト指向プログラミングに必須のものではないし
ポリモーフィズムもオブジェクト指向言語特有のものではないので両方ともコアコンセプトではない

785 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 17:24:51.96 ID:EVWA08mD.net]
>>763
オブジェクトのカプセル化はインターフェイスとデータを密結合するけど、インターフェイスによるカプセル化はデータと密結合しない。
オブジェクトのポリモーフィズムはオブジェクト同士が(継承関係とかで)密結合するけど、インターフェイスは継承関係とかの密接な関係を結ぶこと無しに(理想的には)ダックタイピングで多態できる。

まあ、そこまでのダックタイピングをサポートするインターフェイスとか知らんけど。
c++のコンセプトがそのまま型になったらいいんだけどなぁ。

786 名前:デフォルトの名無しさん [2024/01/28(日) 17:54:19.13 ID:uVCrPT47.net]
オブジェクトという言葉と同じでカプセル化という言葉は人によって意味が違うので困る

787 名前:デフォルトの名無しさん [2024/01/28(日) 19:52:00.86 ID:cMZBK/kO.net]
70 名無しヒーリング 2021/04/26(月) 09:45:57.57 ID:jZDy/LpM
先生、実際にシコシコするのは

788 名前:`ンポでなく俺の右手だと思います。

✖チンポがシコシコする
○ 俺の右手がチンポをシコシコする

71 名無しヒーリング 2021/04/26(月) 09:56:38.18 ID:jZDy/LpM
あと、「胸がドキドキする」と「チンポをシコシコする」は比較対象になりません。
「胸がドキドキする」は「チンポがヒリヒリする」のように状態・感覚を擬音語で現しているのであって、
「チンポをシコシコする」は「胸をモミモミする」の様に人間や動物が対象に対して何かを行う行為の表現だと思います。
[]
[ここ壊れてます]

789 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 09:05:57.54 ID:MhZcn14S.net]
くだらない比喩でいつまやってんだ?

790 名前:デフォルトの名無しさん [2024/01/29(月) 15:05:39.33 ID:oNy2vKqL.net]
>>767
だからシコシコは男性器を擦る擬音で勃起のことではない
君は女性かな?
それともシコシコが勃起を表す地方が日本のどこかにあるのか
どっちにしろいくらがんばってもメジャーなコピペになれないのは大多数の人に表現がピンとこないのが原因だと思うよ

791 名前:デフォルトの名無しさん [2024/02/01(木) 21:11:10.96 ID:RS6y7MOu.net]
PHPでアブストラクトやりまくってる
これやってればいい
ここまで来るのに2年かかったわ



792 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 19:38:06.66 ID:/UMw8Y/Y.net]
再利用しようにもパーツに分解できない大きなプログラムのスパゲッティ化を防ぐために
ひと塊のルーチンを“関数”として入り口出口を決めましょうがカリー化まで続く一方の流れで
その塊をどうやって集団として機能に固めたり制御するのかを考えるのがオブジェクト指向
そういう上位レベルでの制御やメンテナンスの汎用的な考えから出てきた概念を
小さいレベルでのプログラムAの脚を車輪に付け替えるにはとか
プログラムAの塊を継承してプログラムBにするのが“オブジェクト指向”なんだよ!って
鬼子でしかないC++最初に来ちゃったせいで現代に至るまで
あれがオブジェクト指向だと思い込んでるおじいちゃんがですね…

793 名前:デフォルトの名無しさん [2024/02/04(日) 20:30:59.20 ID:owhn6I10.net]
おじいちゃん構文丸出しでおじいちゃん批判ww
しかも中身が間違いだらけとかwww

794 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 21:58:45.40 ID:nqsMiwRK.net]
インターフェース楽しいな~
継承無しでコーディングできる~

795 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 23:05:40.25 ID:iyTJzl7x.net]
塊って言いたいだけ

796 名前:デフォルトの名無しさん [2024/02/04(日) 23:11:46.13 ID:SuDI4pWX.net]
>ひと塊のルーチンを“関数”として入り口出口を決めましょう
これ現役引退してるような世代の方ですよね?

797 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 10:19:20.77 ID:z455Qu8w.net]
役割で固めるってのを忘れてる

798 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 11:38:56.86 ID:iuJxPrpx.net]
横断的関心事の意味が分からんと常々思っていたけど
役割で固めるのをやめるという意味なのかね
固めようと思ったことがない奴にとっては無意味なことだ

799 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 12:31:22.93 ID:29NJAnme.net]
横断的にシコシコする役割の塊がオブシコである

800 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 17:30:42.79 ID:UM+1T8m6.net]
オブジェクト指向はモジュラリティを高めるために考え出されたものだが「どの抽象化階層のモジュラリティを高めるものなのか」という大前提を理解していないと何を見てもオブジェクト指向だと感じるようになる

801 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 23:45:04.18 ID:29NJAnme.net]
そりゃオブシコするぐらいだからモジャラリティは高いだろ



802 名前:デフォルトの名無しさん [2024/02/07(水) 14:59:43.29 ID:LJRNIYaK.net]
1. 簡単な言葉を使う
頭が良い人は、複雑なことや専門知識も「簡単な言葉」で説明することができます。
この能力は、深い理解があるからできること。相手が理解しやすいように情報を整理して伝えることは思いやりでもあります。
https://news.yahoo.co.jp/expert/articles/9bb7a62121796847a941127e3d5040008fedd464

クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない!

class チンポ extends クリントン{
     super.不適切な関係;
}

クリントンの再定義、クリントンの拡張された人格ということだ!

803 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 12:31:45.94 ID:1UgkqCq+.net]
世界一オブジェクト指向に忠実なメインクラスできたで

class Main():
def do():
pass

m=Main()
m.do()

804 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 15:11:48.80 ID:g/oXQBQp.net]
オブジェクト指向はオワコン
継承はよくない文化

805 名前:デフォルトの名無しさん [2024/02/13(火) 17:38:57.37 ID:TeIoV+iR.net]
Template Methodパターン便利ですよ

806 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 18:33:53.66 ID:vbRTXFPD.net]
has a関係は抽象度の低いクラスを参照することはマナー違反ではない
is a関係は自分よりも抽象度低いクラスを継承したらマナー違反だよな

807 名前:デフォルトの名無しさん [2024/02/13(火) 19:00:08.50 ID:mLNp/E4P.net]
継承を理解してれば問題無い
理解していないけどら問題無く使える道具は存在しない
つまり須く低レベルということ

808 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:17:02.49 ID:022XTqy3.net]
>>786
俺は使えるから問題ないんだが部下や上司に無能がいると困る
全ての言語で機能ごと消去するべき

809 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:19:14.84 ID:cHpLMfgk.net]
C/C++でいいところを無能のためにRustでわざわざメモリ管理を強制的に縛るのと一緒やね

810 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:54:20.90 ID:XGO25OBO.net]
オブジェクト指向って>>1みたいな頭の悪い人でもプログラミングできるようにするためにあるんだよ
難しいのは>>1みたいな馬鹿が>>1みたいな馬鹿のためにオブジェクト指向に則ってプログラミングする行為であり、>>1みたいな馬鹿がオブジェクト指向で設計されたコードを扱うのは難しくない
オブジェクト指向がオワコンな訳が無い

811 名前:デフォルトの名無しさん [2024/02/13(火) 20:27:17.94 ID:mLNp/E4P.net]
>>787
無能がいる限り何の解決にもなってない
リスクが下がったと勘違いしてるだけ



812 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 20:32:56.11 ID:VRA/nuAd.net]
>>788
Rustを使えない無能がC/C++を使って穴を生み出し続けている現実を見ようぜ

813 名前:デフォルトの名無しさん [2024/02/13(火) 21:20:27.36 ID:mLNp/E4P.net]
>>791
その無能がrust使ったところでろくなものは生み出せない
包丁で怪我する人がいるから包丁は悪、と言ってるのと同じ。
別に主張するのは自由だがそれで包丁が消滅することはない

814 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 03:16:18.02 ID:7f34VUqx.net]
頭の悪い人がプログラミングできるためってたまに見るけど疑わしいわ
頭の悪い人がちゃんと設計して、多態性を活用してるのを見たことがない
ただメモリの自動解放とかライブラリに頼ってるだけで、
そういう利便性はオブジェクト指向とあんまり関係なくね?

815 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 06:53:24.91 ID:1rro2+lE.net]
知らないのか?今は転職ブームのせいで文系出身の頭悪いプログラマが大量発生してる
そいつらのせいで言語が変わらなくては生けない時代になった

816 名前:デフォルトの名無しさん [2024/02/14(水) 08:07:28.98 ID:M2AyybwD.net]
言語が変わっても頭悪かったらどうにもならないよw

817 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 08:40:34.28 ID:y6T/tEC4.net]
>>795
多少はマシになるやろ

818 名前:デフォルトの名無しさん [2024/02/14(水) 10:07:41.88 ID:M2AyybwD.net]
>>796
無能じゃコンパイル通せないから動かせない
つまり逆に悪くなってる

819 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 10:15:13.33 ID:Z6/Yikm0.net]
>>797
無能が進捗管理で炙り出されるから全然マシ

820 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 10:46:51.26 ID:4THDuETy.net]
>>797
本番段階でバグが出るよりマシ

821 名前:デフォルトの名無しさん [2024/02/14(水) 11:08:35.63 ID:t8DY/Tt9.net]
コンパイル通すのが難しいと無能はコンパイル通ったからOKという感覚になるので一長一短

何事も良い面悪い面があるのに無能は片面だけしか見ない



822 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 11:22:35.02 ID:1xW2DpZI.net]
>>800
最低限コンパイラの通れば多少見れるコードになってるので、有能がコードをレビューしやすい

823 名前:デフォルトの名無しさん [2024/02/14(水) 12:27:44.94 ID:M2AyybwD.net]
>>798
それは言語の役割じゃない
全然マシでもなんでもなくて草

824 名前:デフォルトの名無しさん [2024/02/14(水) 12:31:09.06 ID:M2AyybwD.net]
>>799
どっちでも一緒
納品できないのに「本番でバグが出るよりは良い」と言い張るのはアタオカ

825 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:02:59.82 ID:qQWVhIbb.net]
現実は納期というものがあるから効率重視でCC++使って適当に作れたほうがありがたいんだよなあ
バグなんてある程度は知らんぷりしていい
わざわざRustを使って完璧を求めるのは無駄

826 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:03:09.87 ID:OE64F1T2.net]
長所も短所も両方知っている知識人を理想とするのは
商売とはあまり関係ない理想だ
商売を重視しないのであれば長所も短所もわりとどうでもいい

827 名前:デフォルトの名無しさん [2024/02/14(水) 13:18:52.38 ID:U1pcKTg+.net]
>>801
コンパイルを通しやすいかどうかとコードが見やすくなるかどうかに正の相関関係は無い

加えてコンパイルを通しにくくなればなるほどコンパイルを通すための手助けが当然必要になる

「身の丈に合った言語を」 by 萩豚

828 名前:デフォルトの名無しさん [2024/02/14(水) 13:20:42.45 ID:eD+V22zq.net]
Rust習得できない馬鹿が書いたC++コードの保守、やりたくなさすぎる

829 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:57:57.05 ID:Z6/Yikm0.net]
>>803
本番でバグとか酷い炎上案件。
クライアントにとっては悪夢ですなぁ。
納期遅れのほうがまだ見える分マシ。

830 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:59:03.81 ID:AmCG1+WQ.net]
>>806
コンパイルできる人材を確保できるかどうかは中途採用ガチャしまくればいける
コンパイルできねえやつは捨てる、それだけだ

831 名前:デフォルトの名無しさん [2024/02/14(水) 14:56:27.36 ID:8lIAACZZ.net]
>>807
だれがあなたを頼るの?



832 名前:デフォルトの名無しさん [2024/02/14(水) 15:03:18.56 ID:8lIAACZZ.net]
>>808
都合良く「納品はできる」妄想を前提として話を進められるならどうとでもなる
結局無能でもどうにかなるなんて全く現実的ではない、rust信者の詐欺的妄言なのでどっちでも一緒

833 名前:デフォルトの名無しさん [2024/02/14(水) 16:53:53.91 ID:ry67cZRi.net]
>>809
技術者をまともに育成する術も評価する術も持たずガチャするしか脳の無い無能企業には有能なやつほど寄り付かない

そうなると渋いと評判の某ガチャUR排出確率並み(0.3%)になるから100回回しても有能1人雇える確率は3割にも満たない
運良く雇えてたとしても数年以内に転職して抜ける確率は逆に8割以上

身の丈に合わない選択は破滅への近道

834 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 17:49:37.27 ID:kwXXlBt4.net]
どこまでオブジェクト設計するべきかが良くわからん
例えばトランプゲームを作ろ

835 名前:うとした時のカードについて
数字込みの絵柄と表示用の画像くらいしか必要ないと思うけど
わざわざCardクラスCardDeckクラスとかを用意する必要があるの?とか
[]
[ここ壊れてます]

836 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 18:11:12.61 ID:J37aOx7P.net]
Deckが内包するデータはCardの配列のみだとしても
シャッフルやドローなんかの操作を配列として外から行うより
Deckとして備えてる方がシンプルに保てそう

837 名前:デフォルトの名無しさん [2024/02/14(水) 18:32:43.17 ID:xYPMwtK4.net]
>>813
クラス以外のユーザー定義型がないならオブジェクト指向よりの作り方でなくてもCardクラスやCardDeckクラスくらいは作るんじゃない?

それらにメソッドを生やしてゲームルールを実装していくのか
それともそれらをデータとして扱う関数を別のところに書くことでゲームルールを実装していくのか
それぞれ良い点悪い点があるので一度両方で作ってみるといいと思う

838 名前:デフォルトの名無しさん [2024/02/14(水) 18:36:07.49 ID:xYPMwtK4.net]
>>814
DeckモジュールとかGameモジュールにドローやシャッフルなどのDeckを操作する処理をまとめておくってのでも別に不都合ないよね?

839 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 18:44:53.20 ID:OE64F1T2.net]
enumがオブジェクトではない言語では迷うが
すべてがオブジェクトだったらenum Cardでいいのでは

840 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 19:19:39.63 ID:g/tbjQoZ.net]
スートが切り札(トランプ)に変わるようなゲームでは
判定で「こいつはいまトランプだから」で例外処理するのか
カード側で「いまトランプです」したらいいのかの設計の話だわな

841 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 12:39:33.69 ID:q4O0G3u8.net]
>>793
>ライブラリに頼ってるだけで
そのライブラリに頼ってるだけを実現できるのがオブジェクト指向の功績だと思ってる
昔のWin32APIみたいなライブラリとインスタンス生成してからインスタンス.メソッド形式で利用するライブラリと比較したらライブラリの扱いに対するお手軽&簡単度合いがぜんぜん違う



842 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 19:49:13.54 ID:b088ZsVf.net]
いやwin32apiだろうがapiそのものがすでに「オブジェクト指向」だから
手軽とか簡単とかはオブジェクト指向とっくに通り越してそのように改良された結果ってだけ
このスレ見てると「オブジェクト指向」が特別なナニカだと思ってる人も多くてアランケイも困惑するよw

843 名前:デフォルトの名無しさん [2024/02/15(木) 20:05:57.93 ID:Zy70aZMD.net]
「オブジェクト指向」が特別なナニカじゃないのであれば、「オブジェクト指向プログラミング言語」は「プログラミング言語」でよくなってしまう

これまで「オブジェクト指向プログラミング言語」という言葉を使った人間はとんでもないガイジということになる

844 名前:デフォルトの名無しさん [2024/02/15(木) 23:20:24.51 ID:ibzEiIzs.net]
20年前のあれは何だった?どいつもこいつもオブジェクトだーと喚いてたくせに。屑どもが

845 名前:デフォルトの名無しさん [2024/02/16(金) 00:12:23.56 ID:L7DYjGhm.net]
ここまでくると糖質っぽいな
オブジェクト指向はオワコンと言い続けて何年経過してんだよw

846 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 06:40:28.27 ID:HTdB8AjD.net]
オワコンにオワコンと言ってなにが悪い

847 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 08:47:18.11 ID:hfFr1EkU.net]
オブシコオhル



けど、脳汁が出るのは、なんでもアリなC++なんだよなあ

848 名前:デフォルトの名無しさん [2024/02/16(金) 08:49:55.02 ID:TCjahJiL.net]
これこれ
オウムみたいな感じ
はなから議論をする気が無い
オワコンオワコン繰り返して気持ちよくなるだけ

849 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 17:46:12.70 ID:/xV361+6.net]
非論理的=気持ちよくなる
専門用語を回避する現象?

850 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 23:46:53.13 ID:7B7dg9RO.net]
自分がオブジェクト指向で挫折したから
あんなの一時の流行りでしかない!って喚いて溜飲を下げようとしてるけど
そもそも理解しないで挫折してるから「あんなの」が永久に
90年代のC++の時の“自動車の車輪を付け替える”からアップデートしない

851 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 01:14:52.71 ID:sBa/KHO/.net]
アップデートという目標は分かったが現時点では違う目標を持つ者にとって
ふつうに考えると目標を達成するためには目標を変更しないのが合理的
問題は、どうすれば永久に合理的であり続けるのをやめられるか



852 名前:デフォルトの名無しさん [2024/02/17(土) 11:49:08.21 ID:f/G7Vx68.net]
オブシコで挫折してない人なんていません!!

853 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 12:25:59.71 ID:hmS5aeTe.net]
俺がいる
中途半端ってぶっちゃけ怖いよね

>>826
議論っていうか、使えと言われた言語・ライブラリ(SDK)使うんだからね結局
好き・嫌い、とかって雑談してりゃいいんだよ

俺は、継承を使いこなせるいい漢になりたいぜ

854 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 13:09:34.49 ID:SNH81JMI.net]
オブジェクト指向だろうがオブジェクト指向言語だろうが語りたいのならマ板でやれ
雑談どころかここで議論とか正気かよ。議論してもプログラム技術の役に立たないくらいわかるよな

855 名前:デフォルトの名無しさん [2024/02/17(土) 13:51:00.19 ID:f/G7Vx68.net]
>>831
はっきり言う、お前はオブシコのことを何もわかってない

>>832
お前もだ

オブシコは挫折してからが始まりだ

856 名前:デフォルトの名無しさん [2024/02/17(土) 13:53:44.82 ID:f/G7Vx68.net]
intではなくてMoneyだ
Moneyを継承してYenを作れ

stringではなくてAddressだ
Addressを継承してPrefectureを作れ

本物のオブジェクト指向を経験しろ
ぜったい挫折するから

857 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 14:31:27.57 ID:JQbQK4DF.net]
>intではなくてMoneyだ
当たり前
>Moneyを継承してYenを作れ
意味不明
オブジェクト指向で作るならYenはMoneyの一属性

>stringではなくてAddressだ
当たり前
>Addressを継承してPrefectureを作れ
意味不明

オブジェクト指向だから挫折したのではなく間違ったオブジェクト指向を学ぼうとしたから挫折したんだな

858 名前:デフォルトの名無しさん [2024/02/17(土) 16:18:56.35 ID:f/G7Vx68.net]
↑ オブシコ厨ってこんなシロートばかりなんですよ

859 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 17:52:41.44 ID:chUgujl0.net]
>>832
ムに置いときゃ、ムに資するネタがまじるけどね
俺は後から来たけど

860 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 17:56:31.13 ID:oJgej1EK.net]
>>835
MoneyにbaseCurrency問い合わせると“Yen”って返すように作るよなぁオブジェクトなんだから

861 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 19:30:44.83 ID:2JOYf9WZ.net]
>>832
迷惑だからマに技術ネタ誘導すんな。



862 名前:デフォルトの名無しさん [2024/02/17(土) 23:59:55.91 ID:RsjvkJW8.net]
>>824
本当にオワコン化したものは話題にすらならんよ
今どきポケベルはオワコンなんてスレ建てる奴なんていないだろ?
つまり、そういうこと

863 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 02:06:18.29 ID:jMiNlzvA.net]
ポケベルを話題にした自分自身を否定するより
オブジェクト指向にファイティングポーズする方がよっぽどポジティブじゃないか

864 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 06:52:31.86 ID:AGcN1oEW.net]
APIやライブラリを一切使わず、自分自身で「処理をしてオブジェクトを返す部分」も作らずにどんなプログラムが作れるんだよ
現代でプログラム書いてるやつは意識しなくても使うしか無い手法じゃないか
使わずにHelloWorldすら書くのは超難しい

865 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 07:05:06.57 ID:BTJ6Zkap.net]
システムコールだけでHello Worldやるの無茶大変だった思い出

866 名前:デフォルトの名無しさん [2024/02/18(日) 10:14:36.02 ID:5IBLHZNo.net]
API使ってればオブジェクト指向とか頭になんか湧いてるだろ

867 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 10:16:24.04 ID:BTJ6Zkap.net]
>>844
そんなこと言われてなくね?

868 名前:デフォルトの名無しさん [2024/02/18(日) 11:06:51.79 ID:18G3CSzu.net]
「APIそのものがオブジェクト指向」だと主張してるやつはいるね>>820

869 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:13:41.03 ID:RIbrKfRB.net]
とりあえず1000行くらいベタ打ちでプログラム書いて
書いたのをリファクタリングついでにクラス分けして
またダーッと書いてって繰り返せばいいよね?

870 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:17:44.83 ID:NoFg1fuK.net]
>>847
今世紀に出てきた様々なプログラミング言語はほとんどがクラスをサポートしていない
クラスは役に立たず害が大きいとの共通認識があるため

871 名前:デフォルトの名無しさん [2024/02/18(日) 13:06:18.47 ID:2M17hFnk.net]
>>848
バカの一つ覚え



872 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 14:18:51.57 ID:jMiNlzvA.net]
APIは今でも関数とグローバル変数
stdinとかstdoutとか
グローバル変数が一番最初にオワコン化し、オブジェクト指向は二番目以降と想定された

873 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 16:50:37.61 ID:g+lvGDPK.net]
オブシコで書かれたAPIとかライブラリってのならある。ってなら書いた
COMとかね 原理的には、ラッパがあれば、避けることはできる

874 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 19:30:26.46 ID:K/iFT05J.net]
これで動くOSあるなら分からんでもない
OS.boot()

875 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 20:19:38.98 ID:FiBYienL.net]
低レベルはまた違うでしょ

ってだけではなんなので、ちょっとだけ手を動かしたよ
https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Library/UefiBootManagerLib

876 名前:デフォルトの名無しさん [2024/02/19(月) 01:20:09.81 ID:nPOSkLxV.net]
>>848
事実認識ができてない
JavaScript、C#、Python、Ruby、C++、Java、Kotlin
クラス扱える言語はいくらでもあるし、そもそもクラスや継承を使えない=オブジェクト指向じゃないって訳では無い
クラスはお前みたいな馬鹿には使いこなせないからクラス以外でオブジェクト指向な書ける方法が模索されたんだよw

877 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 01:36:14.67 ID:1O4I6mF/.net]
どの言語かに関係なく
クラス継承でプログラミングするやつはバカしかいない

878 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 02:23:23.32 ID:T5tehfX7.net]
特定のルートクラスに縛られる継承はだいぶむかしにオブジェクト指向のあまり良くない実装として
仕様を残しながら使わない方がベターになってるわな
使うクラスをオブジェクトとして別個にクラスに組み込むコンポジションの方が主流
「継承というのがオブジェクト指向!」とかいつの時代のおじいちゃんだよ

879 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 02:37:07.20 ID:TafNbO5j.net]
↑2000年代で止まってるオッサン

880 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 07:21:21.34 ID:94Ygw4Cz.net]
あの当時の人なら一度は、オレオレプロジェクトで継承を使いすぎた経験ってあると思うのね

881 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 08:07:57.52 ID:GOMVHdKw.net]
継承しまくって訳わからん事になるなら新しいクラスにした方がいいと思うけどなあ
File
-◯◯FileBase
--◯◯FileStructure
---◯◯FileModel
----◯◯FileInstance

みたいなのよりFile2を定義し直した方が遥かにマシ



882 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 08:13:47.31 ID:Y0uHI/e6.net]
ファイル名なんかもそうだが
File_20240219
のようなユニークIDつけておくといくら被っても困らない

883 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:09:06.20 ID:94Ygw4Cz.net]
重複(安易なコピペ)コードはちょっとでもいけませんってきつく言われて、
それを避けるように継承をテキトーに使いすぎた記憶はあるんだよね

is-a 原則を守って、責任者が正しく設計しましょう

884 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:20:08.17 ID:94Ygw4Cz.net]
似たようなコードが出るなら、サブルーチンにすりゃよかったんだけどね
あの頃は名前空間をあんまり使いこなせてなくて、なんでもクラスに押し込みゃいいと思ってた

885 名前:デフォルトの名無しさん [2024/02/19(月) 09:26:15.27 ID:5htgrxhu.net]
>>855
と、継承すら理解できない素人が申しております

886 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:20:44.59 ID:stH4FHBR.net]
Rustが重複コードは二度と書かないってポリシーだっけ
最初の一歩踏み出すのにとんでもなく時間かかりそう

887 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:25:51.91 ID:Xye0EN8a.net]
何をもって重複コードとみなすのかなぁ
たまたま別の機能で同じコードになったとかは
まとめると後で痛い目に遭うよな?

888 名前:デフォルトの名無しさん [2024/02/19(月) 10:35:06.92 ID:62DfF/9H.net]
>>864
Rustは書かなきゃいけないボイラープレートが多いから重複コードも多い
コピペ継承とマクロ継承がよく使われてる

889 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:54:32.58 ID:VWZKMKLS.net]
c++ コンセプトをそのまま変数のインターフェイスに使えればなぁ、と思う事はある。

890 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 11:18:30.32 ID:W0+AhDGC.net]
>>864
Rustも他の言語と同様に重複コードがあれば関数として切り出すだけだよ
その時に異なる型に対してもトレイト境界により安全にジェネリック化がしやすく多用されてるね

>>866
Rustは継承ではなく合成と移譲をするためその宣言は増えるけどそれらを重複コードとみなすのはありえないよ

891 名前:デフォルトの名無しさん [2024/02/19(月) 18:18:36.14 ID:NzCkUvZW.net]
>>868
どういう構造で作られているかは重複コードとみなすかどうかには一切関係ない
変更をロックステップで適用しなければいけないのならどういうものであれそれらは重複コード



892 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 00:04:11.84 ID:LUfJNkJd.net]
スマポみたいな機能の重複回避には昔は継承を使った
今はジェネリクスを使う
昔の方法ではスタックのint型とヒープのInt型を統一できない

893 名前:デフォルトの名無しさん [2024/02/20(火) 02:06:05.00 ID:u4Uobn3a.net]
すべての型に対して全て同じ実装でよければジェネリクスで良いが一部の型でカスタマイズが必要になるといろんな障害が出てくる

894 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 05:49:02.76 ID:/gOXQNrB.net]
>>871
それは普通によく起こることだが全く問題ない
その型ごとの差異の機能を合成するだけで対応できる
もちろんジェネリクスのままでよい

895 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 06:10:00.38 ID:jusHGvnd.net]
インタプリタならそれでいいんだけどね。。(個人の感想です

896 名前:デフォルトの名無しさん [2024/02/20(火) 10:28:59.91 ID:EDso4HRp.net]
一部の型でカスタマイズが必要な場合にジェネリクスを使おうとすると将来を見通したカスタマイズポイントを最初に確定しておく必要があって多くの場合現実的ではない
要はOCPを満たせないので変更に対して弱く保守性の低いプログラムになる

加えてRustではcoherenceの制限だったりspecializationやHKTが未サポートだったりで使える状況がかなり限定されている

897 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:53:42.40 ID:C9p4KSn1.net]
>>873
Rustでも>>872の「その型ごとの差異の機能を合成するだけでジェネリクスのまま対応」できるよ
Rustは必要な機能のトレイト境界を指定することでコンパイル時点で静的にジェネリクスでも安全に呼び出すことが保証されるよ
呼び出し方法は静的ディスパッチによる単相化またはvtable利用の動的ディスパッチどちらも選択できるよ

898 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:57:44.32 ID:cggt5bnJ.net]
そもそもRustが大規模開発にゃ向いて無い件

899 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 11:08:20.16 ID:C9p4KSn1.net]
>>876
大規模開発もできるように作られたRustについて真逆のウソはよくないよ
既に大規模開発で採用しているGoogle Microsoft Amazonといった大手IT企業たちが
共同でRust Foundationを設立して資金を出して安定した環境でさらなる開発が進められているよ

900 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 11:10:21.09 ID:z4RtXIEV.net]
それってまだ到達して無いって事じゃね?

901 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 12:20:44.40 ID:ShtLDmLT.net]
既にクラウドやCDNなどネットインフラは次々とRust製へ変わった

ソース
>【クラウド世界トップシェアAWS】
>https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazоn Simple Storage Service(S3)」、
>「Аmazоn Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Аmazоn CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。

>【CDN世界トップシェアClоudflare】
>https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。



902 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 13:22:34.01 ID:LUfJNkJd.net]
大規模開発以外はオワコンゆえに構造化プログラミングはオワコン
というのがオブジェクト指向の原点なのでオワコン論法を今更やめられない

903 名前:デフォルトの名無しさん [2024/02/20(火) 13:26:48.23 ID:oBR9eIxF.net]
>>877
そのどれもが大規模開発じゃ無いぞ

使われてるがチームは数名だぞ

904 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 13:36:25.43 ID:AU1Zrlfs.net]
数名で各ネットインフラをRustで開発できるなら今後はRustでいいな

905 名前:デフォルトの名無しさん [2024/02/20(火) 16:28:18.46 ID:ZAWp74Ua.net]
「うちは大規模開発でやってる」という発言が出ないで、他人の情報に反応してそういう結論に切り替えるってことは
つまり自分らでは使ってないってことかいな

906 名前:デフォルトの名無しさん [2024/02/20(火) 16:45:43.34 ID:rm//dl54.net]
できるできる詐欺が横行してるな

907 名前:デフォルトの名無しさん [2024/02/20(火) 18:35:02.11 ID:pzacWR0B.net]
大規模開発は人数揃えるのが何より大切だからな
COBOLかJava以外ありえない

908 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 20:51:51.45 ID:lRk+yPyb.net]
全部できるよ

909 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 14:43:22.45 ID:Z35fBDP9.net]
MVCで入力処理ってどこにおくべき?
AIとかに聞くとCに置けって言ってくるけど
移植(ライブラリ変更等)時に描画系入力系を
まとめてVに置いておくと楽だと思うんだけど

910 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 14:46:34.08 ID:QZ7TjEE8.net]
いまだにMVCとかやってるから海外のアプリに勝てないんだよな

911 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 15:34:28.90 ID:C622TR9G.net]
M: 変数
V: public関数
C: private関数



912 名前:デフォルトの名無しさん [2024/02/21(水) 16:02:41.28 ID:IVa7P8gb.net]
>>887
MVCといってもクライアントサイドのMVCとサーバーサイドのMVCで考え方が違う
また入力処理と言っても人によって指すものが違うので具体的にどういう処理を入力処理とみなしているか書かないとわからない
さらに移植とライブラリ変更は一般的に違うものなので想定状況が伝わらない

913 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 17:11:10.76 ID:RdIBo6ag.net]
M: member
V: virtual
C: constexpr

// 空目

914 名前:デフォルトの名無しさん [2024/02/21(水) 18:43:28.52 ID:1mshJDzd.net]
Mutable
Virtual
C++

915 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 20:19:29.17 ID:ryHNx0AS.net]
用語や形にこだわるより先に仕様通り動くもの作れ。くだらないこだわりで何も始められないのはただのアホ

916 名前:デフォルトの名無しさん [2024/02/21(水) 21:53:18.35 ID:gKvdV+n9.net]
唐突なストローマン論法で草
雑魚味が濃すぎる

917 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 21:58:52.64 ID:1UKYnLzP.net]
>>887
元々は移植性のためにモデルはそのまんま環境と切り離した処理そのものを
ヴューは人間の目に触れる画面レイアウト周り、そしてコントローラーは
それらを繋ぐインターフェイスとして実装という考え方なので
ゲームをPC、コンシュマー、モバイルと移植します画面周りはVです
操作されるゲームの中身はMです、つなぐ部分はCです
…ん?マウスと十字キーとタッチパネル対応はどこまでがCだ?ってなるけど
AIに聞けばテンプレどおりそら「Cに分けなさい」言われるわな

918 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 22:04:57.80 ID:Ufq19E/Q.net]
ゲームとビジネスアプリとでは違って来るよな
ゲームなら🎮や⌨はCだが、ビジネスアプリでは単にVの付属物だったりする

919 名前:デフォルトの名無しさん [2024/02/21(水) 22:11:27.33 ID:UHHgkSfj.net]
うそやん
マウス対応やタッチパネル対応はViewやぞ
AIに聞いてもそう答えるぞ

920 名前:デフォルトの名無しさん [2024/02/21(水) 23:59:03.36 ID:anjrCapC.net]
「入力」の抽象度の違い
ビューに依存した入力とそこから一段階抽象度が上がったビューに依存しない入力がある
それを認識できてればどこに含めるか迷わない

921 名前:デフォルトの名無しさん [2024/02/23(金) 11:08:19.40 ID:SaGFiexu.net]
https://twitter.com/mayappy0627/status/1725074809883898273

M a y a ♡🏳‍⚧ヽ(๑╹◡╹)v🏳‍🌈
@mayappy0627
「シスヘテロ男性が女湯に入りたい目的で嘘をついて診断書を取得し性別適合手術を受ける可能性がある」
という言説がいまだに流れている様だが
女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね。つまり男性的快楽は得られないという結末の一つさえ想定できないんでしょうかね?
午後5:54 · 2023年11月16日
·
(deleted an unsolicited ad)



922 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 11:14:17.40 ID:GPv4EW4D.net]
きんたま切り落とした時点で男性ホルモンは著しく減衰して性欲は無くなるよ🥲

923 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 11:34:54.51 ID:QK/ZoJ33.net]
class Man(Human):
...
def do_chinko():
if (chinko is None): return None
return finish()
...

924 名前:デフォルトの名無しさん [2024/02/28(水) 21:12:31.15 ID:igsDoIyP.net]
>女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね

人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる

随意筋 不随意筋
  ↖ ↗
  チンポ

自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!

925 名前:デフォルトの名無しさん mailto:sage [2024/02/28(水) 21:59:59.89 ID:N6In+Wna.net]
機能するかどうかだけが問題で、欲求があるかどうかはあんまり関係無いよな

926 名前:デフォルトの名無しさん [2024/02/29(木) 17:11:51.40 ID:lYDtPhZw.net]
オブジェクト指向では、オブジェクトの「機能」を意識することが大切ね!

>>903
>機能するかどうかだけが問題で

オブジェクト指向(OOP) は、データとそれに関連するメソッドを 「クラス」という単位でまとめて管理する開発手法です。
このアプローチにより、開発者は複雑な機能も再利用可能なモジュールとして効率的に構築できます。例えば、
新しい機能を開発する際、既存のクラスから必要なデータを取得し、必要に応じて新しい機能を追加することが可能です。
https://zenn.dev/cloud_ace/articles/29748ac0537c7f

927 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 17:34:03.72 ID:l9BYiy+8.net]
モダンなプログラミング言語
Go、Rust、Zig、Nim、Julia、Elixirなどは
クラスおよびその継承を言語仕様から排除しておりクラスは存在しない
各々の言語は全く異なる方針を採っている言語だがクラス排除だけは全てが同じ方針である
クラスとその継承は悪手であるとプログラミング言語界では結論が出ている

928 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:33:41.13 ID:j2QgmuXb.net]
むしろ、何段も継承されてわけわからん事になるのが嫌われてるだけなので
swiftなんかはfinalつけてサブサブクラス禁止できるようにしてるな

929 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:44:02.92 ID:SAazNRBP.net]
こんなスレで御託長文書くのはプログラム作れない人

930 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:55:21.40 ID:8i6X/khC.net]
悪手と言われると、極めたくなるんだよなあ

931 名前:デフォルトの名無しさん [2024/02/29(木) 21:12:27.90 ID:zvBPwraZ.net]
>>905
クラスと呼ばれるものがないだけで
メソッドを生やせる構造体も継承も
Elixir以外のすべての言語に存在する
君が無知なだけ



932 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 21:41:50.06 ID:PlWfF7KT.net]
クラスが存在しないことが最重要だからクラスを採用しない言語が増えてるんだよ
クラスは間違った手法『具象型から具象型への継承』となる禁忌のクラス継承を伴うからね

オブジェクト指向に必要なカプセル化は構造体などでもちろん可能だから
オブジェクト指向にはクラスは不要だよ
そしてインターフェイスや型クラスなどによる正しい手法『抽象型から具象型への継承』が代わりにあればよい
モダンな各プログラミング言語はそれらの方針をとっている

だからクラスが採用されてないんだよ
クラスは悪

933 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:35:54.39 ID:8i6X/khC.net]
継承に親兄弟を殺された人がいるようだが 世界は残酷なのだ

934 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:42:52.64 ID:PlWfF7KT.net]
悪い→『具象型から具象型への継承』←クラス
良い→『抽象型から具象型への継承』←インターフェース・型クラスなど

935 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:58:22.40 ID:eayaXhXN.net]
要は個人開発レベル小規模webサイトレベルなら継承の類不要?つうかDIだけでは駄目なん?

936 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 23:10:15.09 ID:M4AFeBSO.net]
規模にかかわらず同じ
抽象型からの継承は問題ない
クラス継承はダメ

937 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 08:38:11.92 ID:FDcCyCi3.net]
>>914
「抽象型の仕様が安定している限り」な。

抽象型の改変が入ったらインパクトが大きい。

938 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 08:59:14.79 ID:PeOPXftI.net]
そこでダックタイピング(の併用)だな

うん、継承一本ってのは、人類には早かった

939 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 09:08:35.51 ID:JrOItvM9.net]
クラス継承は具象型からの継承なので多重継承の問題が発生する悪い方法だが
抽象型からの継承は多数あっても合成となり良い方法

>>915
抽象型は各機能毎に細かく多数用意されて合成して使うためそのような問題が起きない
抽象型の改変とは機能を変えることになるため別の抽象型として並行して扱える

940 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:31:31.13 ID:Lv7uqw7J.net]
>>917
なら設計の初期に細かく多数の抽象型を決めなきゃいけない、ということになるわな。
未来を予測できる天才でもなければ厳しいな。

941 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:32 ]
[ここ壊れてます]



942 名前::36.36 ID:YMlxHHtw.net mailto: まあ、たいていのクラス設計は
製造終盤になると跡形も無いんだがな
[]
[ここ壊れてます]

943 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:56:06.21 ID:67BTULI7.net]
>>918
クラスはピラミッド型の階層構造となり改変で他へ影響が大きく出る問題があり
クラスは具象型なのでそれ自体がメンバ変数(フィールド変数)を持ち途中階層のクラスも持つため改変が非常に大変もしくは崩壊となりがち

抽象型でメンバ変数(フィールド変数)を持たないインタフェイスや型クラスではその問題が起きない
それら抽象型による各機能の合成をとるため改変する場合も他機能への影響が限定的となり問題を分離することができる

944 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:34:53.51 ID:JFzuIw6k.net]
人間が理解しやすくなればなんでもいいシコ

945 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:45:52.70 ID:FDcCyCi3.net]
>>920
メンバ変数の無い抽象型であっても、分離できるのは実装部分でしかなくて、「機能ではなく型の種類&名前で縛られる」という設計の初期の困難さは回避できていないよ。

まぁ、インターフェイスとかトレイル(Rustの偽物は論外)とかでもモジュール境界とモジュール間連携の問題は解決できていないからなぁ。何かいいアイディア無い?

946 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:51:44.04 ID:9l2p08EB.net]
IDEのリファクタリング機能があれば何でもいいよ

947 名前:デフォルトの名無しさん [2024/03/01(金) 16:38:06.02 ID:gwVYOw6C.net]
>>905
バカの一つ覚え

948 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 17:27:04.12 ID:PeOPXftI.net]
それが>>911 の人、何人かいるっぽい

949 名前:デフォルトの名無しさん [2024/03/01(金) 20:56:33.23 ID:KQ1HmSrc.net]
継承には感謝しかないです

950 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 21:29:01.44 ID:NM6ffmiH.net]
クラス継承さえ使わなければ
継承は便利だからね

951 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 22:31:08.80 ID:qr8UCngy.net]
メソッドだけ継承できればいいよ



952 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 07:16:17.19 ID:7IvxOyHp.net]
クラスとかメソッド集合としての機能だけあればいい。
その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。

953 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 11:56:05.36 ID:0RQhliLl.net]
クラスとか継承とかに不満持つのは不思議なんだが、他人の作ったコードやライブラリをうまく流用出来ずに文句言ってるのか?
自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに
他の人が理解できないからだ、ってのならその「他の人」に言え

954 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 12:17:52.47 ID:+4BUdsxu.net]
人間が理解しやすくしなよ

955 名前:デフォルトの名無しさん [2024/03/02(土) 13:55:18.96 ID:ILWRlrIw.net]
>>930
他の人になんて言えば良い?

956 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 13:56:06.21 ID:pYjRDwip.net]
>>930
クラス継承については全員が問題視している
Javaの生みの親ですらJavaを作り直せるならクラスを除外すると明言している
そして現実にモダンなプログラミング言語
Go、Rust、Zig、Nim、Julia、Elixirなど全てがクラスを除外している

>Javaのユーザグループミーティングに出席した際、
>James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
>すばらしいQ&Aセッションの途中に、こんな質問が出ました。
>「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
>答えは「クラスを除外するでしょうね」というものでした。
>彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
>インターフェースによる継承(implementsの関係)のほうが望ましいのです。
>できる限り実装継承は避けたほうがよいでしょう。

957 名前:デフォルトの名無しさん [2024/03/02(土) 13:58:52.73 ID:ILWRlrIw.net]
ねえ!他の人になんて言えばいいの!?

958 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 14:38:32.67 ID:an2Rf2WF.net]
「俺は継承に親を殺された。絶対赦さない。絶対にだ

959 名前: []
[ここ壊れてます]

960 名前:デフォルトの名無しさん [2024/03/02(土) 14:43:33.20 ID:ILWRlrIw.net]
。°(´∩ω∩`)°。

961 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 14:47:09.39 ID:iW0xTm2n.net]
>>933
どこからの引用なのかちゃんと書こうよ
https://postd.cc/is-go-object-oriented/



962 名前:デフォルトの名無しさん [2024/03/02(土) 15:01:00.73 ID:OiLnCmP5.net]
>>933
バカの一つ覚え乙

963 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 15:26:08.25 ID:5qddeDE5.net]
>>937
丁寧な説明あって助かったありがとう
実装継承は問題があるためクラス継承を使うのは辞めた方がよさそうね
そうするとクラス自体が不要なので今どきの言語にはクラスが無いわけなのね

964 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 17:53:44.47 ID:JmA8+V/x.net]
継承すると結合度が高くなり、基底クラスがいじりにくくなるから
implements で名前だけ基底クラスで宣言した方がよい
という経験則なわけね

965 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 18:23:50.25 ID:C5B9iefL.net]
>>940
違うよ
基底クラスは一切使わずにインターフェース等を使う
インターフェース等を備えていない言語ではやむをえないため抽象クラスで代替する

966 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 21:21:19.79 ID:6JiP4UcJ.net]
15年ぐらい前はstaticおじさんが馬鹿にされてたけど今じゃオブジェクト指向がオワコン呼ばわりかぁ

Lisp使おう()

967 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 00:19:19.60 ID:Ic67hcFY.net]
処理系も書かずに使おう(笑)

968 名前:デフォルトの名無しさん [2024/03/03(日) 12:51:43.47 ID:s0HRTEoD.net]
オブジェクト指向に毒されてるpowershwll,python,ruby等も終わりかな
F#に興味出てきたな

969 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 13:22:58.46 ID:4PUy8wCJ.net]
あたりまえにオブジェクト指向使ってる現代でオブジェクト指向がオワコンって言うのはプログラム作らない人
ここの板のローカルルールくらい見ましょうね

970 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 13:49:21.97 ID:HJzrw6yi.net]
やたらとオブシコしてたのからの回帰ってならわかる そういう意味なんだろうなと思う

971 名前:デフォルトの名無しさん [2024/03/03(日) 14:11:44.50 ID:0VvwZNDM.net]
>>940
何でそんなこと言うん?



972 名前:デフォルトの名無しさん [2024/03/03(日) 17:32:00.15 ID:7AiWdEnV.net]
https://twitter.com/i/status/1763848620204544172

オブジェクト指向にも同じことが言えます
(deleted an unsolicited ad)

973 名前:デフォルトの名無しさん [2024/03/03(日) 17:33:19.72 ID:7AiWdEnV.net]
オブジェクト指向を実践してない人ほど継承はダメだといっておられる
現実をまったく見ていない理論でしかないわけです

974 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 17:33:33.79 ID:m+AYakYE.net]
40年前に構造化プログラミング(いまあたりまえのプログラムをブロックモジュールに分ける概念)についてけなかった人とかも
理解しないまま「構造化プログラミングはオワコン!これからはオブジェクト指向!」ってそもそも構造化プログラミングの
発展系がオブジェクト指向だってわからずこのアホウみたいにウキャウキャしてたのかしら

975 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 18:10:26.26 ID:nBM3NOHP.net]
>>949
正しく理解しようよ
ダメなのはクラス継承
抽象型の継承はOK
オブジェクト指向もOK

976 名前:デフォルトの名無しさん [2024/03/03(日) 18:26:34.56 ID:zJ/qFUNe.net]
>>951
Pythonは文脈によって意味が変わる多重継承ね!

随意筋 不随意筋
  ↖ ↗
  チンポ

977 名前:デフォルトの名無しさん [2024/03/03(日) 20:11:50.76 ID:InukkrXD.net]
ついていけない人間がたくさん出てしまうパラダイムは多くの人間が使えないので自明にオワコン

978 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 21:12:52.05 ID:vlko3Vgi.net]
>>950
ありそうな話だなあ

979 名前:デフォルトの名無しさん [2024/03/03(日) 21:35:56.29 ID:9XAeTkis.net]
>>933
Cの生みの親が作ったGoはともかく、Rustにクラスがなかったのはマジびびった。

Haskell覚えたときに、オブジェクト指向プログラミングの再利用性に疑問持って、
(実際にはしないけど)C++でクラス使わずテンプレートだけ使った方が再利用しやすいんじゃ…?とか思った。

そして最近、「スッキリわかるC言語」立ち読みしたら、C言語に(テンプレートとは違ってマクロっぽいが)ジェネリックっぽい機能が取り入れられてるみたい。
(使えないコンパイラがまだ多いのでLinuxのカーネル開発では禁止されてるみたいだけど)

あと、デザインパターンも、関数型言語で普通にしてる事がいくつか書いてて、オブジェクト指向言語だと意識しないと出来ないんだと気づいた。
(例:イテレータ、テンプレート・メソッド、シングルトン、アブストラクト・ファクトリ、ストラテジなど)

980 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:06:17.23 ID:mVaeStz7.net]
広い意味のオブジェクト指向は今でも有用であって
クラスを使ったオブジェクト指向が間違っていただけなので
GoやRustなど新しい言語にはクラスが無いけど(クラスを使わない)オブジェクト指向ですよ

981 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:11:46.53 ID:JkCR2ZDo.net]
>>953
おまえがオワコンなだけ。お前自身がついていけなくても、ついていけない人がたくさんいると思っていても
実際には多くの人がすでに実行してる。今やその辺の小学生でも
https://www.nhk.or.jp/school/sougou/programming/



982 名前:デフォルトの名無しさん [2024/03/03(日) 22:27:37.47 ID:9RvqtVLq.net]
>>957
俺は「ついていけない人間がたくさん出てしまうパラダイム」の話をしているのに、お前は勝手に「俺がついていけない人がたくさんいると思っているパラダイム」の話を始めたな

俺の話を理解できていないのか、理解した上で関係なくお前のしたい話を始めたのか知らんが、それで俺にレスをつけておいて俺にオワコンと言ってくるなんて、なんてガイジなんだ
回線切って首吊って死んでくれよな

983 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:50:31.38 ID:uAsMCupP.net]
お前らさあ。。



次スレどうする?

984 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 23:01:06.99 ID:A1Y/Mibd.net]
つまりプロトタイプベースオブジェクト指向のJSは一歩も二歩も先に行ってたってこと?

985 名前:デフォルトの名無しさん [2024/03/03(日) 23:05:08.39 ID:slB98rWU.net]
>>958
おまえ生まれてから今までずっと


何言うてんねん

986 名前:デフォルトの名無しさん [2024/03/03(日) 23:24:09.12 ID:9XAeTkis.net]
>>960
まあ、JSは手続き型言語の皮をかぶったLispと言われる事もあるので、
そうとも言える。

ただLLだったので大規模開発に向かなかったのかと。

関数型言語と論理型言語は大きなカテゴリーでは宣言型言語になるんだけど、
オブジェクト指向も宣言的なプログラミングは目指してるんだよね。
メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。


Rust初めて見たときはC系統の文法のだけど、だいぶ関数型言語に寄ったなと思った。
しかも組み込み系の雑誌「interface」でだいぶ推してるし…。(お題を解く連載が続いてる)

何事かと。

987 名前:デフォルトの名無しさん mailto:sage [2024/03/04(月) 00:00:46.80 ID:ndPj2VnY.net]
>>962
>メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。
関数型のやり方によっては見た目は似せることができてもやってることは全然違う
関数型とオブジェクト指向で根本的に異なる部分

988 名前:デフォルトの名無しさん [2024/03/04(月) 00:42:55.59 ID:vyClhVzf.net]
言われてみれば。
同じは言い過ぎだったね。

print関数と関数合成なんて、オブジェクト指向な人から見たらイミフだろうし。
高階関数に関数合成した関数渡すのも、オブジェクト指向じゃ関数オブジェクト(?)にメソッドチェーン渡すなんて、見たことない。(できるかは知らない)
割とよく使うのに。

あと、オブジェクト指向型言語で関数型プログラミング取り入れました!って言って
ラムダ式を強制するのがウザい。

関数型言語はセクションやら、それこそ関数合成使って、なるべくラムダ式を使わない様に進化してるっちゅーねん。

989 名前:デフォルトの名無しさん [2024/03/04(月) 20:55:11.38 ID:OBoWisFX.net]
「継承」についてだが、多重継承をサポートしていない言語ならなるべく使わないほうがよい

990 名前:デフォルトの名無しさん mailto:sage [2024/03/05(火) 14:40:45.25 ID:8Aciq0Ni.net]
>>930
不満を解消するために行動しているというのは誤解
ある行動をしなかった理由を考えている
なぜ継承しなかったのか

991 名前:デフォルトの名無しさん [2024/03/06(水) 15:26:14.40 ID:7MRZ6H51.net]
>>965
逆だね
あえて逆のこと言ったんだね



992 名前:デフォルトの名無しさん [2024/03/06(水) 16:32:28.41 ID:QczblYLZ.net]
>>967
Pythonは多重継承だが?

993 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 17:05:29.94 ID:0Fz1GTqO.net]
銀の弾丸はなく適材適所なだけなのに
なるべく使わないって判断放棄してへん?

994 名前:デフォルトの名無しさん [2024/03/06(水) 17:58:25.40 ID:RxG6QCQE.net]
>>968
Pythonの話ちゃうやん

995 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 18:04:07.44 ID:OsGV2nia.net]
>>968
おまえそのPythonでどんなアプリ作ったの?
>>937のリンク先から引用
>多重継承の問題の1つは、同一のメソッドが1つ以上の親クラスに存在しているときに、言語がどのメソッドを用いているのかが自明ではなく、あいまいだという点です。
これが絶対悪だというのはありえないにせよ、プログラム保守する上でこの問題はよく理解できるはず

996 名前:デフォルトの名無しさん [2024/03/06(水) 18:42:32.08 ID:T1kDuEf9.net]
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる

随意筋 不随意筋
  ↖ ↗
  チンポ

自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!

997 名前:デフォルトの名無しさん [2024/03/06(水) 20:32:09.54 ID:RxG6QCQE.net]
>>972
継承関係無いやん

998 名前:デフォルトの名無しさん [2024/03/10(日) 16:41:48.65 ID:VoY5srQP.net]
https://twitter.com/frozensholder/status/1766678736836149638

四十肩
@frozensholder
男はチンボで物を考え女は子宮でモノを考える。それが世界の理。
(deleted an unsolicited ad)

999 名前:デフォルトの名無しさん [2024/06/12(水) 21:54:40.54 ID:2UzQR7Po.net]
オブジェクト指向を学ばなかった話
https://qiita.com/adaiimps/items/e04ae03371435aeffe87

1000 名前:デフォルトの名無しさん [2024/06/13(木) 11:22:06.13 ID:fHN6F3J2.net]
>>970 の理屈だと Rust の trait もアウトだな

1001 名前:デフォルトの名無しさん [2024/06/13(木) 11:22:46.95 ID:fHN6F3J2.net]
アンカ間違えた >>971 です



1002 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 14:45:53.11 ID:gxf+efas.net]
メソッドの名前はまあ許せるが変数名の重複がアウトなんだよ
どっちもアウトという極端なネガティブ思考はもう聞き飽きた

1003 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 14:47:27.54 ID:lNMgjwmg.net]
>>976
RustやGoなどモダンな言語にはクラスはありませんから
クラス継承の問題もありません

1004 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 22:17:03.25 ID:RzblDdiK.net]
https://i.imgur.com/oWLfqqZ.jpg
もうすぐ終了です

1005 名前:デフォルトの名無しさん mailto:sage [2024/06/14(金) 09:40:27.76 ID:5ngAi6Ey.net]
もうすぐ終了です  
https://i.imgur.com/QiiT0Fx.jpg

1006 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 11:12:01.01 ID:EEfTRUen.net]
家族・友人に紹介で更に×5000円     
https://i.imgur.com/iBtMtnJ.jpg

1007 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 12:58:11.00 ID:lECmuUtZ.net]
5000円ゲットに加えて家族・友人に紹介で更に×5000円!   
https://i.imgur.com/OVgPyJY.jpg

1008 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 15:08:08.53 ID:GQubfVD8.net]
即時3000円+2500円貰えます  
https://i.imgur.com/zIUDvjy.jpg

1009 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 15:45:17.28 ID:5YPEUVSI.net]
スパムが梅に来てやがる

ちょっと違うけどちょっと似たスレ探した 次ここ埋めよう

オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net
mevius.5ch.net/test/read.cgi/tech/1451927425/

1010 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 16:37:40.69 ID:vKjwZw7A.net]
振り返ればCOMが一番成功してた事実
やはりこれからもコンポーネント指向だな

1011 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 23:46:33.68 ID:cxiEzNVX.net]
IUnknownは偉大 いまでも傑作のひとつだと思う



1012 名前:デフォルトの名無しさん [2024/06/17(月) 16:32:57.38 ID:prlYSpwu.net]
うんこナウ

1013 名前:デフォルトの名無しさん [2024/06/17(月) 17:48:17.60 ID:Hy1KBFGr.net]
関数自体を関数に引数としてどう渡すかって話だよ。

1014 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 13:05:53.08 ID:T9hZbeKo.net]
今だけです
https://i.imgur.com/fJ2Q9aF.jpg

1015 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 18:55:40.89 ID:HhVSQR1B.net]
終了までお早めに
https://i.imgur.com/aIqXmDB.jpg

1016 名前:デフォルトの名無しさん [2024/06/25(火) 13:43:55.89 ID:ZtCD4zFU.net]
ランサムωωω

1017 名前:デフォルトの名無しさん [2024/06/28(金) 16:44:13.15 ID:/Ex5ZKSC.net]
うめますか?

1018 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 17:46:32.19 ID:DfHx9zhO.net]
次スレまだ?

1019 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 18:06:50.53 ID:tE6002zU.net]
次スレできなかったら >>985

1020 名前:デフォルトの名無しさん [2024/06/28(金) 19:59:08.35 ID:TzaR5aOj.net]
糸冬

1021 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:00:12.74 ID:7Ebl2CLD.net]
板違いの雑談したがるアホの気持ちが理解できない
プログラム能力が小学生未満なのにム板で語りたがるアホども



1022 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 11:12:00.17 ID:yISeF17a.net]
板違いの雑談したがるアホの気持ちが理解できない
自治能力が小学生未満なのにム板で語りたがるアホども

1023 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 13:56:06.77 ID:44tg2Mvq.net]
999

1024 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 17:14:14.15 ID:n5ixZO2u.net]
終了しました

1025 名前:1001 [Over 1000 Thread ID:Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 307日 19時間 13分 21秒

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






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

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

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