すごいんだよ?
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
前スレ オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
探検
オブジェクト指向ってクソじゃねぇよ? Part2
レス数が1000を超えています。これ以上書き込みはできません。
2018/10/18(木) 23:20:41.34ID:/ofNkRJS
972デフォルトの名無しさん
2018/11/22(木) 12:53:30.19ID:ElVxNvlT 611 名無し三等兵 (ワッチョイ 7fe7-t9Bb) sage 2018/11/22(木) 12:46:59.97 ID:vFEoyYoC0
>>587
「ちんちん」の語源の1つの説に、
支那の娼婦が幼児語で「入れて入れて」と言った言葉を
当時の出羽守が有難がって日本に広めたという
かなり眉唾物な故事がある。
その説に依るなら「チンポかシコシコする。」は
当然のように入れた側の所感とその転用じゃな。
591 名無し三等兵 (スッップ Sd1f-hEn1) sage 2018/11/22(木) 12:26:55.61 ID:9IvK1JXqd
>>587
シコシコするは他動詞なので、所有者の意思とは無関係にチンポが自立行動するのであれば「イライラする」「ムラムラする」という自動詞を用いるのが正しい
>>587
「ちんちん」の語源の1つの説に、
支那の娼婦が幼児語で「入れて入れて」と言った言葉を
当時の出羽守が有難がって日本に広めたという
かなり眉唾物な故事がある。
その説に依るなら「チンポかシコシコする。」は
当然のように入れた側の所感とその転用じゃな。
591 名無し三等兵 (スッップ Sd1f-hEn1) sage 2018/11/22(木) 12:26:55.61 ID:9IvK1JXqd
>>587
シコシコするは他動詞なので、所有者の意思とは無関係にチンポが自立行動するのであれば「イライラする」「ムラムラする」という自動詞を用いるのが正しい
973デフォルトの名無しさん
2018/11/22(木) 14:13:32.13ID:WA/+SJn9 >>969
> 未実装メソッドを実装するときににコンテキストが分かれば(つまり実行中なら)実装もしやすいだろうとそういうメリットだよ
それは実行しなくてもコンテキストがわかるなら
もっとメリットが有るってことかな?
> 未実装メソッドを実装するときににコンテキストが分かれば(つまり実行中なら)実装もしやすいだろうとそういうメリットだよ
それは実行しなくてもコンテキストがわかるなら
もっとメリットが有るってことかな?
974デフォルトの名無しさん
2018/11/22(木) 14:14:27.19ID:ElVxNvlT975デフォルトの名無しさん
2018/11/22(木) 14:28:15.43ID:WA/+SJn9 結局Smalltalkの実行中に編集ができるっていうのは単なる
未実装メソッドを実装するときににコンテキストが分かれば
(つまり実行中なら)実装もしやすいだろう程度のことでしかなかったということだ
要するに、テキストエディタの補完機能でなんとかなるし、
型があればもっと実行しなくてももっと正確にコンテキストがわかるということ
大したメリットじゃないんだよね
未実装メソッドを実装するときににコンテキストが分かれば
(つまり実行中なら)実装もしやすいだろう程度のことでしかなかったということだ
要するに、テキストエディタの補完機能でなんとかなるし、
型があればもっと実行しなくてももっと正確にコンテキストがわかるということ
大したメリットじゃないんだよね
976デフォルトの名無しさん
2018/11/22(木) 14:40:49.98ID:DWgniQ0o >>973
> それは実行しなくてもコンテキストがわかるなら
> もっとメリットが有るってことかな?
もとより、コンテキストの関係ない関数型ならいらない機能だけどそれはさておき
それなりの深さを持つコールスタックと状態を持つオブジェクト指向を使い続けるならそういうことになるだろうね
でもホットスワップだとかインクリメンタルコンパイルとか無茶しやがって…って技術をこれまでも早期結合派は編み出してきたわけだから
(君は無理っぽいが)その便利さが分かる人がいれば、いつかコンテキストを実行せずに知る技術もひねり出されるんじゃないかな
> それは実行しなくてもコンテキストがわかるなら
> もっとメリットが有るってことかな?
もとより、コンテキストの関係ない関数型ならいらない機能だけどそれはさておき
それなりの深さを持つコールスタックと状態を持つオブジェクト指向を使い続けるならそういうことになるだろうね
でもホットスワップだとかインクリメンタルコンパイルとか無茶しやがって…って技術をこれまでも早期結合派は編み出してきたわけだから
(君は無理っぽいが)その便利さが分かる人がいれば、いつかコンテキストを実行せずに知る技術もひねり出されるんじゃないかな
977デフォルトの名無しさん
2018/11/22(木) 14:42:50.30ID:WA/+SJn9 >>976
そんなにコンテキスト(=型情報)を知ること重要?w
そんなにコンテキスト(=型情報)を知ること重要?w
978デフォルトの名無しさん
2018/11/22(木) 14:48:36.51ID:DWgniQ0o >>977
コンテキストは実行時情報で型情報ではないよ?
コンテキストは実行時情報で型情報ではないよ?
979デフォルトの名無しさん
2018/11/22(木) 16:42:53.79ID:aWnPsB95 OOPのメリットと言う上記全てがCommonLispでも可能だが、別にCommonLispがオブジェクト指向だからというわけではないぞ
実行時の環境がどれだけ豊かかという点はオブジェクト指向に関係は無いよ。smalltalkの特徴と混同し過ぎではないか?
実行時の環境がどれだけ豊かかという点はオブジェクト指向に関係は無いよ。smalltalkの特徴と混同し過ぎではないか?
980デフォルトの名無しさん
2018/11/22(木) 16:57:56.75ID:WA/+SJn9981デフォルトの名無しさん
2018/11/22(木) 17:22:56.72ID:ElVxNvlT チンポがシコシコするぜ!!
982デフォルトの名無しさん
2018/11/22(木) 17:27:01.89ID:DWgniQ0o >>979
> OOPのメリットと言う上記全てがCommonLispでも可能
アラン・ケイは彼のOOPで目指した「決定の遅延」がLispでも(というかSmalltalkとLispのみで)可能と述べていますから当然ですね
「決定の遅延」を「メッセージング」というメタファー(まあ実際に送るのでもいいのですが)を使って目指すのがケイのOOPなので
「メッセージング」を使わずとも「決定の遅延」は実践可能だからこれは(ケイの)OOPの本質ではないという指摘は
主客を取り違えています。
同様のことはビョーン・ストラウストラップらの「ユーザー定義型をクラス(様エンティティ)でやる」アイデアのOOPについても言えて
ユーザー定義型(データ抽象、抽象データ型)はクラスのない××言語でもできるから、これはOOPの本質じゃない!という指摘も
やはり的を外しています
> OOPのメリットと言う上記全てがCommonLispでも可能
アラン・ケイは彼のOOPで目指した「決定の遅延」がLispでも(というかSmalltalkとLispのみで)可能と述べていますから当然ですね
「決定の遅延」を「メッセージング」というメタファー(まあ実際に送るのでもいいのですが)を使って目指すのがケイのOOPなので
「メッセージング」を使わずとも「決定の遅延」は実践可能だからこれは(ケイの)OOPの本質ではないという指摘は
主客を取り違えています。
同様のことはビョーン・ストラウストラップらの「ユーザー定義型をクラス(様エンティティ)でやる」アイデアのOOPについても言えて
ユーザー定義型(データ抽象、抽象データ型)はクラスのない××言語でもできるから、これはOOPの本質じゃない!という指摘も
やはり的を外しています
983デフォルトの名無しさん
2018/11/22(木) 17:32:39.19ID:WA/+SJn9 ほんとなぁ「決定の遅延」を言語でやることが目的になってるよなw
なんのためにやるのか?それは言語以外のレイヤーで実現できないのか?
それが抜けてる
なんのためにやるのか?それは言語以外のレイヤーで実現できないのか?
それが抜けてる
984デフォルトの名無しさん
2018/11/22(木) 17:33:23.62ID:DWgniQ0o >>980
書いてあるじゃんw
実行時のもろもろの情報だよ
コールスタックだったり、インスタンス変数情報だったり、テンポラリー変数情報だったりとにかく様々だよ
もちろん型情報も含まれるけど「イコール」ではない
書いてあるじゃんw
実行時のもろもろの情報だよ
コールスタックだったり、インスタンス変数情報だったり、テンポラリー変数情報だったりとにかく様々だよ
もちろん型情報も含まれるけど「イコール」ではない
985デフォルトの名無しさん
2018/11/22(木) 17:34:39.94ID:WA/+SJn9 > コールスタックだったり、インスタンス変数情報だったり、テンポラリー変数情報だったりとにかく様々だよ
つまりデバッガとブレークポイントによって実現できることって話か
決定の遅延となんの関係もないw
つまりデバッガとブレークポイントによって実現できることって話か
決定の遅延となんの関係もないw
986デフォルトの名無しさん
2018/11/22(木) 17:44:37.74ID:DWgniQ0o >>983
別に言語のみにこだわる必要はないと思うよ?どうしてそんなふうに思う?
とにかくSmalltalkを気にしすぎだよ
他のレイヤーでできているならそれでいいと思うよ
Smalltalkについては学習コストを鑑みて
全てをオブジェクトとそれへのメッセージングというシンプルなドグマで解決できるならベターだし
言語(というかOSモドキ)ならそういう世界を比較的簡単に実現し、そこでの実践を通じて実用性の検証ができるというだけの話だろう
別に言語のみにこだわる必要はないと思うよ?どうしてそんなふうに思う?
とにかくSmalltalkを気にしすぎだよ
他のレイヤーでできているならそれでいいと思うよ
Smalltalkについては学習コストを鑑みて
全てをオブジェクトとそれへのメッセージングというシンプルなドグマで解決できるならベターだし
言語(というかOSモドキ)ならそういう世界を比較的簡単に実現し、そこでの実践を通じて実用性の検証ができるというだけの話だろう
987デフォルトの名無しさん
2018/11/22(木) 17:45:49.73ID:WA/+SJn9 結局の所、決定の遅延で何が出来るか?というとデバッグ時にソースコードを
編集する機能が作りやすくなるというメリットだったって話で良いかね?
↓つまりこれ
コードを編集し、(c#、VB、C++)、Visual Studio でデバッグを続行
https://docs.microsoft.com/ja-jp/visualstudio/debugger/edit-and-continue?view=vs-2017
> エディット コンティニュを使用すると、プログラムが中断モードのときに
> ソース コードを変更できるため、時間を節約できます。 などの実行コマンドを選択して、
> プログラムの実行を再開すると続行または手順、エディット コンティニュに
> 自動的にいくつかの制限でコード変更を適用します。 このため、デバッグ セッション中に
> コードを変更できます。デバッグ セッションをいったん停止し、プログラム全体を
> 再コンパイルしてからデバッグ セッションを再開する必要がありません。
編集する機能が作りやすくなるというメリットだったって話で良いかね?
↓つまりこれ
コードを編集し、(c#、VB、C++)、Visual Studio でデバッグを続行
https://docs.microsoft.com/ja-jp/visualstudio/debugger/edit-and-continue?view=vs-2017
> エディット コンティニュを使用すると、プログラムが中断モードのときに
> ソース コードを変更できるため、時間を節約できます。 などの実行コマンドを選択して、
> プログラムの実行を再開すると続行または手順、エディット コンティニュに
> 自動的にいくつかの制限でコード変更を適用します。 このため、デバッグ セッション中に
> コードを変更できます。デバッグ セッションをいったん停止し、プログラム全体を
> 再コンパイルしてからデバッグ セッションを再開する必要がありません。
988デフォルトの名無しさん
2018/11/22(木) 17:45:51.26ID:DWgniQ0o989デフォルトの名無しさん
2018/11/22(木) 17:47:36.57ID:DWgniQ0o990デフォルトの名無しさん
2018/11/22(木) 17:48:27.96ID:WA/+SJn9 >>986
> とにかくSmalltalkを気にしすぎだよ
それはSmalltalkぐらいだからだよ
「決定の遅延」という言葉が独り歩きして
それで何が出来るのか?が語られないのは。
でもはっきりしたじゃないか。デバッグ時にソースコード編集機能を
実現しやすくなるのが「決定の遅延」
そして別に決定の遅延をしなくても、デバッグ時にソースコードを編集する機能は実現できる。
言語のメリットとして上げるほどのことでもなかった。
> とにかくSmalltalkを気にしすぎだよ
それはSmalltalkぐらいだからだよ
「決定の遅延」という言葉が独り歩きして
それで何が出来るのか?が語られないのは。
でもはっきりしたじゃないか。デバッグ時にソースコード編集機能を
実現しやすくなるのが「決定の遅延」
そして別に決定の遅延をしなくても、デバッグ時にソースコードを編集する機能は実現できる。
言語のメリットとして上げるほどのことでもなかった。
991デフォルトの名無しさん
2018/11/22(木) 17:50:18.97ID:WA/+SJn9992デフォルトの名無しさん
2018/11/22(木) 17:52:26.05ID:WA/+SJn9 再実行する手間がいやなら、ソースコードを編集して保存したら
自動的にテストを再実行するようにすればいい。
ファイルを保存したときにテストを自動で実行する
https://qiita.com/135yshr/items/0e14082cf3a8e654964c
自動的にテストを再実行するようにすればいい。
ファイルを保存したときにテストを自動で実行する
https://qiita.com/135yshr/items/0e14082cf3a8e654964c
993デフォルトの名無しさん
2018/11/22(木) 17:52:45.81ID:DWgniQ0o >>990
> それはSmalltalkぐらいだからだよ
そりゃそうだよ
今のところLispとSmalltalkくらいしかできないことのさらに高みを目指そうっていう話なんだから…
早期結合派は誰か目先の利く人が無茶をして実現された技術が導入されて普及しないかぎり永久に理解できない話だと思うよ
> それはSmalltalkぐらいだからだよ
そりゃそうだよ
今のところLispとSmalltalkくらいしかできないことのさらに高みを目指そうっていう話なんだから…
早期結合派は誰か目先の利く人が無茶をして実現された技術が導入されて普及しないかぎり永久に理解できない話だと思うよ
994デフォルトの名無しさん
2018/11/22(木) 17:53:57.61ID:WA/+SJn9 もう早期結合派とか言わんでくれる?
コードを編集してデバッグを続行する機能でしかないんだから
コードを編集してデバッグを続行する機能でしかないんだから
995デフォルトの名無しさん
2018/11/22(木) 17:56:02.22ID:DWgniQ0o 昔はホットスワップなんてアクロバチックな機能はいらない
インクリメンタルコンパイルなんてコンパイル速度が速ければいらないだろとか言ってたクチじゃないの?
インクリメンタルコンパイルなんてコンパイル速度が速ければいらないだろとか言ってたクチじゃないの?
996デフォルトの名無しさん
2018/11/22(木) 18:10:45.29ID:DWgniQ0o 図星かw
Smalltalkが「決定の遅延」を実践し難なく実現したアクロバチックな便利機能を
早期結合派の有志が無茶をしつつも実現し普及させ、君みたいな想像力に乏しい人でもしたり顔でその恩恵にあずかれる
いい話じゃないか
Smalltalkが「決定の遅延」を実践し難なく実現したアクロバチックな便利機能を
早期結合派の有志が無茶をしつつも実現し普及させ、君みたいな想像力に乏しい人でもしたり顔でその恩恵にあずかれる
いい話じゃないか
997デフォルトの名無しさん
2018/11/22(木) 18:59:37.96ID:sPtmfb/w998デフォルトの名無しさん
2018/11/22(木) 19:02:35.09ID:WA/+SJn9999デフォルトの名無しさん
2018/11/22(木) 19:03:59.99ID:eioG5FBi SmalltalkのOSモドキはLinuxやWindowsといった本物のOSと比べて
あまりにも出来損ないのゴミなのが問題なんだよ
決定の遅延?大変結構だと思うよ?本物のOSの上で出来るならね
でもゴミOSモドキの上でOSゴッコするくらいなら決定の遅延なんて要らない
あまりにも出来損ないのゴミなのが問題なんだよ
決定の遅延?大変結構だと思うよ?本物のOSの上で出来るならね
でもゴミOSモドキの上でOSゴッコするくらいなら決定の遅延なんて要らない
1000デフォルトの名無しさん
2018/11/22(木) 19:04:26.90ID:WA/+SJn9 だから最初から言ってるように、Smalltalk初期の時代はメリットが
あったかもしれないけど、今となっては言語機能に含めなくても
別の方法で本来の目的が達成できるようになったと言ってる
あったかもしれないけど、今となっては言語機能に含めなくても
別の方法で本来の目的が達成できるようになったと言ってる
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 34日 19時間 43分 46秒
新しいスレッドを立ててください。
life time: 34日 19時間 43分 46秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に [蚤の市★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★3 [ぐれ★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- ゼレンスキー氏、NATO加盟断念に言及 ドイツで米代表団と [蚤の市★]
- 「婚活中の男女の8割以上が婚活疲れ」続ければ続けるほど蟻地獄にハマる必然とは? ★2 [ぐれ★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 国土交通省&警察「15日以内に保安基準に適合するようにクルマを直して見せに来い!帰ってよし!」即免停にしろよ [696684471]
- 高市早苗、病気か?ろれつ回らず上手く喋れずwwwwww [153490809]
- 朝から下痢ゲロ大会開催中
- (´・ω・`)おはよ
- 電車で目の前に超きもいのがいる
- 中岡←何を思い浮かべた?
