- 1 名前:デフォルトの名無しさん mailto:sageteoff [2016/01/05(火) 02:10:25.72 ID:hJUQcrkl.net]
- オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
https://twitter.com/ProgrammingMono/status/665702678006140928 研究グループは、血管新生注において血管が伸長する際の血管内皮細胞注運動を制御するしくみを、生物学と数理モデル・ コンピュータシミュレーションを融合させた先端的な研究手法により明らかにしました。 生物は、最小の機能単位である細胞が寄り集まった多細胞体です。しかし、細胞の集まりが、組織や器官といった 秩序ある形態や構造をつくり機能するしくみはほとんど分かっていません。中でも血管は、体中の全組織に十分な 酸素や栄養源を効率よく供給するため、組織や組織の間に入り込み、血管外の環境との相互作用により、巧妙な 枝分かれ構造をとっています。 これまでに本研究グループは、新しく血管がつくられる(血管新生)際の細胞の動きに着目し、特に血管内皮細胞の 動きをリアルタイムで可視化し、定量的に捉えることを可能にしてきました。 今回さらに、血管の伸長を制御するしくみについて、細胞が自発的に自らを制御して動く過程(自律的過程)と、 隣接した細胞から適宜影響を受けて動く過程(協調的過程)がうまく共存することで、全体の動きが巧みに統制 されていることを世界に先駆けて実証しました。 興味深いことに、血管内皮細胞が前後したり、お互いに追い抜きあったりという血管新生で見られる複雑な細胞集団の 動きを制御している中枢部分は、細胞一つ一つの動き(スピードと方向性)の「確率的な変化」として十分説明できる ことをコンピュータシミュレーションで実証しました。 www.jst.go.jp/pr/announce/20151120-2/#YOUGO3 前スレ オブジェクト指向は愚かな考え。この世は計算式 ★2 peace.2ch.net/test/read.cgi/tech/1450153388/
- 702 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 00:34:17.18 ID:JriZaYfU.net]
- もう少し正確に言えば、言語やライブラリが
イテレータパターンを実装しているから、 あとはそれに従うだけって感じかな。 意識せずにイテレータパターンを使っている。
- 703 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 00:40:31.89 ID:fZ/XAaEO.net]
- >>702
そやね その言い方は正しい
- 704 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 06:55:15.73 ID:N62pNMnU.net]
- >>702
「意識せずにイテレータパターンを使っている」は大間違い。
- 705 名前:703 mailto:sage [2016/08/07(日) 08:03:17.31 ID:vAScX9Az.net]
- >>704
そやね そっちが正しい パターンを使うのは設計者だからね
- 706 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:57:55.81 ID:TCnmrmuR.net]
- おっすおらフリーダムプログラマ
日夜社畜プログラマと戦ってるだ
- 707 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 13:46:12.84 ID:jSuSjrUB.net]
- >>702
> もう少し正確に言えば、言語やライブラリが > イテレータパターンを実装しているから、 正確に言うなら、イテレータパターンというのは、 > コンテナオブジェクトの要素を列挙する手段を独立させることによって、コンテナの内部仕様に依存しない > 反復子を提供することを目的とする 実装パターンのことで(Wikipediaより)、言語やライブラリがiterableな何かを提供しているからといって、 それらがイテレータパターンを実装しているとは限らない。
- 708 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 13:48:55.90 ID:jSuSjrUB.net]
- >>680
> 実装まで縛るならデザインパターンじゃなくてインプリメンテーションパターンだ 発想が逆だね。 ある機能を実現するための実装パターンを分類・カタログ化したものが、GoFのデザインパターンだ。
- 709 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:13:01.03 ID:BQ4UM/x3.net]
- まさしくその通りだね
そして同じ機能だったらどんな設計でもOKとしてしまっては デザインパターンの意味がない でもこの話題はもう終わりにしたいね
- 710 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:24:02.49 ID:aqLNls7E.net]
- だからデザパタなんか、屋根を屋根といってるだけで、トタンなのか瓦なのか藁葺きなのか何も定義してないって言っただろ。
だから積み木のおうちでも構わないんだよなぁ
- 711 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:38:41.07 ID:dN7u7NbH.net]
- パンピーは屋根には天井がセットでついてくると本気で思ってそうだから怖い。
- 712 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:41:39.71 ID:q4pU/gN8.net]
- >>709
とは言っても言語が違ってもデザインパターンは通用するわけで 実装がたった一つというわけじゃないのは確か C言語でオブジェクト指向をすることだってあるし、 クラスがなかったES5時代のJavaScriptでもデザインパターンは作れた。 重要なのはデザインパターンの設計に出てくる登場人物があるかどうかではないだろうか? 例えば、Decoratorパターンだと、Component、ConcreteComponent、 Decoretor、ConcreteDecoratorという登場人物がある。 これはクラス図で書かれているだろうけど、別にクラスである必要はない。 例えばクロージャーを使って実装してもかまわない。 またインターフェースは明示的に継承していなくても、事実上特定の関数を実装していなければ 正しく動かないなら、それはインターフェースを使っていると言ってもいいだろう。 これと同じ登場人物が出てくるものは同じデザインパターンといっても良いだろう。
- 713 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:46:47.76 ID:rabkqueT.net]
- そこまで行ったら別物だって。
クロージャーやら使ってクラス図レベルで逸脱してもいいという 宗派をひらきなよ。
- 714 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:57:23.36 ID:q4pU/gN8.net]
- >>713
そうはいってもだね。 クラス図がないES5でもデザインパターンの 設計通りに作れるでしょ?
- 715 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 05:48:45.82 ID:tGFAeOU0.net]
- >>712
ばーか
- 716 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:42:08.32 ID:ttLAI02G.net]
- >>714
クラス、クラス図がないからデザパタにクラスは不要というのは、本末を転倒してますよ。 GoF も述べているように(>>610) クラスの無い言語では、クラスの役割りを「カプセル化」パターン、 「継承」パターン等で補ってから、その上でたとえばデコレーターパターンを実現しているというだけです。
- 717 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 09:40:43.48 ID:zWs+JfAu.net]
- >>716
なるほど。言語仕様としてクラスの有無ではなく 継承パターンができていれば、その実装がクロージャーでも かまわないということですね。 そして継承パターンと言うものには、何が何を継承している という概念があるはずですから、その「何」が登場人物に なるわけですか。
- 718 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 10:28:51.94 ID:GFJow9Sf.net]
- 登場人物という考え方がバカっぽくて無理
- 719 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 15:03:31.41 ID:V7FsU68Q.net]
- 「○○言語だともっと簡単に実装できる」君と
「クロージャを使えばもっと簡単に実装できる」君は いい加減うざいよ?
- 720 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:26:29.88 ID:tGFAeOU0.net]
- >>719
その通りだと思います。 まずはソフトウェア設計は実装ではないが、 実装を縛る規範であるということを 理解したらいいと思います。 それが理解できたら帰っておいで。
- 721 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:57:41.45 ID:7qytW98y.net]
- デザインパターン
日本語で 設計見本でいいですか?
- 722 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 18:04:53.60 ID:c6svxtGU.net]
- そんな日本語があるか
- 723 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:57:07.69 ID:AUCg5/Tk.net]
- >>708
それは過程の話な結果として実装を示すならインプリメンテーションパターンと言っているだろうしかしデザインパターンと言っているから実装を抽象化したものだ具体的な実装を示すものではないってことさ
- 724 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:07:31.05 ID:GFJow9Sf.net]
- その前に君の書き込みを日本語のパターンにしてください
- 725 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:08:56.33 ID:AUCg5/Tk.net]
- >>681
設計が実装を具体的に決めてしまったら設計の意味がないと思うんだよおトイレとお風呂が一緒になってますってことと具体的な便器の形とは分けられると思うんですデザインパターンっていうのはいわばそういうものでお風呂とトイレを一緒にしたら便利だよってことさ
- 726 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:10:54.82 ID:AUCg5/Tk.net]
- >>724
おだまり便器野郎
- 727 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:24:12.28 ID:FqlEy475.net]
- どうせ計算式をクラスにするんだろ?
- 728 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 18:28:28.20 ID:vQt/3MfO.net]
- 濃厚電波、完飲。
- 729 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 00:10:10.82 ID:NEOTEyUk.net]
- いい加減、オブジェクト指向 vs 関数型なんていう無意味な議論やめようよ
直交する概念じゃん 関数型言語でも「本物の」オブジェクト指向プログラミングは出来るし、 最近の流行りはオブジェクト指向言語に関数型的な機能を付けることだろう
- 730 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 01:36:24.27 ID:Yh7//hE4.net]
- 本当のオブジェクトプログラムは、メッセージ交換だから、関数型が入る余地なんか無いけどな。
- 731 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 02:08:53.20 ID:6fraHMZW.net]
- お前ら、早く本論に入れ!
美少女クラスはなぜ人間クラスを継承出来ないのよ!!!
- 732 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 03:13:33.69 ID:Y0Jnfl62.net]
- 美少女はクラスじゃなくて人間クラスのインスタンスで
パラメータが特定の値のものなだけだよ。 プリンセスメーカーであれば「魅力」のパラメータが 高くて「年齢」が若ければ美少女なんじゃね?
- 733 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 11:57:12.25 ID:P1EAyeII.net]
- 排便メソッドはどうなるんだ!
- 734 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:00:28.85 ID:TUIKyN4z.net]
- >>729
本物…
- 735 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:36:04.19 ID:Yh7//hE4.net]
- >>732
まあそうだな。 人間クラスの女性属性で年齢属性が十代で、 あとはいろんなパラメータがバランス良く絶妙なバランスであるだけ。
- 736 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:43:17.25 ID:Y0Jnfl62.net]
- >>733
排便性能とでもいうパラメータ作れば良いんじゃねーの? 美少女じゃなくても排便が困難な人っているからな。
- 737 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 15:37:08.19 ID:Yh7//hE4.net]
- 便秘気味な美少女かw
- 738 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 16:44:15.38 ID:uCi+R87y.net]
- |
| 彡 ⌒ ミ \ (´・ω・`)またうんこの話してる... (| |):::: (γ /::::::: し \::: \
- 739 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 16:45:21.70 ID:P1EAyeII.net]
- オブジェクト指向は愚かな考え。
排便メソッドを実装した人間クラスから美少女クラスが作れない。
- 740 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 17:02:42.33 ID:NHD7YcMK.net]
- アヒルががーがーなくのではなく、がーがー鳴けばそれがアヒルなのである
うんこができればそれは人間なのである
- 741 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 17:08:50.15 ID:Y0Jnfl62.net]
- オウムがガーガーなけばそれはアヒルなのである?
- 742 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 19:19:30.08 ID:ATo5mwbJ.net]
- >>738
「ウンコを覗くときウンコもまたおまえを覗いているのだ。」 もうこの子は脳の端までウンコになっちゃったんだよ…
- 743 名前:デフォルトの名無しさん [2016/08/16(火) 12:32:47.23 ID:nB+m5lHF.net]
- 頬を紅潮させた少女のアナルは今にも決壊寸前のダムの如くヒクヒクと静かに脈打つのであった
そのアナルをまるで獲物を狙う蜥蜴の様な眼差しでジットリと凝視していたお前は…
- 744 名前:デフォルトの名無しさん mailto:sage [2016/09/04(日) 22:44:30.10 ID:AI4OMPbE.net]
- やはり、オブジェクト指向は愚かな考えなんでしょうか?
それはなぜですか?
- 745 名前:デフォルトの名無しさん mailto:sage [2016/09/05(月) 23:26:30.97 ID:2pvjX+vh.net]
- >>744
なんのメリットもないから
- 746 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 22:12:27.45 ID:vL431mpn.net]
- クロージャという秘境
- 747 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 09:06:24.12 ID:HdsNani4.net]
- オブジェクト指向にクロージャーが取り入れられてから、
オブジェクト指向は更に便利になった。
- 748 名前:デフォルトの名無しさん [2016/09/11(日) 09:11:08.53 ID:xTqWSUIJ.net]
- どうせなら理想のクロージャの構文はどんなものか議論しよう。
美少女のウンコの話はもういいから。
- 749 名前:デフォルトの名無しさん [2016/09/11(日) 10:48:53.37 ID:EVh79L2H.net]
- いや美少女うんこの方が重要だ
- 750 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 18:47:04.73 ID:LruamEXh.net]
- 間をとってクソージャ
- 751 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 10:17:01.19 ID:WLe9OZIE.net]
- おあとがよろしいようで
- 752 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 11:18:07.22 ID:DqPwyMnw.net]
- じゃあ質問
若い時は買ってでもするものな〜んじゃ?
- 753 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 11:24:36.38 ID:R5hylYBo.net]
- コンビニでトイレだけ借りるのは気まずいので後で何か買って帰る
- 754 名前:デフォルトの名無しさん [2016/09/12(月) 13:15:37.24 ID:zvXoPKj/.net]
- 美少女を買う
- 755 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 21:03:27.94 ID:p0km3lhz.net]
- >>752
find-travel.jp/article/2123 シンガポール初 キッズクラブ 12歳までの子供が安全に遊べます。小さい子供連れのファミリに―にはうれしい施設です。 セントーサエキスプレスの終点ビーチ駅で下車、徒歩五分ほどです。 子供は有料ですが、付き添いの大人は、無料です。
- 756 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 21:04:17.88 ID:p0km3lhz.net]
- www.dan-b.com/tp_luna/page1_1.html
ウェーブスターライド すべり台 もくば館の電動木馬 自走式のジェットコースター。小さなお子様でも、 大人の付き添いがあれば乗れる。 付き添いの大人は無料にしてくれる心遣いがうれしい。
- 757 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 19:06:05.53 ID:iND/Jut9.net]
- オブジェクト指向と計算式という対比がまずおかしいスレ
- 758 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 13:34:51.26 ID:SPhMZv+b.net]
- >>757
その前に>> 1の脳みそがオカシイ。 議論以前の話
- 759 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 16:47:20.70 ID:cBDVjyju.net]
- >>733
排便メソッドつくってうんち吐き出させれば良いじゃん…
- 760 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:51:29.32 ID:RJ2XVIqX.net]
- できの悪いプログラマはこうやってくだらんことに執着した挙げ句道を外すからな
オブジェクト指向を禁ずるのは当然だが、プログラムも規制すべきだろ
- 761 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 17:45:37.79 ID:4b98WttR.net]
- 外に公開するインターフェイスだけオブジェクト指向で中身は手続きとかできないの?
- 762 名前:デフォルトの名無しさん [2017/05/13(土) 00:36:36.42 ID:1iFjjcJx.net]
- 欲張りな事言うんじゃありません!
- 763 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 06:58:15.64 ID:tunExteF.net]
- なんでもかんでもOOPしないといけないという強迫観念も新しい病気みたいなもんだ
- 764 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 02:14:38.21 ID:92l7gqU0.net]
- OOPは自然な概念。
しようとしなくても自然にOOPで書いてしまう。
- 765 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 03:31:10.29 ID:DFEPxXnF.net]
- んじゃ、Cでファイル読んで行毎に番号振るプログラムを自然にOOPで書いてくれ。
OOPな言語でも油断してると手続き的なコードになるのが実感。 手続き型言語や関数型言語のが自然と言えば自然。 OOPはどっちかと言うと手続き型言語の限界を超える苦肉の策。 有効ではあっても、自然ではない。
- 766 名前:デフォルトの名無しさん [2017/05/14(日) 07:58:36.42 ID:HpXv37Pf.net]
- 手続き型の言語使ってるんだからそりゃ書き方は自然に手続き的になるわw
- 767 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:01:38.88 ID:FpH7uWr+.net]
- >>765
とりまなんかのOOPLで「ファイル読んで行毎に番号振る」操作の“油断した”版をideone.comあたりで晒して見せてよ
- 768 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 09:35:08.29 ID:Kxs5LDLR.net]
- >>765は愚かな考え
- 769 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 00:15:06.25 ID:pPIG/Itw.net]
- >>765
> Cでファイル読んで行毎に番号振るプログラム FILE構造体使うからOOPだな。
- 770 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 03:18:59.80 ID:sMDSuUUf.net]
- 後での取り回しのために動作分離してオブジェクトにするんであって
なんで"その中身をオブジェクト指向で書けるか?"なんて 頓珍漢な発想が出るのかの方が不思議だよ。
- 771 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 07:10:20.57 ID:fipzejMn.net]
- まぁそうだよね。関数型だって関数の中味に手続き書くだろうし
- 772 名前:デフォルトの名無しさん [2017/05/15(月) 07:18:26.21 ID:Nl227Lk0.net]
- 関数型言語で手続きは書けんですわ
- 773 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 09:31:45.07 ID:OVQU3b0Y.net]
- んなこたーない何のためのモナドだよ
- 774 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 12:20:31.47 ID:BOxxzUgK.net]
- >>771
関数型言語では手続きは書かない。 式か、式とパターンマッチやガードによる条件わけだけ。モナドもdo形式で書くと手続きっぽいけど、実際は大きな一つの式。 if/caseに似てるけど、文と式が入り乱れるのと違って全部式。 それで何が嬉しいかと言うと、正しい動作をすると言う証明が出来る。
- 775 名前:デフォルトの名無しさん [2017/05/15(月) 12:31:36.20 ID:ADjMf5zc.net]
- せやね関数型言語でも中身はモナド駆使して手続き的に書くのが自然やからね
…せやろか?
- 776 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 00:16:27.17 ID:HWJ+4Z2c.net]
- >>767
import sys for i, line in enumerate(open(sys.argv[1])): ____print i, line, Python3だとprint i, line end = ' ' ついついこう書いちゃうだろ? でも、出力先がGUIになった途端破綻する。 そう言うのを見越して汎用的にしとかんと。
- 777 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 06:05:49.63 ID:TdUcLCGW.net]
- 出力先を切り替えられるようにしたい、は別の要件でしょ
- 778 名前:デフォルトの名無しさん [2017/05/16(火) 06:12:48.09 ID:YL1OfOAE.net]
- >>776が全然破綻しとらん件
- 779 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 01:55:11.10 ID:879cm/wV.net]
- CでOOPしてたやつって、なんかのGUIライブラリでなかったっけか?
- 780 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 10:49:17.61 ID:sbMh7Sut.net]
- gtk
- 781 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 08:36:50.27 ID:wGbbC49U.net]
- X
- 782 名前:デフォルトの名無しさん [2017/06/20(火) 16:22:37.74 ID:AtKkt+PQ.net]
- オブジェクト指向の方が自然だと思うし好きだけどPythonやjsみたいな動的型付け言語でオブジェクト指向は無理というか無駄な気がしてきた
オブジェクト指向は副作用を限定化するためにカプセル化が必須だけど動的型付け言語だとそれが保証されない 横からいくらでもメンバの付け足しやメソッドのすげ替えができてしまう そうなると副作用の保証ができないどころか、静的解析によるインテリセンスやエラー検出というメリットさえ捨てる羽目になる そうなるともうオブジェクト指向で作る意味がない クラス単位で保証ができない以上、関数で保証する他なく 必然的に関数型にせざるを得ない
- 783 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 18:50:11.59 ID:8inGEH6m.net]
- 「世界がどんどん変わって行くのを俺が全部コントロールして阻止しなければならない…
そうでなければ世界はバラバラになってしまう…」 「どうしたんですか?先輩」(もぐもぐ 「おお後輩!…なんだそれ?」 「売店がパンじゃなくて弁当扱い出したんですよ ゴミかさばるから売店とこで捨てろですって。 まぁ、どうせ僕が一括して持ってくんでしょうがw」 「後輩」 「はい?」 「カレーある?」 「たしか」 「じゃあ、それ一つ」 「はい」
- 784 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 09:03:10.49 ID:Y4WM7moX.net]
- オブジェクト指向と副作用の保証は関係ない
- 785 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 03:06:58.86 ID:9ehpllTb.net]
- パイセン方、JS勉強したてでオブジェクト指向って言葉が出てきたばっかでよく分かってないドブネズミ以下の僕に教えて
オブジェクト指向ってプログラミングのルールとか具体的な所作のことを指すの? 例えば「このプログラムは誰が読んでも分かりやすいものしよう」程度のものはオブジェクト指向とは言わないの?
- 786 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 04:46:03.86 ID:wpPsIhCe.net]
- オブシコきっしょ
- 787 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 19:35:15.21 ID:NhSve46F.net]
- >>785
最初、「適当に飛び先決めて好きなように処理書いて戻す」やってたら 後でプログラマが死にそうになったので "入り口があったら出口はここ"とブロック化しようぜ!が『構造化プログラミング』 Cなどが直接の成果で今の言語はほぼこの流れを受け継いでる。 次にブロック(サブルーチン)化されたからこれをクラスとして使いまわそうぜ!が『オブジェクト指向』 ここで単純に使い回しの方向でCから発展したのがC++ 主目的が使い回し。 それとは別にブロックを使い回すにあたって「これをやれ」という具体的な コマンドを受けてクラスが独自に動くようにすれば 相互の関係がゆるくなって取り回しと修正が楽になる。というのが smalltalk>objective-C>JAVA〜と続いてるメッセージ/メソッド方式 目的はクラスの独立 もっと進んで命令すればクラスが自分でデータや仕事探すぐらいになるだろ? というエージェント指向はまだ実現していない。
- 788 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 20:29:54.68 ID:5IXklzdW.net]
- Javaをそちらのダメな考え方の方に入れるのはJavaが可哀そう
- 789 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 20:37:05.89 ID:2IdVcl0s.net]
- メソッドはメッセージ側のスタイルなんでなぁ。
ウィキペディアの「影響を受けた言語」書き換えてくるかい? 「クラスとは構造体に関数がついたもの」って90年代の C++なんかをベースにしたオブジェクト指向の説明とか いまじゃ誰も電波すぎて理解できねぇよ。 「自動車は馬車から馬が外れたものである」かっつの…
- 790 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 21:48:06.61 ID:5IXklzdW.net]
- オブジェクトはデータに自身を操作するための処理が付いたもの
というありがちな説明は、これを正しいとするかどうかは別として 電波すぎて理解できない、という程のものではない 厳密かどうかは置いておいたとして、具体性があり、ある種の分かりやすさはある 「データ」とか「処理」とかいう言葉は、プログラマじゃなくても知ってる一般的な言葉だし 大体の人が正しく理解して使っているであろう ということと、コンピュータの根本の原理も大昔から特に変わってないので 「データ」や「処理」という言葉が、理解できないほどに意味をなさなくなっているわけでもない 普通に理解できる範囲 実際にはもっと賢い表現が適切であろうが、今は理解できる文言かどうかが焦点であるから 関係が無い どちらかというとsmalltalkというかアランケイのオブジェクト指向の表現の方が若干電波であり 事前に知識が無ければ、何を言っているかよくわからない、正しく理解できない 現実の部分が見えてこない、拡大解釈してしまう、思考が発散する、といったところ 最終的には生態系がどうのこうの言い出すから
- 791 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 08:44:57.99 ID:NpsU3dCh.net]
- >>790
> どちらかというとsmalltalkというかアランケイのオブジェクト指向の表現の方が若干電波 アラン・ケイのメッセージングのオブジェクト指向は、設計・実装・実行・運用・保守とあらゆる局面における 「遅延結合」(…という表現だと実行時のみにひっぱられる人がいるので「決定の遅延」の方がベターか)を メッセージングというお題目を通じて実践・徹底・サポートするアイデアなのだけど d.hatena.ne.jp/katzchang/20080807/p2 metatoys.org/oxymoron/oxymoron.html 具体的にはどこらへんが“電波”だと感じるのか、きかせてもらってもいい?
- 792 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 09:16:50.33 ID:oLQXjxeQ.net]
- 全部電波じゃねえかwww
- 793 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 10:03:16.12 ID:orh4jmw3.net]
- >>791
前からちょいちょい思ってたけれど、脳がパソコンの一個のCPUで完結してる人とか 処理時間の遅れとか当人の脳内世界に存在しないから概念が理解できないみたい。 60年代に大学間などの通信ネットワークが作られてこのかた 現代のマルチタスク・マルチコアに至るまで 相手の処理終了が不明な状態で "逐次実行なんか期待できない"というところから話が始まってるのに 脳が「プログラムってバッチ処理だろ?」で止まってるから 「順番に動かないプログラムなんてあるか!」って本気で思ってるんだよ、こういう人…
- 794 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 13:34:41.77 ID:NpsU3dCh.net]
- >>792
>全部電波じゃねえかwww うん。だから例えば具体的にはどんなとこころ? あるいは件の主張を端から理解する気が無いのならレスは無用に願います
- 795 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 16:54:15.12 ID:s1JdgxyV.net]
- >>790
>事前に知識が無ければ、何を言っているかよくわからない、正しく理解できない Smalltalkを理解するために事前の知識は要らないぞ。 実践せずに本やブログ記事を読むだけで理解しようと思っている人は苦労するだろうけど。
- 796 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 19:42:10.36 ID:NpsU3dCh.net]
- >>795
んー、それはどうだろう。気持ちはわらんでもないけど、ちょっと言い過ぎではないかなぁ… たとえば同じように Python を“理解するために事前に必要とされる知識”を問われた場合、 どんな答えを想定しているか教えてもらえる? あるいは Java なら必要だけど、Python であれば Smalltalk と同程度には必要ないとかそんな程度の話?
- 797 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 15:03:26.59 ID:sLFMqneM.net]
- 例のFILE構造体を用いたファイル操作はファイルシステムに対する低水準な操作がカプセル化され利用者から見えない設計だからオブジェクト指向設計、
と言って良いものかどうか… (内部ではiob[ ]という配列操作になっておりインスタンスの個数に上限がある && 物理ディスクの個数はもっと小さいから、ファイル操作の内部の実装にはiob[ ]全体を操作対象とする手続き型のコードが含まれる これをオブジェクト指向と呼んで良いのなら、ユニックスのシステムコールやWin32 APIからハンドルを受け取って ハンドルに対して操作を行うのは全部オブジェクト指向と呼んで良いことになる が
- 798 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 15:11:23.58 ID:sLFMqneM.net]
- >>793
順番として書けないプログラムがあるか!!!!111!!!!1! 確かに非同期に動く複数のブツというやつは全体としては順序的でない並列的な振る舞をするが それらを同期させる手順自体は順序として書ける(そうでないとCPUに処理させられない
- 799 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:52:17.25 ID:H/n/hEUB.net]
- >>798
のような話もあると思う マルチプロセスだろうが、複数のコンピュータだろうが、なんであれ 結局、処理の順番は大事だろう というのもあるが、それは置いておいたとして >"逐次実行なんか期待できない"というところから話が始まってるのに 逐次実行が期待できないケースがあったとして、それはそれで置いておくけど 逐次実行が期待できるケースにまでそのモデルを使わなければならないのかどうなのか ってのは有ると思う a = 1 + b; ・・・@ b = c + 2; ・・・A の@Aに関しては、少なくとも逐次実行を期待したいし 複雑なモデルは必要ないと思う 全部の個所において、ありとあらゆることを想定した包括的モデル、を適用するのは あまり好きではない
- 800 名前:デフォルトの名無しさん [2017/07/30(日) 00:46:29.50 ID:k8Kwm2zH.net]
- a={1,2,........100};
sum(a); こんな場合、遠くの鯖でも近くの鯖でも10なら10ずつ(実際ににはもっと粒度が大きくないと割に合わないけど)分割して1-10の合計+11-20の合計+...って感じで全部揃いさえすれば順番関係無いって処理もあるお。
- 801 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 02:32:19.52 ID:pLyoXQEm.net]
- >>799
オブジェクト指向(C++とかじゃなくて上でいうアランケイ的な)が 逐次処理を否定していると思ってるなら、それは違う 言うならば、並列処理できるときにも逐次処理するのを否定しているという感じ。 その例にあげた依存のある計算みたいに、逐次処理が必要なところは そうしなきゃならない。でもそうじゃないところは並列にやればいい。 CPUのスーパースカラも同じだね。前の命令の演算結果を参照するような 場合はパイプラインが止まるけど、依存が無ければ並列にどんどん進められる
- 802 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:12:50.06 ID:oVuvng50.net]
- >>800
バ、バラバラに計算した部分和を最後にどうするんです?
|

|