第 (N+1) 次オブジェクト指向問答
人のコード見てると自分はここまでオブジェクト指向が出来ないなーと思う。 そんなfizzbuzzくらい良いじゃんとか思ってしまう。 確実に雑魚
2017-04-05 13:40:29歴史を調べるほどに分からなくなる「オブジェクト指向」 d.hatena.ne.jp/sumim/20040525… ubiteku.oinker.me/2016/05/09/wha… twitter.com/osake123/statu…
2017-04-05 16:58:31みんながそれをやったから現代の「オブジェクト指向」なる用語がこうなってるんじゃないか :-P twitter.com/yurau75/status…
2017-04-05 17:07:32Smalltalkも触ったことがない俺だけど、20年オブジェクト指向(C++、Java、Ruby、C#その他)やってきて思うのは、継承は地獄だし、もうクラスにメソッドとかいるの?とか思うけど、多相は欲しいし、さしあたって目の前にあるJavaには死んでほしいってことかな。
2017-04-05 17:10:32系譜を辿るとC++の「オブジェクト指向」のカプセル化、継承、多態性といった機能性のうち、継承と多態性を用いてコンパイル時の型チェックが発展した結果、この部分については「型システム」と呼ばれるようになったような感じなのかしら
2017-04-05 17:10:51「型システム」に部分的に移管されたという感じが正しいか。別に型システムがC++から生じたわけでもないし。型クラスやらジェネリクスやらも入り乱れて「型システム」はそれはそれで地獄の様相ではあるが
2017-04-05 17:12:32その辺の要素が「型システム」で語られるようになると、結局もとに戻って「オブジェクト指向」はインスタンス間のメッセージングによるプログラミングみたいな意味合いに純化されてるんですかねえ。いずれにせよ定義がはっきりしない言葉だからもやっとするな。オブジェクト指向
2017-04-05 17:14:13「オブジェクト指向」と呼ばれるものがだいたいこの辺、みたいなのはあるが、その境界ははっきりしておらず、狭義と広義のオブジェクト指向の間に人によるさまざまなグレーのオブジェクト指向の世界が広がってるぜ、というあたりでひとつ
2017-04-05 17:15:29オブジェクト指向って、要は頭の中でやってることをシステムに適用しようって手法なんだけど、頭の中は無視して説明されるので、ほぼ迷子になる。
2017-04-05 17:12:55オブジェクト指向ってぶっちゃけ言語に依存するよね 型(class)による分類プログラミングの確立とか、それっぽいことは言えるけど メッセージパッシングスタイルのオブジェクト指向だと 疑問が残るし
2017-04-05 17:16:42@yurau75 パラダイムってパラダイムでしかなくって 言語で実現しようとしたら、どこか無理したり妥協したり欲張ったりして 中立なんて夢っぽいですよね(実際夢に終わった。。。) 自分が触り始めた頃には言語毎にオブジェクト指向が確立されてたので、触り始める時代によっても印象違いま
2017-04-05 17:21:14型システム?読んだ? 型システム自体はオブジェクト指向と直接の関連性は無さそうだけどどうなだろう amazon.co.jp型シス テム入門-−プログラミング言語と型の理論−-Benjamin-C-Pierce/dp/4274069117
2017-04-05 17:19:36@nagise もともとオブジェクト指向って型については言及してなかったですよね? オブジェクト指向言語を実装する際の仕組むとして型システムが生まれてきたという認識なんだけど。 そういった本来のオブジェクト指向の要素に、実装上の話がどんどん追加されていった印象がスゴイ有る。
2017-04-05 17:15:37@yurau75 最初に挙げた d.hatena.ne.jp/sumim/20040525… で解説されていますが、SIMULA67をベースに、アラン・ケイとビアルネ・ストラウストラップがそれぞれ同時期に別解を出してオブジェクト指向と呼ばれるようになったところが混乱の元なのでは
2017-04-05 17:18:10@yurau75 なのでストラウストラップのC++の「オブジェクト指向」に立つと型システム的なものが入り込んできてしまう。 それを後付で「型システム」側にひっぱりだして純化して「オブジェクト指向」を再定義するのが実用性からすると妥当な感じはするけども
2017-04-05 17:20:42@yurau75 ……という提案に立てば、Java界隈でオブジェクト指向の話をするとさも当然のように「継承」と「多態」の話が出てきますけど、これはオブジェクト指向というより型システムの話じゃないですかね、ということになるわけですね。
2017-04-05 17:22:05