無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語: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
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
前前スレ
オブジェクト指向ってクソじゃねぇかよPart3
https://mevius.5ch.net/test/read.cgi/tech/1542884872/
前スレ
オブジェクト指向ってクソじゃねぇかよPart4
https://mevius.5ch.net/test/read.cgi/tech/1556462315/
オブジェクト指向ってクソかよPart5
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2019/10/08(火) 15:46:57.38ID:YglSDU9b2019/10/08(火) 16:32:40.81ID:wc9EJfFY
オブジェクト指向はクソじゃなかったよ Part3
https://mevius.5ch.net/test/read.cgi/tech/1542885246/
https://mevius.5ch.net/test/read.cgi/tech/1542885246/
2019/10/08(火) 16:33:29.66ID:wc9EJfFY
状態管理技術★オブジェクト指向 VS モナド(関数型)
https://mevius.5ch.net/test/read.cgi/tech/1538080434/
[転載禁止] オブジェクト指向を今すぐやってください(c)2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1414409620/
オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1451927425/
LinuxカーネルはC言語なのにオブジェクト指向
https://mevius.5ch.net/test/read.cgi/tech/1543063194/
C++はクソだがオブジェクト指向がクソなのではない
https://mevius.5ch.net/test/read.cgi/tech/1544632246/
オブジェクト指向以外のメリットを書くスレ
https://mevius.5ch.net/test/read.cgi/tech/1542808008/
オブジェクト指向の活用方法を教えて下さい
https://mevius.5ch.net/test/read.cgi/tech/1395751447/
https://mevius.5ch.net/test/read.cgi/tech/1538080434/
[転載禁止] オブジェクト指向を今すぐやってください(c)2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1414409620/
オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1451927425/
LinuxカーネルはC言語なのにオブジェクト指向
https://mevius.5ch.net/test/read.cgi/tech/1543063194/
C++はクソだがオブジェクト指向がクソなのではない
https://mevius.5ch.net/test/read.cgi/tech/1544632246/
オブジェクト指向以外のメリットを書くスレ
https://mevius.5ch.net/test/read.cgi/tech/1542808008/
オブジェクト指向の活用方法を教えて下さい
https://mevius.5ch.net/test/read.cgi/tech/1395751447/
2019/10/08(火) 21:07:58.90ID:LbrU2ENb
前スレ最後の一ヶ月でドドっと進んだな
2019/10/08(火) 22:15:07.68ID:PABlxMbH
staticおじさん超バカにしてたんだけど
前スレにリンクあったから約10年ぶりに読んでみたらちょっと印象変わったわ
むしろOOを必死に説明しようとしてる人たちの煽り耐性の低さと中身の薄さに驚いた
https://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
前スレにリンクあったから約10年ぶりに読んでみたらちょっと印象変わったわ
むしろOOを必死に説明しようとしてる人たちの煽り耐性の低さと中身の薄さに驚いた
https://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
2019/10/08(火) 23:03:10.93ID:Zz7EGsZv
信者は盲目で物事の本質よりも自分が信じた教条や面子が大事だからな
だまされたともしらず
だまされたともしらず
2019/10/08(火) 23:12:45.74ID:Zz7EGsZv
それは、このスレについても一緒
2019/10/08(火) 23:56:30.29ID:5JNTYipx
なにげに1スレが良スレ
staticおじさんのほうが自分がわからないことを認めてル分だけマシ
なにがメリットなのか説明できないのに、
持論を押しつけてくるバカが湧いてくるのは変わらん
staticおじさんのほうが自分がわからないことを認めてル分だけマシ
なにがメリットなのか説明できないのに、
持論を押しつけてくるバカが湧いてくるのは変わらん
2019/10/09(水) 01:01:29.83ID:HOttFWO2
改めて1スレ読んでみた。
身分がヨパラテ書いた批判レスの誤記がやけに目立ったw
身分がヨパラテ書いた批判レスの誤記がやけに目立ったw
2019/10/09(水) 01:06:10.21ID:HOttFWO2
2019/10/09(水) 04:24:15.79ID:TYyTLU0G
当時はRailsが流行ってたからなんじゃないの
2019/10/09(水) 07:09:04.23ID:V2kL4405
なんで「カプセル化ってクソかよ」ってスレタイにしなかったの?
2019/10/09(水) 09:11:51.05ID:utYAxsvn
>>1のマッチポンプという言葉に触発されてチンポをシコシコするようになったのかな
14デフォルトの名無しさん
2019/10/09(水) 09:20:02.77ID:tHn556Tb 継承・カプセル化・多態のオブジェクト指向三本柱マンのうち最初に倒壊したのはカプセル化じゃなくて継承なんだがな。
やれ継承より委譲だの、継承よりコンポジションだの、オブジェクト指向界隈内外からボッコボコよ。
やれ継承より委譲だの、継承よりコンポジションだの、オブジェクト指向界隈内外からボッコボコよ。
2019/10/09(水) 09:47:07.00ID:U4YBgj6o
まじかよ2019年にもなってこんなこと言う奴いるのかよ。終わってるな日本。
2019/10/09(水) 12:41:20.40ID:pozjB7/S
>>15
それ3000年前に土器焼きながら埴輪が言ってた
それ3000年前に土器焼きながら埴輪が言ってた
2019/10/09(水) 13:12:12.54ID:2IGAh0bF
最初に倒壊したのは多態じゃないの?
ぱっと見きれいに書けるんだけど、次第にグダグダになる
カプセル化が次かな。setter と getter を使わないと書けない
というところで破綻している
ぱっと見きれいに書けるんだけど、次第にグダグダになる
カプセル化が次かな。setter と getter を使わないと書けない
というところで破綻している
2019/10/09(水) 13:48:29.97ID:i4LeYaG1
19デフォルトの名無しさん
2019/10/09(水) 15:17:31.68ID:gEtou4VA 完全に倒壊して以後作られた言語が腫れ物に触るように扱ってるのは継承だけ。
逆に言うと他二つは生きてる。
三本柱→二足歩行だから、
おじいちゃんから青年に若返ったとも言える。
逆に言うと他二つは生きてる。
三本柱→二足歩行だから、
おじいちゃんから青年に若返ったとも言える。
2019/10/09(水) 15:38:09.54ID:U4YBgj6o
2019/10/09(水) 17:06:48.31ID:kGq1JDkC
まあアレだよね。自分の設計の下手さを
言語のせいにしてるっていうよくある構図
言語のせいにしてるっていうよくある構図
2019/10/09(水) 17:33:28.21ID:2IGAh0bF
>>18
多態がきれいに決まった例を教えてくれ。
グダグダになった例しか私は知らないが
カプセルかは引数経由でしか内部状態の参照、書き換えを
許さないという意味だから、setter, getter の話では?
多態がきれいに決まった例を教えてくれ。
グダグダになった例しか私は知らないが
カプセルかは引数経由でしか内部状態の参照、書き換えを
許さないという意味だから、setter, getter の話では?
2019/10/09(水) 17:47:56.44ID:kGq1JDkC
>>22
お前なんか考え方がおかしいぞ。
なんだよきれいに決まるって
既存の物理法則か何かを多態で表現できるかどうかとか
そういう話してるんじゃないぞ
「ソフトウェアを作る時」に多態を使うんだよ。
当てはめるんじゃない。ソフトウェアの設計の話だ
多態の例ならGUIシステムで多用されてるだろ。
各コンポーネントはrender()メソッドを持っていて
各コンポーネントそれぞれのやり方で見た目を描画するとかさ
お前なんか考え方がおかしいぞ。
なんだよきれいに決まるって
既存の物理法則か何かを多態で表現できるかどうかとか
そういう話してるんじゃないぞ
「ソフトウェアを作る時」に多態を使うんだよ。
当てはめるんじゃない。ソフトウェアの設計の話だ
多態の例ならGUIシステムで多用されてるだろ。
各コンポーネントはrender()メソッドを持っていて
各コンポーネントそれぞれのやり方で見た目を描画するとかさ
2019/10/09(水) 17:50:35.35ID:kGq1JDkC
>>22
> カプセルかは引数経由でしか内部状態の参照、書き換えを
> 許さないという意味だから
ぜんぜん違う。
obj.value = obj.value + 1
↑これはカプセル化が行われてるかつ、引数経由ではない内部状態の参照・書き換え方法だ
> カプセルかは引数経由でしか内部状態の参照、書き換えを
> 許さないという意味だから
ぜんぜん違う。
obj.value = obj.value + 1
↑これはカプセル化が行われてるかつ、引数経由ではない内部状態の参照・書き換え方法だ
2019/10/09(水) 18:05:43.18ID:QgTihdwL
だからさー、頭いいやつがGUIのフレームワークとか作るのはおおいに結構だし、
凡人がそのサブクラスで画面を作るのもいいんだよ
ただ凡人がクラスデザインを語るなっつーの
凡人がそのサブクラスで画面を作るのもいいんだよ
ただ凡人がクラスデザインを語るなっつーの
2019/10/09(水) 18:13:03.42ID:QgTihdwL
凡人は画面にボタンとかポトペタすればいいし、
クリックのイベントに業務のロジックを構造化プログラミングすればいいんだよ
ボタンと画面の描画は、フレームワークが適切なイベントで描画してくれるよ
画面とボタンの描画イベントが呼ばれるし、ボタンも画面もウィンドウのサブクラスかもしれないけど
凡人は気にするな
クリックのイベントに業務のロジックを構造化プログラミングすればいいんだよ
ボタンと画面の描画は、フレームワークが適切なイベントで描画してくれるよ
画面とボタンの描画イベントが呼ばれるし、ボタンも画面もウィンドウのサブクラスかもしれないけど
凡人は気にするな
2019/10/09(水) 18:20:51.58ID:U4YBgj6o
>>22
自分は18ではないが...
strage = usb
または
strage = sdCard
string text = strage.read(ファイル名)
みたいな記述はよくやる。
※組み込み開発
自分は18ではないが...
strage = usb
または
strage = sdCard
string text = strage.read(ファイル名)
みたいな記述はよくやる。
※組み込み開発
2019/10/09(水) 18:23:55.93ID:8dT9XKEA
>>24
カプセル化の唯一無二の定義があるわけじゃないからそこをすり合わせないと。
それにその例はカプセル化が行われると言えるかどうか外からでは分からないよね
↓こういうコードの一部だったら一般的にはカプセル化されてるとは言わないと思う
struct Object
{
int value;
};
struct Object object = {0, 0};
object.value = object.value + 1;
あとRubyみたく'value='メソッドに引数を渡してる糖衣構文と捉えることもできるから
引数経由(メソッド経由のことだよね?)と言えなくもない
object.value=(object.value + 1)
カプセル化の唯一無二の定義があるわけじゃないからそこをすり合わせないと。
それにその例はカプセル化が行われると言えるかどうか外からでは分からないよね
↓こういうコードの一部だったら一般的にはカプセル化されてるとは言わないと思う
struct Object
{
int value;
};
struct Object object = {0, 0};
object.value = object.value + 1;
あとRubyみたく'value='メソッドに引数を渡してる糖衣構文と捉えることもできるから
引数経由(メソッド経由のことだよね?)と言えなくもない
object.value=(object.value + 1)
2019/10/09(水) 18:44:13.89ID:kGq1JDkC
>>28
> カプセル化の唯一無二の定義があるわけじゃないからそこをすり合わせないと。
オブジェクトの内部表現とインターフェースを分離させること
この分離により、複雑な内部構造をシンプルに見せたり
インターフェースを変更すること無く、内部のデータ構造を効率のいい形に改善したり
互換性を保ちつつリファクタリングしたりと言ったことが用意になる
> カプセル化の唯一無二の定義があるわけじゃないからそこをすり合わせないと。
オブジェクトの内部表現とインターフェースを分離させること
この分離により、複雑な内部構造をシンプルに見せたり
インターフェースを変更すること無く、内部のデータ構造を効率のいい形に改善したり
互換性を保ちつつリファクタリングしたりと言ったことが用意になる
2019/10/09(水) 18:54:59.17ID:/s8TKAVY
2019/10/09(水) 18:56:06.05ID:kGq1JDkC
カプセル化されていれば、インターフェースを変えることなく
内部構造を変更可能になる。
ということは、Rubyなんかは、普通に書いてもそれが出来るので
必ずカプセル化が使われていると言える。
内部構造を変更可能になる。
ということは、Rubyなんかは、普通に書いてもそれが出来るので
必ずカプセル化が使われていると言える。
2019/10/09(水) 19:47:12.49ID:U4YBgj6o
>>22
カプセル化はもっと、シンプルに考えた方がいい。
カプセル化の意義は責務分割を行うことに意義がある。
setterとgetterを用意することが本質ではない。
※結果的に、private変数にアクセスするためのメソッドを用意する形になるが、それが本質ではない。
カプセル化する際は、クラスを使う人側の気持ちを考えて実装すべし。
setX,getYというメソッドを並べまくっても使いにくいクラスが出来上がるだけだから注意だ。
カプセル化はもっと、シンプルに考えた方がいい。
カプセル化の意義は責務分割を行うことに意義がある。
setterとgetterを用意することが本質ではない。
※結果的に、private変数にアクセスするためのメソッドを用意する形になるが、それが本質ではない。
カプセル化する際は、クラスを使う人側の気持ちを考えて実装すべし。
setX,getYというメソッドを並べまくっても使いにくいクラスが出来上がるだけだから注意だ。
2019/10/09(水) 22:25:07.64ID:Nmcqp5OF
何か滑った感のある、新興宗教で頭わいたようなレスだな
34あ
2019/10/09(水) 23:03:33.40ID:8dT9XKEA >>29
俺もほぼ同じ理解なんだけど
そうするとgetter/setterは呼び出し側が依存してるインターフェースを変えずに
内部の実装を変更できるようにする目的で用意するものなので
カプセル化を実現する手段の一つに該当するんじゃないの?
ん、あれ、カプセル化にgetter/setter関係ないって書いたのと同じ人だと勘違いしてた
ま、カプセル化 == getter/setterでしょって言われるとそりゃ違うよってなるよね
俺もほぼ同じ理解なんだけど
そうするとgetter/setterは呼び出し側が依存してるインターフェースを変えずに
内部の実装を変更できるようにする目的で用意するものなので
カプセル化を実現する手段の一つに該当するんじゃないの?
ん、あれ、カプセル化にgetter/setter関係ないって書いたのと同じ人だと勘違いしてた
ま、カプセル化 == getter/setterでしょって言われるとそりゃ違うよってなるよね
2019/10/09(水) 23:58:13.23ID:wHURiiUB
継承は間違った使い方が多すぎるから批判されてる
単なるコード共通化とかな
それなら無くしちまえってのが最近の流れでは
単なるコード共通化とかな
それなら無くしちまえってのが最近の流れでは
2019/10/10(木) 00:06:58.68ID:clBk4+T+
2019/10/10(木) 00:11:30.44ID:+HH5ew/U
>>35
間違ってるも糞もないと思うんだけど
間違ってるも糞もないと思うんだけど
2019/10/10(木) 00:38:19.01ID:P0sO6qGI
2019/10/10(木) 01:48:18.01ID:clBk4+T+
>>38
だから関数を使わない(つまり引数も使わない)で
obj.value = 1 とか v = obj.value が使える状態で
カプセル化できるって言ってんだよ。多くの言語では。
↓ これが間違いだってわかるだろ
> カプセルかは引数経由でしか内部状態の参照、書き換えを
> 許さないという意味だから
だから関数を使わない(つまり引数も使わない)で
obj.value = 1 とか v = obj.value が使える状態で
カプセル化できるって言ってんだよ。多くの言語では。
↓ これが間違いだってわかるだろ
> カプセルかは引数経由でしか内部状態の参照、書き換えを
> 許さないという意味だから
2019/10/10(木) 02:06:50.75ID:clBk4+T+
自分で書こうと思ったコードがまんま見つかったので拝借w
JavaScriptの例な
https://qiita.com/hogefuga/items/eefbbf6f4d2ff682c7e0
console.log(object.value); // no value
object.value = 'test';
console.log(object.value); // value: test
↑これは明らかにカプセル化されてる。
(リンク先を見ればgetter/setter経由なのがわかる)
しかし、objectの実装を以下のように変えても全く同じように動く
const object = {value: 'no value'};
ここでなんかおかしな話だなと気づかなければいけない。
クラスのインターフェースは全く変わらないというのに
クラスの実装によってカプセル化されてる or されてない が決定するのはおかしな話。
もちろんそんな変なことはない。両方とも「カプセル化されてる」んだよ。
Javaにおいて、カプセル化するというのは「getX/setX関数のみを使いパブリックフィールドを直接触らないようにすること」
その理由はパブリックフィールドを直接使うと、内部実装を変更したときにインターフェースが変わってしまうことがあるから
だから、Javaでは全てを「getX/setX関数経由でアクセス」すること=カプセル化であるが、
JavaScriptにおいては、パブリックプロパティを直接参照しても、内部実装を変更したときにインターフェースが
変わらないようになってるから、JavaSciprtではデフォルトで全てのオブジェクトがカプセル化されてると言える
このように言語仕様でデフォルトでカプセル化されてる(もしくはカプセル化のための専用の機能がある)言語には
C#、Ruby、Python、PHP等がある。
言語仕様にカプセル化サポートの機能がある言語では、「引数経由でしか内部状態の参照、書き換えない」は間違い。
JavaScriptの例な
https://qiita.com/hogefuga/items/eefbbf6f4d2ff682c7e0
console.log(object.value); // no value
object.value = 'test';
console.log(object.value); // value: test
↑これは明らかにカプセル化されてる。
(リンク先を見ればgetter/setter経由なのがわかる)
しかし、objectの実装を以下のように変えても全く同じように動く
const object = {value: 'no value'};
ここでなんかおかしな話だなと気づかなければいけない。
クラスのインターフェースは全く変わらないというのに
クラスの実装によってカプセル化されてる or されてない が決定するのはおかしな話。
もちろんそんな変なことはない。両方とも「カプセル化されてる」んだよ。
Javaにおいて、カプセル化するというのは「getX/setX関数のみを使いパブリックフィールドを直接触らないようにすること」
その理由はパブリックフィールドを直接使うと、内部実装を変更したときにインターフェースが変わってしまうことがあるから
だから、Javaでは全てを「getX/setX関数経由でアクセス」すること=カプセル化であるが、
JavaScriptにおいては、パブリックプロパティを直接参照しても、内部実装を変更したときにインターフェースが
変わらないようになってるから、JavaSciprtではデフォルトで全てのオブジェクトがカプセル化されてると言える
このように言語仕様でデフォルトでカプセル化されてる(もしくはカプセル化のための専用の機能がある)言語には
C#、Ruby、Python、PHP等がある。
言語仕様にカプセル化サポートの機能がある言語では、「引数経由でしか内部状態の参照、書き換えない」は間違い。
2019/10/10(木) 02:11:13.44ID:clBk4+T+
ようするに、今話をしてるのは、オブジェクト指向のカプセル化とはどういうことなのか?
という話なのだから、特定の言語での実装の話をするのは間違い。
"オブジェクトがカプセル化されていれば" インターフェースを変えること無く
内部の実装を変更することが可能になる。
言い方を逆にすると、インターフェースを変えること無く内部の実装を変更することが可能であれば
"そのオブジェクトはカプセル化されている" ということ
という話なのだから、特定の言語での実装の話をするのは間違い。
"オブジェクトがカプセル化されていれば" インターフェースを変えること無く
内部の実装を変更することが可能になる。
言い方を逆にすると、インターフェースを変えること無く内部の実装を変更することが可能であれば
"そのオブジェクトはカプセル化されている" ということ
2019/10/10(木) 05:56:07.99ID:mQOxxhmy
継承は、10年くらい前はmixinだのtraitだの流行ったけど、今やどうでもいいわって感じだな
2019/10/10(木) 08:58:56.73ID:WGsUN34T
1のテンプレ、時代遅れすぎないか?
2019/10/10(木) 09:35:51.74ID:6kYzxc6O
最先端だろ
2019/10/10(木) 22:18:20.63ID:EN4r3i1C
>>40
カプセル化の概念を狭く捉えすぎ
Javaのgetter/setterやRubyのアクセサ、C#のプロパティなんかは
カプセル化を実現するための手段の一つであってそれイコールカプセル化じゃない
それにJSでもRubyでもC#でも直接インスタンス変数にアクセスしてるコードを
getter/setterやアクセサやプロパティ経由に変更した場合に呼び出し側に変更が必要な場合もあるから
デフォルトでカプセル化されてるとか考えるのは間違ってるよ
人にもう少し勉強したほうが良いよとか言う前に自分が勉強しようね
カプセル化の概念を狭く捉えすぎ
Javaのgetter/setterやRubyのアクセサ、C#のプロパティなんかは
カプセル化を実現するための手段の一つであってそれイコールカプセル化じゃない
それにJSでもRubyでもC#でも直接インスタンス変数にアクセスしてるコードを
getter/setterやアクセサやプロパティ経由に変更した場合に呼び出し側に変更が必要な場合もあるから
デフォルトでカプセル化されてるとか考えるのは間違ってるよ
人にもう少し勉強したほうが良いよとか言う前に自分が勉強しようね
2019/10/10(木) 23:56:14.42ID:2XAtZlBW
…カプセル化じゃない
…間違ってるよ
…勉強しようね
…間違ってるよ
…勉強しようね
2019/10/11(金) 01:26:24.59ID:cg6Wcsaq
>>46
それな。自分の意見を何一つ言ってないwww
それな。自分の意見を何一つ言ってないwww
2019/10/11(金) 01:37:36.70ID:cg6Wcsaq
たまにクラスにprivateが無いからカプセル化できないと言ってるやつがいるが、
「_で始まる変数名はprivateとする」という規約を作れば実現可能
C言語でオブジェクト指向をするという話と同じなんだよ。
C言語はオブジェクト指向言語ではないのでクラスなどが無いが
だからといってC言語でオブジェクト指向ができないわけじゃない。
言語機能として、privateやプロパティはカプセル化専用の機能であるが
カプセル化専用の機能がないからと言って、カプセル化ができないわけじゃない。
カプセル化専用の機能がなくとも、「_で始まる変数名はprivateとする」
「publicフィールドを使わずに、関数経由で読み書きする」という"規約"でカプセル化出来る。
関数経由で読み書きするのは、カプセル化専用の機能(の一つ)が無いJavaで
カプセル化するための"規約"に過ぎず、多くの言語では関数経由にする必要がない。
いずれにしろ、カプセル化をどうやって実現するかは言語の機能によって変わるが
カプセル化の概念は、内部構造とインターフェースを分離するして
外から内部構造を直接いじらないようにすること
「_で始まる変数名はprivateとする」という規約を作れば実現可能
C言語でオブジェクト指向をするという話と同じなんだよ。
C言語はオブジェクト指向言語ではないのでクラスなどが無いが
だからといってC言語でオブジェクト指向ができないわけじゃない。
言語機能として、privateやプロパティはカプセル化専用の機能であるが
カプセル化専用の機能がないからと言って、カプセル化ができないわけじゃない。
カプセル化専用の機能がなくとも、「_で始まる変数名はprivateとする」
「publicフィールドを使わずに、関数経由で読み書きする」という"規約"でカプセル化出来る。
関数経由で読み書きするのは、カプセル化専用の機能(の一つ)が無いJavaで
カプセル化するための"規約"に過ぎず、多くの言語では関数経由にする必要がない。
いずれにしろ、カプセル化をどうやって実現するかは言語の機能によって変わるが
カプセル化の概念は、内部構造とインターフェースを分離するして
外から内部構造を直接いじらないようにすること
2019/10/11(金) 07:28:14.10ID:Txg9tUjJ
プログラムの基礎であるメンバのスコープまたは
シンボルの命名規則を使ったアクセス制限規約のこと言ってんのかよ
元々簡単な筈のことなのに説明が下手にくどくて、
煙に巻かれて読んで損したような気分
シンボルの命名規則を使ったアクセス制限規約のこと言ってんのかよ
元々簡単な筈のことなのに説明が下手にくどくて、
煙に巻かれて読んで損したような気分
2019/10/11(金) 08:30:07.55ID:m78/Olsy
2019/10/11(金) 12:59:52.11ID:kot4gcq1
larabelとかよくできてるじゃん
2019/10/11(金) 14:21:29.12ID:dN/CgRLR
カプセル化はデータとデータに対する操作をセットにすること
privateでデータを隠すのはデータ隠蔽
インターフェースで実装を隠すのは情報隠蔽
privateでデータを隠すのはデータ隠蔽
インターフェースで実装を隠すのは情報隠蔽
2019/10/11(金) 14:35:13.43ID:QtmRuluN
× カプセル化はデータとデータに対する操作をセットにすること
○ オブジェクト指向はデータとデータに対する操作をセットにすること
データとデータに対する操作をセットにすることは、カプセル化とは関係ない
○ オブジェクト指向はデータとデータに対する操作をセットにすること
データとデータに対する操作をセットにすることは、カプセル化とは関係ない
2019/10/11(金) 14:38:29.98ID:QtmRuluN
privateでデータを隠すのはデータ隠蔽
インターフェースで実装を隠すのは情報隠蔽
そしてカプセル化という概念は、
「データ隠蔽」と「情報隠蔽」を使って実現するもの
privateやインターフェースがなくても規約等で「データ隠蔽」と
「情報隠蔽」相当のことを行うことも可能だが面倒になりやすい。
そのために言語が用意してくれる機能がprivateやインターフェース
インターフェースで実装を隠すのは情報隠蔽
そしてカプセル化という概念は、
「データ隠蔽」と「情報隠蔽」を使って実現するもの
privateやインターフェースがなくても規約等で「データ隠蔽」と
「情報隠蔽」相当のことを行うことも可能だが面倒になりやすい。
そのために言語が用意してくれる機能がprivateやインターフェース
2019/10/11(金) 14:42:40.80ID:jSXBX1w1
オレオレ定義の押しつけあいで言葉遊びしてて虚しくねぇの?
2019/10/11(金) 14:45:08.49ID:QtmRuluN
一般的な定義を言ってるんだが?
2019/10/11(金) 15:05:22.26ID:dN/CgRLR
>>53
それどこ情報?
それどこ情報?
2019/10/11(金) 15:06:27.08ID:dN/CgRLR
>>54
カプセル化の定義は何?
カプセル化の定義は何?
2019/10/11(金) 15:11:03.25ID:dN/CgRLR
ちなみにワイはwikipedia
オブジェクト指向はオブジェクトを大事にします
ってことなので値と操作をセットにすることとは違うよ
オブジェクト指向はオブジェクトを大事にします
ってことなので値と操作をセットにすることとは違うよ
2019/10/11(金) 15:24:31.99ID:QtmRuluN
2019/10/11(金) 15:28:02.10ID:QtmRuluN
>>60のリンク先を更に探すとここにたどり着いた
http://web.archive.org/web/20080906224409/http://www.itmweb.com/essay550.htm
http://web.archive.org/web/20080906224409/http://www.itmweb.com/essay550.htm
2019/10/11(金) 15:29:01.27ID:mjZX3Aly
読めない(´・ω・`)
2019/10/11(金) 15:30:20.85ID:dN/CgRLR
>>60
僕のが正しいですよね
僕のが正しいですよね
2019/10/11(金) 15:34:07.32ID:QtmRuluN
いいえ
2019/10/11(金) 15:53:18.86ID:dN/CgRLR
>>64
いいえじゃないが
いいえじゃないが
2019/10/11(金) 15:54:47.89ID:dN/CgRLR
ちなみに僕はJavaのブロンズの資格持ちです
Javaの試験では僕が示したとおりに解答しないと落ちます
Javaの試験では僕が示したとおりに解答しないと落ちます
2019/10/11(金) 15:56:16.21ID:dN/CgRLR
僕の定義は一般的ですよ
全世界で行われてるプログラミングの最も人気のある試験での模範解答なので
全世界で行われてるプログラミングの最も人気のある試験での模範解答なので
2019/10/11(金) 15:58:39.66ID:dN/CgRLR
そしてあなたはカプセル化を説明できていない
2019/10/11(金) 16:01:06.01ID:dN/CgRLR
カプセル化とは何か?
2019/10/11(金) 16:03:57.37ID:mjZX3Aly
ウインダムとかミクラスとかアギラとか
2019/10/11(金) 16:06:36.86ID:QtmRuluN
>>41で書いたとおり
"オブジェクトがカプセル化されていれば" インターフェースを変えること無く
内部の実装を変更することが可能になる。
言い方を逆にすると、インターフェースを変えること無く内部の実装を変更することが可能であれば
"そのオブジェクトはカプセル化されている" ということ
"オブジェクトがカプセル化されていれば" インターフェースを変えること無く
内部の実装を変更することが可能になる。
言い方を逆にすると、インターフェースを変えること無く内部の実装を変更することが可能であれば
"そのオブジェクトはカプセル化されている" ということ
2019/10/11(金) 16:15:29.39ID:dN/CgRLR
>>71
それ情報隠蔽やで
それ情報隠蔽やで
2019/10/11(金) 16:15:57.04ID:dN/CgRLR
試験落ちてまうど
2019/10/11(金) 16:17:48.83ID:QtmRuluN
2019/10/11(金) 16:19:56.39ID:dN/CgRLR
>>74
君の思いはわかったけど独りよがりの思い込みに価値などない、君はJavaブロンズに受からない
君の思いはわかったけど独りよがりの思い込みに価値などない、君はJavaブロンズに受からない
2019/10/11(金) 16:20:25.93ID:dN/CgRLR
君は完全に間違っている
2019/10/11(金) 16:21:29.10ID:dN/CgRLR
カプセル化は値と操作の一体化のこと
2019/10/11(金) 16:26:03.75ID:dN/CgRLR
Javaブロンズの前で君たちの浅はかな理解など取るに足らぬ
2019/10/11(金) 16:43:07.90ID:LwZAFcHp
カプセル化おじさんはちからをためている。
2019/10/11(金) 17:10:40.83ID:ALv2Fv/b
どうしてキャプセレチオンしないのよーッ!
2019/10/11(金) 17:48:10.46ID:6SqPsHXs
ところで、ここまでオブジェクト指向をクソだとする根拠があがらないのはなぜ?
オブジェクト指向プログラマーvs誰がとは言わんがオブジェクト指向プログラマー気取り が激突するスレかな?
オブジェクト指向プログラマーvs誰がとは言わんがオブジェクト指向プログラマー気取り が激突するスレかな?
2019/10/11(金) 17:57:40.40ID:ljKmFHFW
>>81
そもそも、オブジェクト指向にメリットが無いからな
強いて言えば単に費やす時間が無駄なだけ
オブジェクト指向とはソースファイルのどこに処理を書くか?
ただそれだけの技術である
→実はどこに書いたって動く(核爆)
そもそも、オブジェクト指向にメリットが無いからな
強いて言えば単に費やす時間が無駄なだけ
オブジェクト指向とはソースファイルのどこに処理を書くか?
ただそれだけの技術である
→実はどこに書いたって動く(核爆)
2019/10/11(金) 18:02:01.44ID:dN/CgRLR
オブジェクト指向がクソなのはインスタンス変数の存在のせい
できるだけメソッドの行数を減らすとかインスタンス変数を使わないメソッドはオブジェクト指向じゃないとか巷で言われてるせいでそれを真に受けた意識高い初心者がゴミのようなコードを量産してしまうところにオブジェクト指向の限界を僕は感じましたよ
できるだけメソッドの行数を減らすとかインスタンス変数を使わないメソッドはオブジェクト指向じゃないとか巷で言われてるせいでそれを真に受けた意識高い初心者がゴミのようなコードを量産してしまうところにオブジェクト指向の限界を僕は感じましたよ
2019/10/11(金) 18:14:37.08ID:dN/CgRLR
オブジェクト指向で作られたhello worldを見ればわかるがオブジェクト指向は過度な抽象化を促進する抽象化圧力つまりアブストラクションプレッシャリングアクセラレイトがかかるからそれをいなせる胆力がないと使いこなすのは難しい
2019/10/11(金) 18:21:24.34ID:6SqPsHXs
>>83
なるほど、staticおじさんがstaticおじさんになった時の主張に似ているね。
オブジェクト指向の定義はさておき、インスタンス化のメリットはクラスという型から必要な数だけオブジェクトを生成できること。
そのメリットが無いのならJavaやC#のMathみたいにstatic化すればいいじゃんって思うし、オブジェクト指向をクソ呼ばわりする根拠が弱い気がするが...。
実際、自分もMathみたいにインスタンス化が不要であればstaticにするし。
まぁ、staticおじさんみたいに全部static化はしないが。
>>82
まぁ、既存の方法で困っていないのならオブジェクト指向は採用しなくてもいいんじゃないかな?
クソ呼ばわりしたら、なんで?って聞くけど。
コーディングの行数は比較したことがないからなんとも言えないが、オブジェクト指向導入で工数削減なら実現した事例は、いくらでもあるよ。
書いたコードを再利用しやすいのがオブジェクト指向のメリットの一つだからね。
なるほど、staticおじさんがstaticおじさんになった時の主張に似ているね。
オブジェクト指向の定義はさておき、インスタンス化のメリットはクラスという型から必要な数だけオブジェクトを生成できること。
そのメリットが無いのならJavaやC#のMathみたいにstatic化すればいいじゃんって思うし、オブジェクト指向をクソ呼ばわりする根拠が弱い気がするが...。
実際、自分もMathみたいにインスタンス化が不要であればstaticにするし。
まぁ、staticおじさんみたいに全部static化はしないが。
>>82
まぁ、既存の方法で困っていないのならオブジェクト指向は採用しなくてもいいんじゃないかな?
クソ呼ばわりしたら、なんで?って聞くけど。
コーディングの行数は比較したことがないからなんとも言えないが、オブジェクト指向導入で工数削減なら実現した事例は、いくらでもあるよ。
書いたコードを再利用しやすいのがオブジェクト指向のメリットの一つだからね。
2019/10/11(金) 18:54:22.09ID:QtmRuluN
2019/10/11(金) 20:44:45.28ID:kv91xo2J
細胞が膜で覆われてるのに似てる。
中身のものを直接扱えないのもな。
中身のものを直接扱えないのもな。
2019/10/11(金) 20:59:44.57ID:Obz6LqVu
カプセル化を説明するときはリモコンや自販機や車とか、あとお店のサービスで普通例えない?
的外れな例えはむしろ害となりがち
的外れな例えはむしろ害となりがち
2019/10/12(土) 00:05:00.41ID:hC2MVz5n
変なのがワラワラ湧いてきたな。
オブジェクト指向はまるで池沼ホイホイだな。
オブジェクト指向はまるで池沼ホイホイだな。
2019/10/12(土) 03:38:52.22ID:m58DXjin
カプセル化と継承を同じレベルで考えてるやつがいるからな。
継承は「行うこと」だが、カプセル化は「行うこと」じゃなくて概念。
カプセル化という概念がわかっていて、その概念に従って設計すれば
こういうメリットがありますよーっていう話だから
カプセル化という概念に従った設計をするときに使える便利な道具が
privateやインターフェース。だからといって別に使う必要があるわけじゃない。
多く言語ではカプセル化という概念を取り入れて言語を作っているから、
publicプロパティを使っていても、カプセル化に従うことが出来るが、
Javaではsetter/getterというワークアラウンド(_で始まる名前をprivate変数とするという規約と同じ)が
必要になるが、多くの言語ではそんな事気にしなくてもカプセル化という概念を満たすコードが書ける
継承は「行うこと」だが、カプセル化は「行うこと」じゃなくて概念。
カプセル化という概念がわかっていて、その概念に従って設計すれば
こういうメリットがありますよーっていう話だから
カプセル化という概念に従った設計をするときに使える便利な道具が
privateやインターフェース。だからといって別に使う必要があるわけじゃない。
多く言語ではカプセル化という概念を取り入れて言語を作っているから、
publicプロパティを使っていても、カプセル化に従うことが出来るが、
Javaではsetter/getterというワークアラウンド(_で始まる名前をprivate変数とするという規約と同じ)が
必要になるが、多くの言語ではそんな事気にしなくてもカプセル化という概念を満たすコードが書ける
2019/10/12(土) 06:02:26.53ID:hC2MVz5n
カプセル化とは何か人によって解釈がさまざまで、よく話が発散するが、
カプセル化を含むオブジェクト指向の害を弾劾するこのスレにおいて
自分の考えこそカプセル化として正しいとか主張すること自体
スレ違いなのは理解できている?
カプセル化を含むオブジェクト指向の害を弾劾するこのスレにおいて
自分の考えこそカプセル化として正しいとか主張すること自体
スレ違いなのは理解できている?
2019/10/12(土) 06:31:54.75ID:1JRUpTA+
腹いてえ下痢だよゲリぃ
グリーンピース食べすぎたわ
グリーンピース食べすぎたわ
2019/10/12(土) 06:34:02.05ID:hC2MVz5n
ボッチしとけよ
2019/10/12(土) 09:27:37.09ID:tUC1lSfU
2019/10/12(土) 09:40:03.04ID:PKccBz0E
オブジェクト戦士(バカ)多いな
2019/10/12(土) 09:48:44.50ID:tUC1lSfU
> 変なのがワラワラ湧いてきたな。
> オブジェクト指向はまるで池沼ホイホイだな。
> オブジェクト戦士(バカ)多いな
ここは罵り合うだけのスレかな?
やーい、お前のソースコードs t a t i c!
> オブジェクト指向はまるで池沼ホイホイだな。
> オブジェクト戦士(バカ)多いな
ここは罵り合うだけのスレかな?
やーい、お前のソースコードs t a t i c!
2019/10/12(土) 10:28:24.31ID:7TGqmTiW
カプセル化おじさんのレス見て思うのは
自分の無知や間違いを認められなくなったら技術者としては終わりだなってこと
歳を取ると老害が増える理由
自分の無知や間違いを認められなくなったら技術者としては終わりだなってこと
歳を取ると老害が増える理由
2019/10/12(土) 10:31:11.04ID:TBjVU2MA
↑このように自分の意見を何一つ言わず、
相手を批難するばかりになったらお終い
相手を批難するばかりになったらお終い
2019/10/12(土) 10:33:55.10ID:EMzTIefb
↑このように自分の意見を何一つ言わず、
相手を批難するばかりになったらお終い
相手を批難するばかりになったらお終い
100デフォルトの名無しさん
2019/10/12(土) 10:37:18.66ID:TBjVU2MA >>99
俺は意見を言ってるからそれは的外れ
俺は意見を言ってるからそれは的外れ
101デフォルトの名無しさん
2019/10/12(土) 10:40:44.08ID:Sr/UvC0O >>97も意見じゃね?
老害の件はわからんが。
老害の件はわからんが。
102デフォルトの名無しさん
2019/10/12(土) 10:41:35.07ID:TBjVU2MA >>101
オブジェクト指向に関する意見に決まってるだろw
オブジェクト指向に関する意見に決まってるだろw
103デフォルトの名無しさん
2019/10/12(土) 10:47:40.84ID:Sr/UvC0O > オブジェクト指向に関する意見に決まってるだろw
???
???
104デフォルトの名無しさん
2019/10/12(土) 10:58:35.93ID:nGOXFHJU ここはオブジェクト指向のスレなんだから
カプセル化についての主張をするのは正しい
だけど、それは間違いだーっていうだけで
何が正しいのかの自分の意見を言わないのは老害でしかない。
という話だよ
カプセル化についての主張をするのは正しい
だけど、それは間違いだーっていうだけで
何が正しいのかの自分の意見を言わないのは老害でしかない。
という話だよ
105デフォルトの名無しさん
2019/10/12(土) 11:08:34.26ID:6fabclhr106デフォルトの名無しさん
2019/10/12(土) 11:17:25.67ID:Sr/UvC0O107デフォルトの名無しさん
2019/10/12(土) 11:55:42.30ID:PKccBz0E 相変わらずオブジェクト戦士はバカばっかりだな
108デフォルトの名無しさん
2019/10/12(土) 12:02:36.13ID:68Eagdnq おじさんってだけで拒否反応や反抗心から若者の意見を理解しない老害扱いするけど、
若者がおじさんの主張に耳を傾けてないのは結局おじさんと同じことしてるよね
おじさんの局所的な経験則やノウハウにも局所解としての妥当性を認めていいんじゃないかな?
銀の弾丸はないんだし
自分は関数型言語は型理論を触った程度の理解をしつつ、
オブジェクト指向推進派だったけど、長いことやってると
確かにオブジェクト指向に疑問を感じるときがある
例えば、複数のオブジェクトで協調動作させようとすると、
クラス内にカプセル化できなくなって、〜コントローラや〜マネージャーとか
どちらかというと抽象的なオブジェクトで溢れかえる設計ってとてもよく見るし自分も書く
C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
オブジェクト指向っていうより関数型的な感じがする
若者がおじさんの主張に耳を傾けてないのは結局おじさんと同じことしてるよね
おじさんの局所的な経験則やノウハウにも局所解としての妥当性を認めていいんじゃないかな?
銀の弾丸はないんだし
自分は関数型言語は型理論を触った程度の理解をしつつ、
オブジェクト指向推進派だったけど、長いことやってると
確かにオブジェクト指向に疑問を感じるときがある
例えば、複数のオブジェクトで協調動作させようとすると、
クラス内にカプセル化できなくなって、〜コントローラや〜マネージャーとか
どちらかというと抽象的なオブジェクトで溢れかえる設計ってとてもよく見るし自分も書く
C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
オブジェクト指向っていうより関数型的な感じがする
109デフォルトの名無しさん
2019/10/12(土) 12:09:11.67ID:vBnCHMzu 曰く、銀の弾丸はない
でも、金の睾丸は?
でも、金の睾丸は?
110デフォルトの名無しさん
2019/10/12(土) 12:24:36.42ID:6fabclhr111デフォルトの名無しさん
2019/10/12(土) 12:50:30.72ID:7TGqmTiW112デフォルトの名無しさん
2019/10/12(土) 12:51:06.93ID:6fabclhr113デフォルトの名無しさん
2019/10/12(土) 13:25:11.09ID:PKccBz0E オブジェクト指向にメリットなんかねー時点で議論など無駄
114デフォルトの名無しさん
2019/10/12(土) 13:36:07.11ID:68Eagdnq >>110
オブジェクトの内部構造に関係ない協調動作に関する処理を
どこに配置するべきかって話
専用のコントローラや専用のマネージャークラスが頻繁に作られるけど、
別のアプローチ(C#のstaticクラスのstaticメソッドとか)が可能なこともあるし、
別のパラダイムも検討する価値あるんじゃないかなと思うようになった
他の例をあげるなら、特殊な数値クラスを作ったとして二項演算子などの
演算子を数値クラス内にカプセル化するべきかって話も
協調動作の問題と重なってる部分があると思う
(ここまで行くと言語側に手を加えるレベルの話になるけど)
オブジェクトの内部構造に関係ない協調動作に関する処理を
どこに配置するべきかって話
専用のコントローラや専用のマネージャークラスが頻繁に作られるけど、
別のアプローチ(C#のstaticクラスのstaticメソッドとか)が可能なこともあるし、
別のパラダイムも検討する価値あるんじゃないかなと思うようになった
他の例をあげるなら、特殊な数値クラスを作ったとして二項演算子などの
演算子を数値クラス内にカプセル化するべきかって話も
協調動作の問題と重なってる部分があると思う
(ここまで行くと言語側に手を加えるレベルの話になるけど)
115デフォルトの名無しさん
2019/10/12(土) 13:50:47.60ID:hC2MVz5n オブジェクト指向が人の間に広まっていくうちに
どうしてだんだん変なやり方に変わってゆき
非科学的で都市伝説みたいな方法論になってしまったのか
よく分かる流れだな
どうしてだんだん変なやり方に変わってゆき
非科学的で都市伝説みたいな方法論になってしまったのか
よく分かる流れだな
116デフォルトの名無しさん
2019/10/12(土) 14:12:10.68ID:6fabclhr 複雑なものをシンプルに扱えるようにしましょうという
人間の心の話なのになんで科学がでてくるの?
人間の心の話なのになんで科学がでてくるの?
117デフォルトの名無しさん
2019/10/12(土) 14:26:06.65ID:Y/6Ne90r >>108
> C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
> オブジェクト指向っていうより関数型的な感じがする
オブジェクト指向に関数型を適用してはいけないなんてルールは無いと思う。
そんなこと言い出したらOOPする際はラムダ式使うなって話になりそう。
あと、Mathクラスの解釈だが...
自分はMtahクラスみたいにstatic化するべきクラスでも、最初は非staticで設計する。
つまり、こうなる。
Math m = new Math();
int x = m.abs(引数);
でも、これだとstaticおじさんの言うとおり、オブジェクト指向ってしっくりこないんです状態。
※元ネタのstaticおじさんは具体例は挙げなかったが。
そこで、オブジェクト指向プログラマーは気を効かせ、static化する。
int x = Math.abs(引数);
つまり、static化は省略できるものは省略しよう...という、オブジェクト指向プログラマーの気遣い。
そういう解釈でいいと思うよ。
まぁ、どうしても「そんなのオブジェクト指向じゃねえ!」と言うのならオブジェクト指向の型を破ると解釈してもいいけどね。
このスレ的にはOOPの解釈を曖昧にするのは駄目な気もするが、個人的には扱いやすいクラスさえ作れれば何でもいいや。
> C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
> オブジェクト指向っていうより関数型的な感じがする
オブジェクト指向に関数型を適用してはいけないなんてルールは無いと思う。
そんなこと言い出したらOOPする際はラムダ式使うなって話になりそう。
あと、Mathクラスの解釈だが...
自分はMtahクラスみたいにstatic化するべきクラスでも、最初は非staticで設計する。
つまり、こうなる。
Math m = new Math();
int x = m.abs(引数);
でも、これだとstaticおじさんの言うとおり、オブジェクト指向ってしっくりこないんです状態。
※元ネタのstaticおじさんは具体例は挙げなかったが。
そこで、オブジェクト指向プログラマーは気を効かせ、static化する。
int x = Math.abs(引数);
つまり、static化は省略できるものは省略しよう...という、オブジェクト指向プログラマーの気遣い。
そういう解釈でいいと思うよ。
まぁ、どうしても「そんなのオブジェクト指向じゃねえ!」と言うのならオブジェクト指向の型を破ると解釈してもいいけどね。
このスレ的にはOOPの解釈を曖昧にするのは駄目な気もするが、個人的には扱いやすいクラスさえ作れれば何でもいいや。
118デフォルトの名無しさん
2019/10/12(土) 14:35:40.11ID:6fabclhr はぁ?absをオブジェクト指向にするなら
Number n = new Integer(-123)
n.abs() やろ
Number n = new Integer(-123)
n.abs() やろ
119デフォルトの名無しさん
2019/10/12(土) 14:40:25.05ID:Y/6Ne90r >>118
ソウダネー。
ソウダネー。
120デフォルトの名無しさん
2019/10/12(土) 14:44:19.05ID:6fabclhr >>119
そうだよ。Rubyとか勉強してみな
そうだよ。Rubyとか勉強してみな
121デフォルトの名無しさん
2019/10/12(土) 14:44:35.81ID:hC2MVz5n122デフォルトの名無しさん
2019/10/12(土) 14:49:19.34ID:6fabclhr そうあってほしいと>>121が考えてるだけ
123デフォルトの名無しさん
2019/10/12(土) 14:50:23.73ID:Y/6Ne90r124デフォルトの名無しさん
2019/10/12(土) 14:50:31.28ID:hC2MVz5n 今まさにオブジェクト指向によってもたらされている混乱から目をそむけないほうがいいよ
125デフォルトの名無しさん
2019/10/12(土) 20:22:58.57ID:BYtPECuz >>85
>オブジェクト指向の定義はさておき、
ところで「チンボがシコシコする」という日本語表現は、文法的に正しいのか?
チンボ「を」シコシコするのではなくて、チンボ「が」シコシコする。この場合、「チンボ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンボがシコシコする」はダメな理由を、50字以内で述べろ!
>オブジェクト指向の定義はさておき、
ところで「チンボがシコシコする」という日本語表現は、文法的に正しいのか?
チンボ「を」シコシコするのではなくて、チンボ「が」シコシコする。この場合、「チンボ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンボがシコシコする」はダメな理由を、50字以内で述べろ!
126デフォルトの名無しさん
2019/10/12(土) 20:28:17.23ID:1JRUpTA+127デフォルトの名無しさん
2019/10/12(土) 20:31:23.42ID:BYtPECuz つまりオブジェクト指向とは、俺の股間に付いているモノなのである!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
128デフォルトの名無しさん
2019/10/12(土) 20:35:24.78ID:1JRUpTA+ 質問に答えてください!
129デフォルトの名無しさん
2019/10/12(土) 22:42:46.45ID:RvFyS8G3 人類の歴史を作ってきたのはおじさんだからな
おじさんの言うことを聞いていればだいたい間違いはないが、重大な間違いを犯すのもまたおじさん
おじさんの言うことを聞いていればだいたい間違いはないが、重大な間違いを犯すのもまたおじさん
130デフォルトの名無しさん
2019/10/12(土) 22:45:21.43ID:BYtPECuz >>128
だからオブジェクト指向は俺の股間に付いているのだ!
だからオブジェクト指向は俺の股間に付いているのだ!
131デフォルトの名無しさん
2019/10/13(日) 03:57:42.23ID:3vnN9KRU だからそれは、糞だってば おじぃちゃん
132デフォルトの名無しさん
2019/10/13(日) 09:50:19.58ID:kfwaB+Y7 カプセル化って
中に有るものを見たり使ったり出来ないようにしないと意味が無い
getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
それではグローバル変数となんら変わりは無い
ただそれをどうやればいいのか?
と聞かれるとセオリーや具体的な手法が存在していない
それがオブジェクト指向プログラミングが糞と言われてしまう原因になってる
現状では属人的に出来る人だけが使えるようになってしまっている
中に有るものを見たり使ったり出来ないようにしないと意味が無い
getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
それではグローバル変数となんら変わりは無い
ただそれをどうやればいいのか?
と聞かれるとセオリーや具体的な手法が存在していない
それがオブジェクト指向プログラミングが糞と言われてしまう原因になってる
現状では属人的に出来る人だけが使えるようになってしまっている
133デフォルトの名無しさん
2019/10/13(日) 10:07:37.44ID:0tGtu6dL >>132 の発言を自分がちゃんと理解しているか怪しいのだが...
> getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
> それではグローバル変数となんら変わりは無い
んん?具体例がほしいな。
こういうこと?
class test{
private:
int x;
public:
int getX(){
return x;
}
void setX(int a){
x = a;
}
}
これってあんまり意味ねーよね?って話?
> getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
> それではグローバル変数となんら変わりは無い
んん?具体例がほしいな。
こういうこと?
class test{
private:
int x;
public:
int getX(){
return x;
}
void setX(int a){
x = a;
}
}
これってあんまり意味ねーよね?って話?
134デフォルトの名無しさん
2019/10/13(日) 10:40:41.09ID:OhlF8Q6H >>132
まーた間違ってる。
グローバル変数がなぜ悪かというと、プロジェクト全体から
読み書きできてしまうのでどこで参照してるかわからないから。
つまりスコープの範囲が広すぎるという問題。パブリックであることと何の関係もない。
それにカプセル化は、隠さなくて良いものまで隠せと言ってるわけじゃない。
隠すもの(内部構造)と隠さななくて良いもの(インターフェース)を
きっちりワケましょう、それによってメンテナンス性が上がりますという概念
すべて隠さなくていいオブジェクトだって存在する。それはそうするのが正しいので
カプセル化を破壊してることにはならない。隠すべき内部構造がないと言うだけ。
なんで隠してなければ、カプセル化破壊だと思うんだろうか?
getter,setterってまたJavaの話をしてるんだろうけど、
それはJavaという言語にカプセル化を実現するための機能が不足してるから
規約でカバーしてるだけ。他のオブジェクト指向言語であれば
お前の言うgetter,setterが無い言語もある。
お前がオブジェクト指向を理解してない=お前が糞なのであって
それをオブジェクト指向のせいにするな。
あと知識が狭すぎる。Javaしか知らないんだろ。
まーた間違ってる。
グローバル変数がなぜ悪かというと、プロジェクト全体から
読み書きできてしまうのでどこで参照してるかわからないから。
つまりスコープの範囲が広すぎるという問題。パブリックであることと何の関係もない。
それにカプセル化は、隠さなくて良いものまで隠せと言ってるわけじゃない。
隠すもの(内部構造)と隠さななくて良いもの(インターフェース)を
きっちりワケましょう、それによってメンテナンス性が上がりますという概念
すべて隠さなくていいオブジェクトだって存在する。それはそうするのが正しいので
カプセル化を破壊してることにはならない。隠すべき内部構造がないと言うだけ。
なんで隠してなければ、カプセル化破壊だと思うんだろうか?
getter,setterってまたJavaの話をしてるんだろうけど、
それはJavaという言語にカプセル化を実現するための機能が不足してるから
規約でカバーしてるだけ。他のオブジェクト指向言語であれば
お前の言うgetter,setterが無い言語もある。
お前がオブジェクト指向を理解してない=お前が糞なのであって
それをオブジェクト指向のせいにするな。
あと知識が狭すぎる。Javaしか知らないんだろ。
135デフォルトの名無しさん
2019/10/13(日) 10:50:13.80ID:OAJhlsQO 俺も昔はグローバル変数についてそういう認識だったけど
そもそもスコープがどうであれ
ドキュメントに何もねぇ変数を把握する事自体
やってらんねぇよクソッタレって認識に変わった
本質はドキュメントに書いてないことが問題であって
スコープが仕様を形成するものであってはならない
そもそもスコープがどうであれ
ドキュメントに何もねぇ変数を把握する事自体
やってらんねぇよクソッタレって認識に変わった
本質はドキュメントに書いてないことが問題であって
スコープが仕様を形成するものであってはならない
136デフォルトの名無しさん
2019/10/13(日) 10:57:17.16ID:OhlF8Q6H >>135
イミフ。有名なオープンソースのコードを見て良いコードとは
コメントが書かれてないコードだと知ったほうが良いよ。
そんな物無くてもメンテナンスしやすいような構造になってる。
あとスコープが仕様を形成するなんて話は誰もしてない。
イミフ。有名なオープンソースのコードを見て良いコードとは
コメントが書かれてないコードだと知ったほうが良いよ。
そんな物無くてもメンテナンスしやすいような構造になってる。
あとスコープが仕様を形成するなんて話は誰もしてない。
137デフォルトの名無しさん
2019/10/13(日) 10:57:38.28ID:OhlF8Q6H × コメントが書かれてない
○ コメントが重要なところにしか書かれてない
○ コメントが重要なところにしか書かれてない
138デフォルトの名無しさん
2019/10/13(日) 10:59:10.44ID:0tGtu6dL コメントに頼らなくてもある程度理解できるコードと言いたいのでは?
コメントはあったらあったで助かるよ。
コメントはあったらあったで助かるよ。
139デフォルトの名無しさん
2019/10/13(日) 11:01:53.95ID:OAJhlsQO >>136
バカじゃん
テメーが考えたコメントをソースに書いてんのか?
コメントってのは設計書の文言をコピペしてこそ意味があるんだよ
ソースにあるコメントで設計書を検索してヒットしない成果物いりませぇん
バカじゃん
テメーが考えたコメントをソースに書いてんのか?
コメントってのは設計書の文言をコピペしてこそ意味があるんだよ
ソースにあるコメントで設計書を検索してヒットしない成果物いりませぇん
140デフォルトの名無しさん
2019/10/13(日) 11:15:03.63ID:HooVs/ny 設計書に書いてあるなら、どこそこの設計書見れでいいじゃん
コピペ作業に金払わされてるとか、経営者が可哀想でならん
コピペ作業に金払わされてるとか、経営者が可哀想でならん
141デフォルトの名無しさん
2019/10/13(日) 11:15:55.03ID:HooVs/ny どこそこの設計書見れって書いてないから、
設計書を"検索"するはめになるわけで(苦笑)
設計書を"検索"するはめになるわけで(苦笑)
142デフォルトの名無しさん
2019/10/13(日) 11:25:05.37ID:k83gxGBE143デフォルトの名無しさん
2019/10/13(日) 11:46:53.61ID:OAJhlsQO >>141
自己流で書いたコメントはそれすらできないからね
自己流で書いたコメントはそれすらできないからね
144デフォルトの名無しさん
2019/10/13(日) 11:54:13.80ID:HooVs/ny145デフォルトの名無しさん
2019/10/13(日) 11:55:34.36ID:0tGtu6dL なんか、凄まじい話の脱線風景を見てしまった...。
なんで>>135からコメントの書き方バトルに発展するのか...。
なんで>>135からコメントの書き方バトルに発展するのか...。
146デフォルトの名無しさん
2019/10/13(日) 11:58:21.06ID:MhpUZXHP やっぱオブジェクト指向ってクソだなw
147デフォルトの名無しさん
2019/10/13(日) 11:58:46.69ID:OAJhlsQO148デフォルトの名無しさん
2019/10/13(日) 12:00:10.60ID:0tGtu6dL149デフォルトの名無しさん
2019/10/13(日) 12:46:04.52ID:3vnN9KRU スレでさんざ書いてきたことだし
うえの議論のずれっぷり見ても十分理由だろう
うえの議論のずれっぷり見ても十分理由だろう
150デフォルトの名無しさん
2019/10/13(日) 12:55:49.57ID:3vnN9KRU 弊社にもいたよ、独特のオブジェクト指向論を持ち、
変な理屈こねて、これぞオブジェクト指向だと自説を押し付けたり
他人を批判したりして、チームの仕事を停滞させ
そのくせ、プログラムの開発をしてもらうとロクなコードが書けず、進捗が遅くて、
継承とメソッド呼び出しスパゲティーでバグだらけ
直る見込みがないので悪いけど間接部に移動してもらった。
変な理屈こねて、これぞオブジェクト指向だと自説を押し付けたり
他人を批判したりして、チームの仕事を停滞させ
そのくせ、プログラムの開発をしてもらうとロクなコードが書けず、進捗が遅くて、
継承とメソッド呼び出しスパゲティーでバグだらけ
直る見込みがないので悪いけど間接部に移動してもらった。
151デフォルトの名無しさん
2019/10/13(日) 12:57:06.58ID:0tGtu6dL いや、自分はさっきから議論がズレすぎてなんでOOPがクソ扱いされるのか未だに理解できないのだが。
台風が来た(わかる)→台風で死者が出た(わかる)→首相が悪い(は?)
並みに飛躍しすぎて意味不明なのだが。
どさくさに紛れてOOPをクソと結論付けるのはやめろよー。
台風が来た(わかる)→台風で死者が出た(わかる)→首相が悪い(は?)
並みに飛躍しすぎて意味不明なのだが。
どさくさに紛れてOOPをクソと結論付けるのはやめろよー。
152デフォルトの名無しさん
2019/10/13(日) 13:00:05.28ID:0tGtu6dL153デフォルトの名無しさん
2019/10/13(日) 13:00:24.46ID:3vnN9KRU いままでのレス読んで理解できないのは
読解力や個人の能力の問題。
それこそしらんがな
読解力や個人の能力の問題。
それこそしらんがな
154デフォルトの名無しさん
2019/10/13(日) 13:12:03.31ID:3vnN9KRU >>152
そだな、そういう痛々しい人の問題は別にしても
オブジェクトにどのような害があり、それを使ってソフトウエアのアーキテクチャ・構造の表現がしにくくて
大規模で複雑なシステムの構築上、人間が理解しにくいものが出来てしまうか
さんざ書いてきたが、読んでねーか、まともなあたまをもってねーか、、、
痛々しい人の問題はその上にかぶって存在し、オブジェクトの
局所的な一見便利そうで利点に見えるが
ある程度の規模の構造上 逆に欠点となる方法の押し売りなんだよ
オブジェクトとはなにか、どういうやり方こそオブジェクトとして正しいか
意見の応酬などは論点じゃないんだけれど、
そういう論点好きは、痛々しい人とほぼ同類
そだな、そういう痛々しい人の問題は別にしても
オブジェクトにどのような害があり、それを使ってソフトウエアのアーキテクチャ・構造の表現がしにくくて
大規模で複雑なシステムの構築上、人間が理解しにくいものが出来てしまうか
さんざ書いてきたが、読んでねーか、まともなあたまをもってねーか、、、
痛々しい人の問題はその上にかぶって存在し、オブジェクトの
局所的な一見便利そうで利点に見えるが
ある程度の規模の構造上 逆に欠点となる方法の押し売りなんだよ
オブジェクトとはなにか、どういうやり方こそオブジェクトとして正しいか
意見の応酬などは論点じゃないんだけれど、
そういう論点好きは、痛々しい人とほぼ同類
155デフォルトの名無しさん
2019/10/13(日) 13:22:03.21ID:JXLMY7ke コメントとコードであっても二重管理になって
同期が取れなくてトラブルのもとになるというのに
設計書とコメントとコードの三重管理とか気が狂いそうw
同期が取れなくてトラブルのもとになるというのに
設計書とコメントとコードの三重管理とか気が狂いそうw
156デフォルトの名無しさん
2019/10/13(日) 13:24:19.42ID:0tGtu6dL157デフォルトの名無しさん
2019/10/13(日) 13:25:10.20ID:3vnN9KRU たとえば、
カプセル化とは何かの解釈の幅によらず、
カプセル化によるスコープやアクセスの管理は、ぱっと見とても有効に見えるが
実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
規模に応じ急激に複雑さをまして
(レキシカなスコープ、エクステント管理に対し)
人間が管理把握しにくくなる因子であることは、
一定の理解を得られているはずだが
カプセル化とは何かの解釈の幅によらず、
カプセル化によるスコープやアクセスの管理は、ぱっと見とても有効に見えるが
実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
規模に応じ急激に複雑さをまして
(レキシカなスコープ、エクステント管理に対し)
人間が管理把握しにくくなる因子であることは、
一定の理解を得られているはずだが
158デフォルトの名無しさん
2019/10/13(日) 13:26:15.07ID:5t9LL7mJ そもそもオブジェクト指向なんて数字を上げたメリット説明できねぇんだから
他人を叩きのめすのに使えばいいんだよ
仕組みはどうあれ俺が気に入らないのでテメーは死刑だ
他人を叩きのめすのに使えばいいんだよ
仕組みはどうあれ俺が気に入らないのでテメーは死刑だ
159デフォルトの名無しさん
2019/10/13(日) 13:26:18.10ID:3vnN9KRU160デフォルトの名無しさん
2019/10/13(日) 13:27:38.97ID:3vnN9KRU161デフォルトの名無しさん
2019/10/13(日) 13:33:44.13ID:0tGtu6dL >>159
これが先に目についたのでこっちから答えるが、当然だろ。
スレタイは オブジェクト指向はクソかよ だ。
オブジェクト指向をまったく理解してないのにクソ呼ばわりはないだろ。
その大前提を崩すと、お前が非難しているのはOOPじゃなくてstaticおじさんの可能性すらあるんだよ?
痛々しい以前に論外過ぎるだろ。
正確な定義は理解していなかったとしても、自分ではこれがオブジェクト指向だという考えくらい持てよ。
これが先に目についたのでこっちから答えるが、当然だろ。
スレタイは オブジェクト指向はクソかよ だ。
オブジェクト指向をまったく理解してないのにクソ呼ばわりはないだろ。
その大前提を崩すと、お前が非難しているのはOOPじゃなくてstaticおじさんの可能性すらあるんだよ?
痛々しい以前に論外過ぎるだろ。
正確な定義は理解していなかったとしても、自分ではこれがオブジェクト指向だという考えくらい持てよ。
162デフォルトの名無しさん
2019/10/13(日) 13:40:37.70ID:3vnN9KRU まったく理解せず色々言うのはよくないが、
オブジェクト指向をまったく理解してないやつなんて
そもそもいるのかよw
それにOOP解釈によらずCでも頑張ってOOP的な書き方をしても
>>157
のような問題はでるんだぜ
細かく派生した、場合によって人さまざまなOOPの解釈の違いによらない
欠点があるといってんだが、読み取れないのか。。。
オブジェクト指向をまったく理解してないやつなんて
そもそもいるのかよw
それにOOP解釈によらずCでも頑張ってOOP的な書き方をしても
>>157
のような問題はでるんだぜ
細かく派生した、場合によって人さまざまなOOPの解釈の違いによらない
欠点があるといってんだが、読み取れないのか。。。
163デフォルトの名無しさん
2019/10/13(日) 13:42:49.52ID:5t9LL7mJ オブジェクト指向のメリットを定義してよ
って言うといつも逃げ出すじゃん
って言うといつも逃げ出すじゃん
164デフォルトの名無しさん
2019/10/13(日) 13:43:44.18ID:3vnN9KRU 方法論にずれちゃうんだよね
良くて局所的なメリット論
良くて局所的なメリット論
165デフォルトの名無しさん
2019/10/13(日) 13:43:50.79ID:bBavR94N >>158
> そもそもオブジェクト指向なんて数字を上げたメリット説明できねぇんだから
どのような数字を上げれば良いのですか?
オブジェクト指向以外で、数字を上げたメリット説明してるものを
参考として教えて下さい。
> そもそもオブジェクト指向なんて数字を上げたメリット説明できねぇんだから
どのような数字を上げれば良いのですか?
オブジェクト指向以外で、数字を上げたメリット説明してるものを
参考として教えて下さい。
166デフォルトの名無しさん
2019/10/13(日) 13:44:20.01ID:bBavR94N167デフォルトの名無しさん
2019/10/13(日) 13:45:47.26ID:3vnN9KRU 小さいプログラムだったらな。
168デフォルトの名無しさん
2019/10/13(日) 13:46:22.87ID:5t9LL7mJ >>166
だってそれお前の感想止まりじゃん
だってそれお前の感想止まりじゃん
169デフォルトの名無しさん
2019/10/13(日) 13:47:20.41ID:k83gxGBE だからオブジェクト指向は俺の股間に付いているってことなのさ!
170デフォルトの名無しさん
2019/10/13(日) 13:48:14.16ID:3vnN9KRU171デフォルトの名無しさん
2019/10/13(日) 14:01:26.96ID:0tGtu6dL >>163
逃げた覚えはないけどな。
まぁ、いいや。俺の意見だが。
思い付くメリットを列挙するとこんな感じだ。
(1)責務分割を行うため各コードの役割が明確になる。
→共同開発時、作業分担がしやすくなる。
→不具合が発生したとき、どこが悪いのか明確になる
(2)必要な数だけオブジェクトを複製できる。
→例えば...組み込み開発だが、USBオブジェクトがあったとして、USBポートを一つから四つに増やしたいとき
Usb usb[] = new Usb()[4];
といった記述で増やせる。
(3)ポリモーフィズムが可能
Storage s = new Usb();
...
s = new SDCard();
SDカード・USBの違いを区別することなくアクセス可能。
s.read(ファイル);
他にもメリットは腐る程あるが、そこは自分で調べてくれ。てか、質問スレでどうぞ。
逃げた覚えはないけどな。
まぁ、いいや。俺の意見だが。
思い付くメリットを列挙するとこんな感じだ。
(1)責務分割を行うため各コードの役割が明確になる。
→共同開発時、作業分担がしやすくなる。
→不具合が発生したとき、どこが悪いのか明確になる
(2)必要な数だけオブジェクトを複製できる。
→例えば...組み込み開発だが、USBオブジェクトがあったとして、USBポートを一つから四つに増やしたいとき
Usb usb[] = new Usb()[4];
といった記述で増やせる。
(3)ポリモーフィズムが可能
Storage s = new Usb();
...
s = new SDCard();
SDカード・USBの違いを区別することなくアクセス可能。
s.read(ファイル);
他にもメリットは腐る程あるが、そこは自分で調べてくれ。てか、質問スレでどうぞ。
172デフォルトの名無しさん
2019/10/13(日) 14:03:55.40ID:0tGtu6dL173デフォルトの名無しさん
2019/10/13(日) 14:08:17.56ID:3vnN9KRU >>171
(1)はstaticの利点でもあるな
(2)はOOPの話じゃないだろ
(3)は何が言いたくて何が利点だかよく分からないけど、
関数の共通化できますってことか?OOPにかぎらんだろ
長文乙だが、読んでて気がついたは
あんたが書いている程度の規模のプログラムだと
何のパラダイムでも大して管理は変わらないと思う
何でこのレベルのひとが「OOPを理解している上で」とかえらそうなことを言うのかの方が疑問
(1)はstaticの利点でもあるな
(2)はOOPの話じゃないだろ
(3)は何が言いたくて何が利点だかよく分からないけど、
関数の共通化できますってことか?OOPにかぎらんだろ
長文乙だが、読んでて気がついたは
あんたが書いている程度の規模のプログラムだと
何のパラダイムでも大して管理は変わらないと思う
何でこのレベルのひとが「OOPを理解している上で」とかえらそうなことを言うのかの方が疑問
174デフォルトの名無しさん
2019/10/13(日) 14:09:33.40ID:3vnN9KRU175デフォルトの名無しさん
2019/10/13(日) 14:11:43.73ID:0tGtu6dL >>173
> 実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
> 規模に応じ急激に複雑さをまして
> (レキシカなスコープ、エクステント管理に対し)
> 人間が管理把握しにくくなる因子であることは、
> 一定の理解を得られているはずだが
こんな意味不明な発言をする人に言われたくねーです。
> 実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
> 規模に応じ急激に複雑さをまして
> (レキシカなスコープ、エクステント管理に対し)
> 人間が管理把握しにくくなる因子であることは、
> 一定の理解を得られているはずだが
こんな意味不明な発言をする人に言われたくねーです。
176デフォルトの名無しさん
2019/10/13(日) 14:15:29.59ID:3vnN9KRU >>175
これ分からないんだったら単に不勉強だと思う。
ここ数年間のソフトウエア工学の進歩を眺めてりゃ分かる程度のこと。
まぁ、多くのITエンジニアがやは不勉強なんだが。
不勉強で理解できないのは自然なことだ、しょうがない
これ分からないんだったら単に不勉強だと思う。
ここ数年間のソフトウエア工学の進歩を眺めてりゃ分かる程度のこと。
まぁ、多くのITエンジニアがやは不勉強なんだが。
不勉強で理解できないのは自然なことだ、しょうがない
177デフォルトの名無しさん
2019/10/13(日) 14:20:32.14ID:r98+wKYs178デフォルトの名無しさん
2019/10/13(日) 14:22:28.82ID:3vnN9KRU179デフォルトの名無しさん
2019/10/13(日) 14:24:26.49ID:0tGtu6dL >>176
> 実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
> 規模に応じ急激に複雑さをまして
> (レキシカなスコープ、エクステント管理に対し)
> 人間が管理把握しにくくなるあることは、
> 一定の理解を得られているはずだが
なんでカプセル化がこの問題に繋がるのか説明してくれる?
コード書いてほしいな。或いはもう少し具体的に説明してくれないかな?
飛躍しすぎてわけがわからん。
> 実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
> 規模に応じ急激に複雑さをまして
> (レキシカなスコープ、エクステント管理に対し)
> 人間が管理把握しにくくなるあることは、
> 一定の理解を得られているはずだが
なんでカプセル化がこの問題に繋がるのか説明してくれる?
コード書いてほしいな。或いはもう少し具体的に説明してくれないかな?
飛躍しすぎてわけがわからん。
180デフォルトの名無しさん
2019/10/13(日) 14:28:09.59ID:3vnN9KRU >>179
過去スレでもさんざ書いたんだが
自分が不勉強なくせに、5chにでまた長々かけってか、、、
子供電話相談室じゃねんだが。。。
まずプログラミングの基礎である
レキシカなスコープ、エクステントは
分かるよね?
過去スレでもさんざ書いたんだが
自分が不勉強なくせに、5chにでまた長々かけってか、、、
子供電話相談室じゃねんだが。。。
まずプログラミングの基礎である
レキシカなスコープ、エクステントは
分かるよね?
181デフォルトの名無しさん
2019/10/13(日) 14:28:12.58ID:zjKLJs6/ は?
全くわかんね
書いてあることがどうとかってより
まず、
どうなるとオブジェクト指向なの?
全くわかんね
書いてあることがどうとかってより
まず、
どうなるとオブジェクト指向なの?
182デフォルトの名無しさん
2019/10/13(日) 14:29:28.54ID:MhpUZXHP 歴史家なスコープww
183デフォルトの名無しさん
2019/10/13(日) 14:29:31.33ID:3vnN9KRU あとオブジェクト指向のもたらした依存の複雑化する問題は
理解しているよね?
理解しているよね?
184デフォルトの名無しさん
2019/10/13(日) 14:31:24.11ID:3vnN9KRU185デフォルトの名無しさん
2019/10/13(日) 14:31:33.43ID:0tGtu6dL 知ってる。そんなレベルの話ではなく、なぜ、そこに問題がでると思っているのかの話。
レキシカなスコープという時点で何かを感じるが。
レキシカなスコープという時点で何かを感じるが。
186デフォルトの名無しさん
2019/10/13(日) 14:34:25.96ID:3vnN9KRU187デフォルトの名無しさん
2019/10/13(日) 14:34:33.36ID:0tGtu6dL188デフォルトの名無しさん
2019/10/13(日) 14:38:29.75ID:0tGtu6dL189デフォルトの名無しさん
2019/10/13(日) 14:39:06.61ID:3vnN9KRU カプセルかってのは何やんのよ。
細かい解釈の違いは、頼むから横においておいてよ。
1) 型クラス
2) メンバのアクセス制限修飾
こきらまでは旧来のCもできましたよと。いいよね。
3) アクセスmethodを設け、calssまたはインスタンススコープを持たす
そして「動的な」が好きな人は
4) 動的インスタンスの生成・消滅
⇒エクステントはレキシカルとは結びつかず独自に管理せなあかん
細かい解釈の違いは、頼むから横においておいてよ。
1) 型クラス
2) メンバのアクセス制限修飾
こきらまでは旧来のCもできましたよと。いいよね。
3) アクセスmethodを設け、calssまたはインスタンススコープを持たす
そして「動的な」が好きな人は
4) 動的インスタンスの生成・消滅
⇒エクステントはレキシカルとは結びつかず独自に管理せなあかん
190デフォルトの名無しさん
2019/10/13(日) 14:39:31.69ID:bBavR94N191デフォルトの名無しさん
2019/10/13(日) 14:41:40.12ID:zjKLJs6/ >>190
なにかそういうデータあるんですか?
なにかそういうデータあるんですか?
192子供電話相談室対応中
2019/10/13(日) 14:43:21.45ID:3vnN9KRU >>188
スコープダイナミックって言うことは、外から見える変数ばっかりで
プログラムがちょっと大きくなっただけで、局面局面で意識・管理せにゃならん
変数や状態が増大しくみ合わさって入り組んで見えたり、
あるいは実行時に呼ばれる順が変わると変数の内容が変わったり
管理不能になる
昔はそういう言語しかなかった
CやShemeがlexical scoprやextentを導入して革命がおきた
スコープダイナミックって言うことは、外から見える変数ばっかりで
プログラムがちょっと大きくなっただけで、局面局面で意識・管理せにゃならん
変数や状態が増大しくみ合わさって入り組んで見えたり、
あるいは実行時に呼ばれる順が変わると変数の内容が変わったり
管理不能になる
昔はそういう言語しかなかった
CやShemeがlexical scoprやextentを導入して革命がおきた
193デフォルトの名無しさん
2019/10/13(日) 14:43:42.54ID:bBavR94N194デフォルトの名無しさん
2019/10/13(日) 14:45:01.83ID:0tGtu6dL C#とnode.js使いだけど、ダウンロードできるオープンソースでオブジェクト指向じゃないコードを落とした経験がまったくない。
たぶん、業種によるんだろうな。
オブジェクト指向と無縁の業種とは無縁だから具体的に何かは知らないけど。
たぶん、業種によるんだろうな。
オブジェクト指向と無縁の業種とは無縁だから具体的に何かは知らないけど。
195デフォルトの名無しさん
2019/10/13(日) 14:46:16.66ID:zjKLJs6/ >>193
え?俺らが初検証?
え?俺らが初検証?
196デフォルトの名無しさん
2019/10/13(日) 14:47:45.65ID:bBavR94N >>195
そりゃそうでしょw
そりゃそうでしょw
197デフォルトの名無しさん
2019/10/13(日) 14:48:20.57ID:bBavR94N そうでしょっていうのは、お前が関数型と手続き型の
データを持ってくるってことね。
自分で検証しなくていいのよ。お前がやりましょうってこと。
データを持ってくるってことね。
自分で検証しなくていいのよ。お前がやりましょうってこと。
198デフォルトの名無しさん
2019/10/13(日) 14:57:39.71ID:zjKLJs6/ 困ったな
俺はメンバ変数全部publicだし
お前らの組み方だと組むときになって
アレ?このメンバ変数privateだ!
オラ、びっくらこいたーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー!!!!!!!!
設計を根本から見直さなきゃ!
ってシーンがないとダメなんだろ
俺、そういうことねーし
俺はメンバ変数全部publicだし
お前らの組み方だと組むときになって
アレ?このメンバ変数privateだ!
オラ、びっくらこいたーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー!!!!!!!!
設計を根本から見直さなきゃ!
ってシーンがないとダメなんだろ
俺、そういうことねーし
199デフォルトの名無しさん
2019/10/13(日) 14:59:44.04ID:3vnN9KRU >>194 あたりまえやんけ、そんなこと。
そえはさておき >>189 がカプセル化の概要であるとして、
どのような弱点をもたらすか
1つはスコープの問題
メンバにアクセス修飾制限するのは一見いいことのように見える。
複合体型に基づくclassやインスタンスのメンバごとのスコープは
フレームワーク的な中間レイヤの局所では一貫して明確に決めやすいけど
上位の複合的な機能のアプリレイヤに近づくと、型も色々持ち込んだ複合的な
ものになるわけだし、動的に生成したインスタンスを動的なエクステントで使いまわす
ので、メンバへのアクセス制限は局所局所で融通が利かず一貫性を維持しにくくなって
結局多くのメンバをアクセサを用意するはめに陥る。
これは、グローバルなscope、動的ななextentを持つ(名前階層を持った)
多数の変数でプログラムを組むことと同じ複雑さをもたらすでしょ。
そのなかでエクステントの管理もやっていくと、、、(弱点2)
どMかよ>
では >>183 と組み合わさって、さらにどのような弱点をもたらすか…
そえはさておき >>189 がカプセル化の概要であるとして、
どのような弱点をもたらすか
1つはスコープの問題
メンバにアクセス修飾制限するのは一見いいことのように見える。
複合体型に基づくclassやインスタンスのメンバごとのスコープは
フレームワーク的な中間レイヤの局所では一貫して明確に決めやすいけど
上位の複合的な機能のアプリレイヤに近づくと、型も色々持ち込んだ複合的な
ものになるわけだし、動的に生成したインスタンスを動的なエクステントで使いまわす
ので、メンバへのアクセス制限は局所局所で融通が利かず一貫性を維持しにくくなって
結局多くのメンバをアクセサを用意するはめに陥る。
これは、グローバルなscope、動的ななextentを持つ(名前階層を持った)
多数の変数でプログラムを組むことと同じ複雑さをもたらすでしょ。
そのなかでエクステントの管理もやっていくと、、、(弱点2)
どMかよ>
では >>183 と組み合わさって、さらにどのような弱点をもたらすか…
200デフォルトの名無しさん
2019/10/13(日) 15:07:21.54ID:sVfp7HP1 なぜ変数やメソッド(メンバ関数)をprivateにするか?
少なからずの場合それらが試行的もしくは暫定的。
例えばシグネーチャがまだ流動的な場合とか。
自分も含めて勝手に使って欲しくない、少なくとも使われる箇所を完璧に把握しておきたいような場合。
少なからずの場合それらが試行的もしくは暫定的。
例えばシグネーチャがまだ流動的な場合とか。
自分も含めて勝手に使って欲しくない、少なくとも使われる箇所を完璧に把握しておきたいような場合。
201デフォルトの名無しさん
2019/10/13(日) 15:08:27.27ID:k83gxGBE >>187
>これが抽象的過ぎてわからん。
>なんで、毎回曖昧な表現使うかな...。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>これが抽象的過ぎてわからん。
>なんで、毎回曖昧な表現使うかな...。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
202デフォルトの名無しさん
2019/10/13(日) 15:17:55.04ID:3vnN9KRU オブジェクト指向のもたらした依存爆発へのカプセル化の関与
多態はmin, max、abs くらいに制限しまずは捨てましょう。
継承はソースの合成レベルで大いなる依存を持ちむので、
特にアプリレイヤでの活用はホント色々問題あるんだけれど、
カプセル化はというと、
1つはdynamic なextentが好まれる点ね。
どっかで作られるインスタンス・メンバが、見通しやすいnest したlexicalなscopeを離れて
浮遊し、どっかで参照、更新されると。。。。
動的にだぞ?お前がやっているような小さいプログラムは何とでもなるかもしれないけどさ、
どうやって追っかけんだよ
二つ目はデータ構造間の依存、三つ目はデータ構造に対するメンバとmethodの依存
たとえば委譲した動的階層化データ構造の中の、ある局面で一見みえないメンバがどこか遠くで
定義され参照され更新され、、、、orz
あるいは複合型クラスのインスタンスとメンバを多階層の継承と組み合わせた場合、、、、、
まぁ言わずもがな経験者は分かるだろう
管理不能なスパゲティ−の出来上がりだわな
こうやってカプセル化した動的な型構造は依存を中継するハブ見たいな役割を果たしてしまうんだよ
このたわけめ
ここまで1から10まで説明させるとは、金取るぞホントに
多態はmin, max、abs くらいに制限しまずは捨てましょう。
継承はソースの合成レベルで大いなる依存を持ちむので、
特にアプリレイヤでの活用はホント色々問題あるんだけれど、
カプセル化はというと、
1つはdynamic なextentが好まれる点ね。
どっかで作られるインスタンス・メンバが、見通しやすいnest したlexicalなscopeを離れて
浮遊し、どっかで参照、更新されると。。。。
動的にだぞ?お前がやっているような小さいプログラムは何とでもなるかもしれないけどさ、
どうやって追っかけんだよ
二つ目はデータ構造間の依存、三つ目はデータ構造に対するメンバとmethodの依存
たとえば委譲した動的階層化データ構造の中の、ある局面で一見みえないメンバがどこか遠くで
定義され参照され更新され、、、、orz
あるいは複合型クラスのインスタンスとメンバを多階層の継承と組み合わせた場合、、、、、
まぁ言わずもがな経験者は分かるだろう
管理不能なスパゲティ−の出来上がりだわな
こうやってカプセル化した動的な型構造は依存を中継するハブ見たいな役割を果たしてしまうんだよ
このたわけめ
ここまで1から10まで説明させるとは、金取るぞホントに
203デフォルトの名無しさん
2019/10/13(日) 15:19:50.19ID:OAJhlsQO これがネットのどこにも落ちてない口伝でのみ伝えられるという奥義(゚A゚;)ゴクリ
( ゚д゚)ホントニハヤットンノカイ?
( ゚д゚)ホントニハヤットンノカイ?
204デフォルトの名無しさん
2019/10/13(日) 15:23:23.57ID:3vnN9KRU 入門者とえせ講師を中心に日本中で絶賛大流行中だぜ。
もう新興宗教かめ威信か、比科学的もいいところ
もう新興宗教かめ威信か、比科学的もいいところ
205デフォルトの名無しさん
2019/10/13(日) 15:23:27.38ID:AoZShAI6 ここでルー大柴が一言
↓
↓
206デフォルトの名無しさん
2019/10/13(日) 15:24:41.56ID:bBavR94N >>199
> ので、メンバへのアクセス制限は局所局所で融通が利かず一貫性を維持しにくくなって
> 結局多くのメンバをアクセサを用意するはめに陥る。
なんでアクセサを用意したらダメなんて思ってんの?
それが外部から触るなら、インターフェース化(≒仕様化)するってだけでしょ
> ので、メンバへのアクセス制限は局所局所で融通が利かず一貫性を維持しにくくなって
> 結局多くのメンバをアクセサを用意するはめに陥る。
なんでアクセサを用意したらダメなんて思ってんの?
それが外部から触るなら、インターフェース化(≒仕様化)するってだけでしょ
207デフォルトの名無しさん
2019/10/13(日) 15:25:44.76ID:bBavR94N208デフォルトの名無しさん
2019/10/13(日) 15:26:22.12ID:bBavR94N209デフォルトの名無しさん
2019/10/13(日) 15:26:23.31ID:0tGtu6dL なんだろう、OOPってこんなに難しい話ではないと思ったのだが...
着目点が違うのだろうか。
OOPに関係のない概念まで出てきているような...。
誰か、理解、できた、人、いる?
いや、static/lexical scope、dynamic scope、extent、依存、複合型クラス、インスタンス
これらの用語が全然スッと頭に入ってこないのはなぜだろう。
着目点が違うのだろうか。
OOPに関係のない概念まで出てきているような...。
誰か、理解、できた、人、いる?
いや、static/lexical scope、dynamic scope、extent、依存、複合型クラス、インスタンス
これらの用語が全然スッと頭に入ってこないのはなぜだろう。
210デフォルトの名無しさん
2019/10/13(日) 15:26:34.66ID:OAJhlsQO 新興宗教じゃん
メリットもねーし
メリットもねーし
211デフォルトの名無しさん
2019/10/13(日) 15:26:45.70ID:bBavR94N212デフォルトの名無しさん
2019/10/13(日) 15:27:41.18ID:bBavR94N213デフォルトの名無しさん
2019/10/13(日) 15:29:50.44ID:3vnN9KRU >>206
せっかく内側に入れて隠そうとしたものが、
実は外からアクセスする必要にあるものでしたテヘペロというのは
設計のミスだったり複合型化すべきではないものだったりするじゃない。
それにプログラムが実行中にある局面から見える変数や環境、
あるいは関数は数が多くなっ足り独自のextentを持っていると
急激に人間には複雑に見えてくるでしょ
だからアクセサを多数用意するのh簡単だけどそうした段階で、その後の管理苦労はもう目にみえているわけ
本とここは子供相談室かよ
せっかく内側に入れて隠そうとしたものが、
実は外からアクセスする必要にあるものでしたテヘペロというのは
設計のミスだったり複合型化すべきではないものだったりするじゃない。
それにプログラムが実行中にある局面から見える変数や環境、
あるいは関数は数が多くなっ足り独自のextentを持っていると
急激に人間には複雑に見えてくるでしょ
だからアクセサを多数用意するのh簡単だけどそうした段階で、その後の管理苦労はもう目にみえているわけ
本とここは子供相談室かよ
214デフォルトの名無しさん
2019/10/13(日) 15:30:01.27ID:OAJhlsQO 機能一覧
→各機能の処理一覧
→それに対応する関数一覧
を作ってた昔のほうがシンプルだよ
これ以上シンプルなモノがないのに
余計なことしてわざわざ難しくしてる
→各機能の処理一覧
→それに対応する関数一覧
を作ってた昔のほうがシンプルだよ
これ以上シンプルなモノがないのに
余計なことしてわざわざ難しくしてる
215デフォルトの名無しさん
2019/10/13(日) 15:31:09.74ID:3vnN9KRU216デフォルトの名無しさん
2019/10/13(日) 15:32:08.25ID:3vnN9KRU >>209
不勉強
不勉強
217デフォルトの名無しさん
2019/10/13(日) 15:34:33.75ID:bBavR94N >>213
> せっかく内側に入れて隠そうとしたものが、
> 実は外からアクセスする必要にあるものでしたテヘペロというのは
> 設計のミスだったり複合型化すべきではないものだったりするじゃない。
お前の設計のミスでオブジェクト指向の問題じゃない
> せっかく内側に入れて隠そうとしたものが、
> 実は外からアクセスする必要にあるものでしたテヘペロというのは
> 設計のミスだったり複合型化すべきではないものだったりするじゃない。
お前の設計のミスでオブジェクト指向の問題じゃない
218デフォルトの名無しさん
2019/10/13(日) 15:35:57.99ID:3vnN9KRU219デフォルトの名無しさん
2019/10/13(日) 15:36:35.73ID:bBavR94N >>213
だから具体的なコードを書けと。
あと複雑さをゼロにするものだって思ってないか?
お前がオブジェクト指向に過剰に期待して、
オブジェクト指向はダメだって言ってるだけ。
例えて言うのなら
お前「エアバッグは自動車事故を完璧に防ぐものだ」
お前「でもエアバッグでは自動車事故は完璧に防げない」
お前「だからエアバッグはだめなんだ」
このセリフを一人で言ってるだけ。
だから具体的なコードを書けと。
あと複雑さをゼロにするものだって思ってないか?
お前がオブジェクト指向に過剰に期待して、
オブジェクト指向はダメだって言ってるだけ。
例えて言うのなら
お前「エアバッグは自動車事故を完璧に防ぐものだ」
お前「でもエアバッグでは自動車事故は完璧に防げない」
お前「だからエアバッグはだめなんだ」
このセリフを一人で言ってるだけ。
220デフォルトの名無しさん
2019/10/13(日) 15:36:46.78ID:3vnN9KRU221デフォルトの名無しさん
2019/10/13(日) 15:37:16.46ID:0tGtu6dL えっ、私だけ不勉強なの?
どなたか、解説をしていただけないだろうか。
カプセル化がstatic scopeとextent管理に問題を及ぼす解説らしいのですが...。
どなたか、解説をしていただけないだろうか。
カプセル化がstatic scopeとextent管理に問題を及ぼす解説らしいのですが...。
222デフォルトの名無しさん
2019/10/13(日) 15:37:19.69ID:bBavR94N223デフォルトの名無しさん
2019/10/13(日) 15:38:22.49ID:3vnN9KRU224デフォルトの名無しさん
2019/10/13(日) 15:38:49.28ID:bBavR94N225デフォルトの名無しさん
2019/10/13(日) 15:39:09.70ID:OAJhlsQO226デフォルトの名無しさん
2019/10/13(日) 15:39:23.34ID:bBavR94N227デフォルトの名無しさん
2019/10/13(日) 15:39:35.55ID:3vnN9KRU228デフォルトの名無しさん
2019/10/13(日) 15:40:19.88ID:OAJhlsQO229デフォルトの名無しさん
2019/10/13(日) 15:40:22.51ID:bBavR94N >>227
また何も言い返してないよね?w
また何も言い返してないよね?w
230デフォルトの名無しさん
2019/10/13(日) 15:41:06.74ID:3vnN9KRU231デフォルトの名無しさん
2019/10/13(日) 15:42:33.39ID:OAJhlsQO エアバッグの性能を厳密に測定しないとわからないよね
232デフォルトの名無しさん
2019/10/13(日) 15:43:54.29ID:bBavR94N >>228
じゃあ、その関数一覧でさ、
アルゴリズムが、例えば
AES暗号を使ったモジュール
TDES暗号を使ったモジュール
2TDES暗号を使ったモジュール
3TDES暗号を使ったモジュール
みたいに複数あって、
それらを交換可能にするときはどうするのさ?
てんでバラバラの関数一覧があるだけではダメってのがわかるだろ?
それらの関数一覧に対する共通の仕様(=インターフェース)が
定義されれてないとダメ。
それに関する問題を解決するのがオブジェクト指向なんだが
じゃあ、その関数一覧でさ、
アルゴリズムが、例えば
AES暗号を使ったモジュール
TDES暗号を使ったモジュール
2TDES暗号を使ったモジュール
3TDES暗号を使ったモジュール
みたいに複数あって、
それらを交換可能にするときはどうするのさ?
てんでバラバラの関数一覧があるだけではダメってのがわかるだろ?
それらの関数一覧に対する共通の仕様(=インターフェース)が
定義されれてないとダメ。
それに関する問題を解決するのがオブジェクト指向なんだが
233デフォルトの名無しさん
2019/10/13(日) 15:44:24.59ID:3vnN9KRU そう言う問題以前に
誰も言っていないことを、お前は言ったとか
妄想か池沼かガキの言い分か
誰も言っていないことを、お前は言ったとか
妄想か池沼かガキの言い分か
234デフォルトの名無しさん
2019/10/13(日) 15:44:27.42ID:BlSgSv0G 何を言ってるのかわからないけど、間違いなく3vnN9KRUはオブジェクト指向を有効活用しようとしたことがないのは分かった。
235デフォルトの名無しさん
2019/10/13(日) 15:44:55.65ID:OAJhlsQO >>232
それを機能一覧に含めていつもの流れ
それを機能一覧に含めていつもの流れ
236デフォルトの名無しさん
2019/10/13(日) 15:45:25.59ID:OAJhlsQO >>234
それ、個人の感想ですよね?
それ、個人の感想ですよね?
237デフォルトの名無しさん
2019/10/13(日) 15:45:51.84ID:3vnN9KRU238デフォルトの名無しさん
2019/10/13(日) 15:46:17.62ID:bBavR94N239デフォルトの名無しさん
2019/10/13(日) 15:47:02.10ID:3vnN9KRU240デフォルトの名無しさん
2019/10/13(日) 15:47:10.71ID:bBavR94N241デフォルトの名無しさん
2019/10/13(日) 15:47:48.95ID:bBavR94N242デフォルトの名無しさん
2019/10/13(日) 15:47:53.00ID:MhpUZXHP スコープダイナミック!www
ギャバンダイナミック!wwwww
ギャバンダイナミック!wwwww
243デフォルトの名無しさん
2019/10/13(日) 15:49:01.20ID:BlSgSv0G244デフォルトの名無しさん
2019/10/13(日) 15:49:20.72ID:3vnN9KRU245デフォルトの名無しさん
2019/10/13(日) 15:50:02.58ID:OAJhlsQO >>243
やはりオブジェクト指向は一子相伝・・・
やはりオブジェクト指向は一子相伝・・・
246デフォルトの名無しさん
2019/10/13(日) 15:50:38.20ID:bBavR94N247デフォルトの名無しさん
2019/10/13(日) 15:50:48.32ID:OAJhlsQO ( ゚д゚)ホントニハヤットンノカイ?
248デフォルトの名無しさん
2019/10/13(日) 15:50:51.04ID:0tGtu6dL オブジェクト指向の批判として捉えようとしたからダメだったのかな...。
うーん、もう一度読み直してみます。
うーん、もう一度読み直してみます。
249デフォルトの名無しさん
2019/10/13(日) 15:51:01.54ID:3vnN9KRU250デフォルトの名無しさん
2019/10/13(日) 15:52:37.68ID:3vnN9KRU251デフォルトの名無しさん
2019/10/13(日) 15:53:08.23ID:BlSgSv0G252デフォルトの名無しさん
2019/10/13(日) 15:53:08.41ID:OAJhlsQO まあ、オブジェクト指向は難しいからな
俺が気に入らない奴は全員わかってないことにしてぶっ叩いてやる
俺が気に入らない奴は全員わかってないことにしてぶっ叩いてやる
253デフォルトの名無しさん
2019/10/13(日) 15:53:13.10ID:bBavR94N >>250
うちも新人の派遣さんに、オブジェクト指向の教育をしてるよw
うちも新人の派遣さんに、オブジェクト指向の教育をしてるよw
254デフォルトの名無しさん
2019/10/13(日) 15:53:43.10ID:3vnN9KRU >>253
その新人が気の毒だわ
その新人が気の毒だわ
255デフォルトの名無しさん
2019/10/13(日) 15:53:47.27ID:bBavR94N 当たり前だが、新人でない社員は、全員オブジェクト指向を理解しているw
256デフォルトの名無しさん
2019/10/13(日) 15:54:57.84ID:bBavR94N257デフォルトの名無しさん
2019/10/13(日) 15:55:00.68ID:OAJhlsQO お前もお前もお前も全員
オブジェクト指向について素人臭くって見てらんない
唯一俺だけが理解してるし
俺以外のはオブジェクト指向じゃないからね
いいね
オブジェクト指向について素人臭くって見てらんない
唯一俺だけが理解してるし
俺以外のはオブジェクト指向じゃないからね
いいね
258デフォルトの名無しさん
2019/10/13(日) 15:56:02.21ID:3vnN9KRU 嘘だろ、w
少なくともお前は理解している気になっている新興宗教宣教師のスパゲティー製造機だろw
白状しろw
少なくともお前は理解している気になっている新興宗教宣教師のスパゲティー製造機だろw
白状しろw
259デフォルトの名無しさん
2019/10/13(日) 15:56:40.41ID:BlSgSv0G260デフォルトの名無しさん
2019/10/13(日) 15:56:54.27ID:3vnN9KRU261デフォルトの名無しさん
2019/10/13(日) 15:58:16.04ID:3vnN9KRU tensorflow もちがう
262デフォルトの名無しさん
2019/10/13(日) 15:58:32.53ID:bBavR94N 少なくともオブジェクト指向が世の中の多くを締めてるんだから
それを教えないのは愚の骨頂だよね。
オブジェクト指向を知らなければ、オブジェクト指向を批判することも出来ない。
(デファクトスタンダードの)オブジェクト指向がわかりませんっていう人間が出来てしまう。
それを教えないのは愚の骨頂だよね。
オブジェクト指向を知らなければ、オブジェクト指向を批判することも出来ない。
(デファクトスタンダードの)オブジェクト指向がわかりませんっていう人間が出来てしまう。
263デフォルトの名無しさん
2019/10/13(日) 15:58:49.16ID:0tGtu6dL なんか、加速やべえ。
オブジェクト指向がクソだと思う人は使わない。
オブジェクト指向にメリットが見いだせる人は使う。
もう、それでいいと思うよ。
オブジェクト指向がクソだと思う人は使わない。
オブジェクト指向にメリットが見いだせる人は使う。
もう、それでいいと思うよ。
264デフォルトの名無しさん
2019/10/13(日) 16:00:28.11ID:BlSgSv0G >>262
では、オブジェクト指向を無視してよかった事例、どうぞ。
では、オブジェクト指向を無視してよかった事例、どうぞ。
265デフォルトの名無しさん
2019/10/13(日) 16:00:34.42ID:bBavR94N https://docs.scipy.org/doc/numpy-1.13.0/user/whatisnumpy.html
> NumPy fully supports an object-oriented approach,
NumPyを使うときも困るだろうなw
> NumPy fully supports an object-oriented approach,
NumPyを使うときも困るだろうなw
266デフォルトの名無しさん
2019/10/13(日) 16:00:51.46ID:3vnN9KRU267デフォルトの名無しさん
2019/10/13(日) 16:01:48.07ID:bBavR94N >>264
なんで俺にオブジェクト指向を無視してよかった事例を聞くの?
オブジェクト指向を批判する人は、オブジェクト指向を理解してないとダメだが、
オブジェクト指向を理解したからと言って、オブジェクト指向を批判する必要はないしw
なんで俺にオブジェクト指向を無視してよかった事例を聞くの?
オブジェクト指向を批判する人は、オブジェクト指向を理解してないとダメだが、
オブジェクト指向を理解したからと言って、オブジェクト指向を批判する必要はないしw
268デフォルトの名無しさん
2019/10/13(日) 16:03:48.79ID:3vnN9KRU269デフォルトの名無しさん
2019/10/13(日) 16:05:12.80ID:bBavR94N270デフォルトの名無しさん
2019/10/13(日) 16:05:53.03ID:3vnN9KRU NumPyのIFは手続きと演算子でOOPSが隠されているからさ。
271デフォルトの名無しさん
2019/10/13(日) 16:08:35.81ID:bBavR94N272デフォルトの名無しさん
2019/10/13(日) 16:08:42.31ID:BlSgSv0G >>268
突っ込みどころ
1.それってオブジェクト指向をクソだと言えないのでは?
2.むしろアプリ層ほど、オブジェクト指向って重要だと思うのですが(フレームワーク的に)。
2.は何の開発をしているのかにもよるだろうけど。
突っ込みどころ
1.それってオブジェクト指向をクソだと言えないのでは?
2.むしろアプリ層ほど、オブジェクト指向って重要だと思うのですが(フレームワーク的に)。
2.は何の開発をしているのかにもよるだろうけど。
273デフォルトの名無しさん
2019/10/13(日) 16:10:27.29ID:bBavR94N 「NumPy グラフ描画ライブラリ」でググると
一番目に出てくるのがmatplotlib
https://ja.wikipedia.org/wiki/Matplotlib
> Matplotlibは、プログラミング言語Pythonおよびその科学計算用ライブラリ
> NumPyのためのグラフ描画ライブラリである。
> オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。
なので、どちらにしろオブジェクト指向は必須なんだわ
オブジェクト指向が嫌いなら嫌いでいいが、オブジェクト指向を教えないのは愚の骨頂
一番目に出てくるのがmatplotlib
https://ja.wikipedia.org/wiki/Matplotlib
> Matplotlibは、プログラミング言語Pythonおよびその科学計算用ライブラリ
> NumPyのためのグラフ描画ライブラリである。
> オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。
なので、どちらにしろオブジェクト指向は必須なんだわ
オブジェクト指向が嫌いなら嫌いでいいが、オブジェクト指向を教えないのは愚の骨頂
274デフォルトの名無しさん
2019/10/13(日) 16:11:29.29ID:3vnN9KRU275デフォルトの名無しさん
2019/10/13(日) 16:13:43.92ID:bBavR94N なんで言語の問題じゃなくて、
「俺の周りの人間がクズなんだ」って話にすり替えるんだろうかw
類は友を呼ぶって言葉知ってる?
周りがクズなら、お前もクズだっていってるようなもんなんだよ。
「俺の周りの人間がクズなんだ」って話にすり替えるんだろうかw
類は友を呼ぶって言葉知ってる?
周りがクズなら、お前もクズだっていってるようなもんなんだよ。
276デフォルトの名無しさん
2019/10/13(日) 16:17:23.02ID:3vnN9KRU >>273
matplotlibが必要があってOOPSにしたか、あるいはなんでも良かったのかは不明だから
使っているから、必要があると決め付ける。
こういうのをミスリーディングという。
>> 219 でも気になったけど
誰も言っていないのに
>例えて言うのなら
>お前「エアバッグは自動車事故を完璧に防ぐものだ」
>お前「でもエアバッグでは自動車事故は完璧に防げない」
>お前「だからエアバッグはだめなんだ」
>このセリフを一人で言ってるだけ。
と妄想して決め付ける、揚げ足取りのをミスリーディングが多くて
まじめに議論する相手としてふさわしくないな
matplotlibが必要があってOOPSにしたか、あるいはなんでも良かったのかは不明だから
使っているから、必要があると決め付ける。
こういうのをミスリーディングという。
>> 219 でも気になったけど
誰も言っていないのに
>例えて言うのなら
>お前「エアバッグは自動車事故を完璧に防ぐものだ」
>お前「でもエアバッグでは自動車事故は完璧に防げない」
>お前「だからエアバッグはだめなんだ」
>このセリフを一人で言ってるだけ。
と妄想して決め付ける、揚げ足取りのをミスリーディングが多くて
まじめに議論する相手としてふさわしくないな
277デフォルトの名無しさん
2019/10/13(日) 16:19:04.99ID:bBavR94N >>276
> 使っているから、必要があると決め付ける。
使ってるんだから、matplotlib使うコード書くときは必要じゃん?
オブジェクト指向が必要なフレームワークをたくさん上げればいいの?
NumPyだけで仕事できるわけじゃあるまいし
あんたが、何を言いたいのかわからん。
> 使っているから、必要があると決め付ける。
使ってるんだから、matplotlib使うコード書くときは必要じゃん?
オブジェクト指向が必要なフレームワークをたくさん上げればいいの?
NumPyだけで仕事できるわけじゃあるまいし
あんたが、何を言いたいのかわからん。
278デフォルトの名無しさん
2019/10/13(日) 16:19:43.66ID:3vnN9KRU >>275
また決め付けた
>「俺の周りの人間がクズなんだ」って話にすり替えるんだろうかw
>類は友を呼ぶって言葉知ってる?
>周りがクズなら、お前もクズだっていってるようなもんなんだよ。
オレがそんなこと書いてないのに、答える必要はなさそうだな
どうもお前さんとは話がかみ合わないな
また決め付けた
>「俺の周りの人間がクズなんだ」って話にすり替えるんだろうかw
>類は友を呼ぶって言葉知ってる?
>周りがクズなら、お前もクズだっていってるようなもんなんだよ。
オレがそんなこと書いてないのに、答える必要はなさそうだな
どうもお前さんとは話がかみ合わないな
279デフォルトの名無しさん
2019/10/13(日) 16:20:26.39ID:bBavR94N >>276
あと、日本語が理解できてないよ。
誰も言ってないって、
「俺が例えとしてだした」んだから
誰も言ってないので当たり前じゃん。
なんで俺が言った(例えによる)説明を
他の人が言ってるはずだ。って思っちゃったのさ?w
あと、日本語が理解できてないよ。
誰も言ってないって、
「俺が例えとしてだした」んだから
誰も言ってないので当たり前じゃん。
なんで俺が言った(例えによる)説明を
他の人が言ってるはずだ。って思っちゃったのさ?w
280デフォルトの名無しさん
2019/10/13(日) 16:20:47.98ID:3vnN9KRU281デフォルトの名無しさん
2019/10/13(日) 16:21:19.61ID:bBavR94N282デフォルトの名無しさん
2019/10/13(日) 16:21:32.50ID:3vnN9KRU >>279
誰も言ってないことを 人が言ったことのように書くなよ
誰も言ってないことを 人が言ったことのように書くなよ
283デフォルトの名無しさん
2019/10/13(日) 16:22:19.20ID:bBavR94N >>280
> matplotlib は必要があってOOPS IFを採用したかは不明だと書いているんだよ
え?なに?その理屈でいいなら、
NumPyは必要があってOOPSを採用してないかは不明だといえばいいの?w
> matplotlib は必要があってOOPS IFを採用したかは不明だと書いているんだよ
え?なに?その理屈でいいなら、
NumPyは必要があってOOPSを採用してないかは不明だといえばいいの?w
284デフォルトの名無しさん
2019/10/13(日) 16:22:49.35ID:3vnN9KRU285デフォルトの名無しさん
2019/10/13(日) 16:22:49.62ID:0tGtu6dL286デフォルトの名無しさん
2019/10/13(日) 16:22:54.71ID:bBavR94N287デフォルトの名無しさん
2019/10/13(日) 16:23:24.86ID:3vnN9KRU >>285
その1-3には書いてないがな。
その1-3には書いてないがな。
288デフォルトの名無しさん
2019/10/13(日) 16:23:49.82ID:3vnN9KRU >>286
勘違いが多いんだよあんたは
勘違いが多いんだよあんたは
289デフォルトの名無しさん
2019/10/13(日) 16:24:21.13ID:bBavR94N290デフォルトの名無しさん
2019/10/13(日) 16:24:40.56ID:bBavR94N >>288
今、お前が勘違いしてるって言ったばかりだよね?
今、お前が勘違いしてるって言ったばかりだよね?
291デフォルトの名無しさん
2019/10/13(日) 16:24:45.05ID:0tGtu6dL >>287
興味本意で聞きますが、OOPのメリットって何だと思いますか?
興味本意で聞きますが、OOPのメリットって何だと思いますか?
292デフォルトの名無しさん
2019/10/13(日) 16:27:07.80ID:3vnN9KRU >>291
上のほうにも書いたんだがな。なんでそんな初歩的なことをなども聞くか。
教えてクンにもほどがある。だからオレオレオブジェクト指向論者はいちゃなんだ
クラスまたはインスタンスに、メソッドがスコープ付けられていること
これは
うまく使えばメリットがあるはずの
新しいことだったんだよ。
上のほうにも書いたんだがな。なんでそんな初歩的なことをなども聞くか。
教えてクンにもほどがある。だからオレオレオブジェクト指向論者はいちゃなんだ
クラスまたはインスタンスに、メソッドがスコープ付けられていること
これは
うまく使えばメリットがあるはずの
新しいことだったんだよ。
293デフォルトの名無しさん
2019/10/13(日) 16:28:51.65ID:3vnN9KRU294デフォルトの名無しさん
2019/10/13(日) 16:31:10.51ID:bBavR94N >>293
そのレスも不要
そのレスも不要
295デフォルトの名無しさん
2019/10/13(日) 16:33:32.62ID:bBavR94N >>292
正々堂々と間違いを語られても(苦笑)
さっき俺がオブジェクト指向は関数を組み合わせる時の
(複雑性の)問題を解決するものだって言ったよね?
お前「メリットは、クラスまたはインスタンスに、メソッドがスコープ付けられていること」
お前「だがクラスまたはインスタンスに、メソッドがスコープ付けられていることに、メリットはない」
自分で間違ったことを言って、
自分の意見を否定してるwwww
正々堂々と間違いを語られても(苦笑)
さっき俺がオブジェクト指向は関数を組み合わせる時の
(複雑性の)問題を解決するものだって言ったよね?
お前「メリットは、クラスまたはインスタンスに、メソッドがスコープ付けられていること」
お前「だがクラスまたはインスタンスに、メソッドがスコープ付けられていることに、メリットはない」
自分で間違ったことを言って、
自分の意見を否定してるwwww
296デフォルトの名無しさん
2019/10/13(日) 16:35:41.80ID:3vnN9KRU うお、妄想狂かよw
297デフォルトの名無しさん
2019/10/13(日) 16:36:58.24ID:bBavR94N298デフォルトの名無しさん
2019/10/13(日) 16:37:16.68ID:OAJhlsQO 100パーセント中の100パーセントオブジェクト指向!!!
299デフォルトの名無しさん
2019/10/13(日) 16:37:42.42ID:3vnN9KRU300デフォルトの名無しさん
2019/10/13(日) 16:37:48.21ID:0tGtu6dL >>292
スコープなんてやけに言語仕様に依存しそうな話が出てきましたね。
ためしに聞きますけど、ポリモーフィズムってご存じですか?先程、然り気無くポリモーフィズムの例を書いたのですが、何が言いたいのかわからんと仰ってましたよね?
スコープなんてやけに言語仕様に依存しそうな話が出てきましたね。
ためしに聞きますけど、ポリモーフィズムってご存じですか?先程、然り気無くポリモーフィズムの例を書いたのですが、何が言いたいのかわからんと仰ってましたよね?
301デフォルトの名無しさん
2019/10/13(日) 16:38:41.05ID:3vnN9KRU302デフォルトの名無しさん
2019/10/13(日) 16:38:45.02ID:bBavR94N303デフォルトの名無しさん
2019/10/13(日) 16:40:03.48ID:OAJhlsQO 異次元ソフトウェア工学=オブジェクト指向
304デフォルトの名無しさん
2019/10/13(日) 16:41:25.97ID:OAJhlsQO 結局、チンシコレベルになっちまった
305デフォルトの名無しさん
2019/10/13(日) 16:41:28.60ID:V3xYaAid 本当のオブジェクト指向がどうたらいうの鬱陶しい
そんなもん共通見解も定義もありゃしない
そんなもん共通見解も定義もありゃしない
306デフォルトの名無しさん
2019/10/13(日) 16:42:25.03ID:3vnN9KRU >>300
多態はなにやっているんだかぱっと見てわからなくなるから
上のほうでも書いたけど min max abs くらいにして
なるべく使わないほうが良いというのが最近の定説だと思うけど、
あの例は
…
の部分で内やってんだか分からんけど
共通関数かしたいのかな?くらいしかよみとれなかったがそれがなにか
多態はなにやっているんだかぱっと見てわからなくなるから
上のほうでも書いたけど min max abs くらいにして
なるべく使わないほうが良いというのが最近の定説だと思うけど、
あの例は
…
の部分で内やってんだか分からんけど
共通関数かしたいのかな?くらいしかよみとれなかったがそれがなにか
307デフォルトの名無しさん
2019/10/13(日) 16:42:52.41ID:3vnN9KRU308デフォルトの名無しさん
2019/10/13(日) 16:43:03.09ID:bBavR94N > 多態はなにやっているんだかぱっと見てわからなくなるから
お前の能力不足の話?
それともお前の周りが書いたコードの話?
お前の能力不足の話?
それともお前の周りが書いたコードの話?
309デフォルトの名無しさん
2019/10/13(日) 16:43:48.86ID:5y3mzviq310デフォルトの名無しさん
2019/10/13(日) 16:43:55.28ID:3vnN9KRU >>308
ちがうよ
ちがうよ
311デフォルトの名無しさん
2019/10/13(日) 16:44:24.79ID:bBavR94N 多態は使わないほうが良いというのが定説
というのはどこで語られてるの?
いや、マジでないでしょ?w
あるなら言ってみてよwww
(個人ブログは定説とは言いません)
というのはどこで語られてるの?
いや、マジでないでしょ?w
あるなら言ってみてよwww
(個人ブログは定説とは言いません)
312デフォルトの名無しさん
2019/10/13(日) 16:44:48.44ID:0tGtu6dL313デフォルトの名無しさん
2019/10/13(日) 16:45:01.93ID:3vnN9KRU314デフォルトの名無しさん
2019/10/13(日) 16:45:34.85ID:bBavR94N > アクセサとかmethod使ったらアウトでしょ
それは、あなたの希望ですよねw
それは、あなたの希望ですよねw
315デフォルトの名無しさん
2019/10/13(日) 16:47:18.82ID:OAJhlsQO 俺のオブジェクト指向が最強!
316デフォルトの名無しさん
2019/10/13(日) 16:50:15.97ID:3vnN9KRU >>312
>> 171
の
>(3)ポリモーフィズムが可能
>Storage s = new Usb();
>...
>s = new SDCard();
>
>SDカード・USBの違いを区別することなくアクセス可能。
>s.read(ファイル);
これのどこがポリモーフィズムのせつめいなの?
「違いを区別することなくアクセス可能」とかかれりゃ
同じ名前のmethodがあるのかな?
newして使いまわしてなにやりたいんだかわからん
くらいしか思い付かないぜ
だからながしたんだが
>> 171
の
>(3)ポリモーフィズムが可能
>Storage s = new Usb();
>...
>s = new SDCard();
>
>SDカード・USBの違いを区別することなくアクセス可能。
>s.read(ファイル);
これのどこがポリモーフィズムのせつめいなの?
「違いを区別することなくアクセス可能」とかかれりゃ
同じ名前のmethodがあるのかな?
newして使いまわしてなにやりたいんだかわからん
くらいしか思い付かないぜ
だからながしたんだが
317デフォルトの名無しさん
2019/10/13(日) 16:54:19.96ID:0tGtu6dL318デフォルトの名無しさん
2019/10/13(日) 16:55:51.32ID:3vnN9KRU >>317
まれに書くだけだよ。
まれに書くだけだよ。
319デフォルトの名無しさん
2019/10/13(日) 16:56:00.75ID:3jcvRrfy オブジェクト指向って大まかにでも一言で説明できないような難解なものなの?
320デフォルトの名無しさん
2019/10/13(日) 16:57:01.88ID:3vnN9KRU >>318
Usb()とSDCard()はStorageのファクトリーだって言いたいの?
Usb()とSDCard()はStorageのファクトリーだって言いたいの?
321デフォルトの名無しさん
2019/10/13(日) 16:57:05.14ID:bBavR94N >>316
オブジェクト指向を勉強したほうが良くないか?w
ポリモーフィズムでその例を見せられたら、
ああ、SDCard型でもUSB(メモリ)型でも
どちらでも同じように扱える例だなって気づくでしょ?
それに気づいた上で、何かしらの意見を言うならわかるけど、
それに気づかないレベルって、単にオブジェクト指向を知らないだけだよ。
オブジェクト指向を勉強したほうが良くないか?w
ポリモーフィズムでその例を見せられたら、
ああ、SDCard型でもUSB(メモリ)型でも
どちらでも同じように扱える例だなって気づくでしょ?
それに気づいた上で、何かしらの意見を言うならわかるけど、
それに気づかないレベルって、単にオブジェクト指向を知らないだけだよ。
322デフォルトの名無しさん
2019/10/13(日) 16:57:33.59ID:V3xYaAid 多態のデメリット
・メソッド呼び出し部分見てもどれが呼び出されてるのかわからない。
呼び出し先の処理は実際に実行するまでどれになるか不明。
・マシン語に展開したとき、処理が安全だといいづらい
必要もないのに処理の分岐先がデータと一緒に送られてきて危なっかしい。
動的に処理が決定されるというのは静的言語のメリットを殺してる面がある。
必要もなくすべてのメソッドが多態可能とか悪夢
・メソッド呼び出し部分見てもどれが呼び出されてるのかわからない。
呼び出し先の処理は実際に実行するまでどれになるか不明。
・マシン語に展開したとき、処理が安全だといいづらい
必要もないのに処理の分岐先がデータと一緒に送られてきて危なっかしい。
動的に処理が決定されるというのは静的言語のメリットを殺してる面がある。
必要もなくすべてのメソッドが多態可能とか悪夢
323デフォルトの名無しさん
2019/10/13(日) 16:58:14.65ID:0tGtu6dL324デフォルトの名無しさん
2019/10/13(日) 16:58:26.86ID:bBavR94N325デフォルトの名無しさん
2019/10/13(日) 16:59:39.03ID:3vnN9KRU >>324
それこそググってよ
それこそググってよ
326デフォルトの名無しさん
2019/10/13(日) 16:59:55.59ID:bBavR94N >>322
> ・メソッド呼び出し部分見てもどれが呼び出されてるのかわからない。
> 呼び出し先の処理は実際に実行するまでどれになるか不明。
実行するまで決まらないもの(例えばユーザーの設定によって決まるもの)を
実行する前にわかることってあると思うの?
> ・メソッド呼び出し部分見てもどれが呼び出されてるのかわからない。
> 呼び出し先の処理は実際に実行するまでどれになるか不明。
実行するまで決まらないもの(例えばユーザーの設定によって決まるもの)を
実行する前にわかることってあると思うの?
327デフォルトの名無しさん
2019/10/13(日) 17:00:42.40ID:0tGtu6dL328デフォルトの名無しさん
2019/10/13(日) 17:00:55.65ID:bBavR94N >>325
なんのために「お前が今言った」って書いたと思ってんのさw
ググって見つかる「ファクトリー」と
お前が言った「ファクトリー」は違うとしか思えないから、
「お前定義のファクトリー」を聞いたんだが。
お前定義のファクトリーはお前にしかわからん。
んで、お前定義のファクトリーはどういうものさ?
なんのために「お前が今言った」って書いたと思ってんのさw
ググって見つかる「ファクトリー」と
お前が言った「ファクトリー」は違うとしか思えないから、
「お前定義のファクトリー」を聞いたんだが。
お前定義のファクトリーはお前にしかわからん。
んで、お前定義のファクトリーはどういうものさ?
329デフォルトの名無しさん
2019/10/13(日) 17:01:31.80ID:OAJhlsQO 俺のオブジェクト指向しかオブジェクト指向と認められていないよ
330デフォルトの名無しさん
2019/10/13(日) 17:04:10.97ID:V3xYaAid >>326
IF文で分岐すれば少なくともその部分の処理は特定できる
多態したら実際の呼び出し先がライブラリ中に無数にある継承クラスのどれになるか
全部データから辿って判断しなきゃいけなくなるだろ
悪夢だ
IF文で分岐すれば少なくともその部分の処理は特定できる
多態したら実際の呼び出し先がライブラリ中に無数にある継承クラスのどれになるか
全部データから辿って判断しなきゃいけなくなるだろ
悪夢だ
331デフォルトの名無しさん
2019/10/13(日) 17:04:31.39ID:3vnN9KRU インスタンスの生成と処理を別のクラスで行うパターンのファクトリーとして書いたが。
332デフォルトの名無しさん
2019/10/13(日) 17:05:22.52ID:bBavR94N > IF文で分岐すれば少なくともその部分の処理は特定できる
それだと、コードの中に全ての対応するモジュール名が記述されることになる。
それだと、外部プロジェクトで拡張するプラグインの仕組みが作れない
それだと、コードの中に全ての対応するモジュール名が記述されることになる。
それだと、外部プロジェクトで拡張するプラグインの仕組みが作れない
333デフォルトの名無しさん
2019/10/13(日) 17:06:48.22ID:bBavR94N334デフォルトの名無しさん
2019/10/13(日) 17:06:53.28ID:5y3mzviq335デフォルトの名無しさん
2019/10/13(日) 17:06:53.54ID:V3xYaAid >>332
だからって何もかも多態可能にする必要ないだろ!
だからって何もかも多態可能にする必要ないだろ!
336デフォルトの名無しさん
2019/10/13(日) 17:07:25.90ID:OAJhlsQO そんな実装に密接した話してんのもなんか胡散臭ぇ
オブジェクト指向設計ではないのか?
オブジェクト指向設計ではないのか?
337デフォルトの名無しさん
2019/10/13(日) 17:08:43.44ID:3vnN9KRU338デフォルトの名無しさん
2019/10/13(日) 17:09:30.25ID:bBavR94N もっと具体的に質問しようか?
以下のコード、
>(3)ポリモーフィズムが可能
>Storage s = new Usb();
>...
>s = new SDCard();
>
>SDカード・USBの違いを区別することなくアクセス可能。
>s.read(ファイル);
登場人物は、StrageとUsbとSDCardしかいない。
質問1 インスタンスの生成を行ったのは、StrageとUsbとSDCard のうち
どれだと思ったのですか?
質問2 処理を行ったのは、StrageとUsbとSDCard のうち
どれだと思ったのですか?
それそれ、3択の中から1つを選ぶだけの簡単な質問だよ。
(それ以外の答えがあるというなら、それで答えてもいいけど)
以下のコード、
>(3)ポリモーフィズムが可能
>Storage s = new Usb();
>...
>s = new SDCard();
>
>SDカード・USBの違いを区別することなくアクセス可能。
>s.read(ファイル);
登場人物は、StrageとUsbとSDCardしかいない。
質問1 インスタンスの生成を行ったのは、StrageとUsbとSDCard のうち
どれだと思ったのですか?
質問2 処理を行ったのは、StrageとUsbとSDCard のうち
どれだと思ったのですか?
それそれ、3択の中から1つを選ぶだけの簡単な質問だよ。
(それ以外の答えがあるというなら、それで答えてもいいけど)
339デフォルトの名無しさん
2019/10/13(日) 17:10:34.32ID:bBavR94N340デフォルトの名無しさん
2019/10/13(日) 17:11:01.87ID:OAJhlsQO 設計の話してるときコードを出さないと話ができない人は
オブジェクト指向云々かんぬん以前にレベルが低いよ
そこはガチで低いはずなので素直に忠告を聞いてほしいと思う
オブジェクト指向云々かんぬん以前にレベルが低いよ
そこはガチで低いはずなので素直に忠告を聞いてほしいと思う
341デフォルトの名無しさん
2019/10/13(日) 17:11:41.50ID:bBavR94N >>337
> Superクラスが前後に略されているのかなとかチラッと考えた
あなたが想像した「省略されてるSuperクラス」とはどのようなものですか?
”あなたが想像した"ものを聞いてるので
これもググっても出ません。
> Superクラスが前後に略されているのかなとかチラッと考えた
あなたが想像した「省略されてるSuperクラス」とはどのようなものですか?
”あなたが想像した"ものを聞いてるので
これもググっても出ません。
342デフォルトの名無しさん
2019/10/13(日) 17:12:10.97ID:V3xYaAid >>339
Javaを開発した連中
Javaを開発した連中
343デフォルトの名無しさん
2019/10/13(日) 17:14:00.80ID:3vnN9KRU344デフォルトの名無しさん
2019/10/13(日) 17:14:22.39ID:bBavR94N >>340
ちゃんと理解してる人は、コードを出すことも出来る。
今は、ちゃんと理解してる人(俺なw)と
ちゃんと理解してない人の会話
ちゃんと理解してない人は「コードを出さないと話ができないレベルが低い人」なのだから
コードを要求することで、それがはっきりするわけよ。
俺がコードを出して話をしてるんじゃなくて、相手が理解してるかどうかを図るために
「せめてコードぐらいは出せるよな?w」という考えで要求してるの
ちゃんと理解してる人は、コードを出すことも出来る。
今は、ちゃんと理解してる人(俺なw)と
ちゃんと理解してない人の会話
ちゃんと理解してない人は「コードを出さないと話ができないレベルが低い人」なのだから
コードを要求することで、それがはっきりするわけよ。
俺がコードを出して話をしてるんじゃなくて、相手が理解してるかどうかを図るために
「せめてコードぐらいは出せるよな?w」という考えで要求してるの
345デフォルトの名無しさん
2019/10/13(日) 17:15:40.27ID:bBavR94N >>343
ファクトリーは「あるクラス」を使って「別のクラス」を生成するということは知ってますか?
ファクトリーは「あるクラス」を使って「別のクラス」を生成するということは知ってますか?
346デフォルトの名無しさん
2019/10/13(日) 17:15:48.94ID:0tGtu6dL なんというか、もう、色々お察しがついてしまいました。
オブジェクト指向を否定的に捉える前にオブジェクト指向のお勉強をされることをおすすめします。
特に、Java、C#、Python、js等はオブジェクト指向のパラダイムを思いっきり取り込んでいるので、開発を楽するためにも、勉強をされることをお勧めします。
オブジェクト指向を否定的に捉える前にオブジェクト指向のお勉強をされることをおすすめします。
特に、Java、C#、Python、js等はオブジェクト指向のパラダイムを思いっきり取り込んでいるので、開発を楽するためにも、勉強をされることをお勧めします。
347デフォルトの名無しさん
2019/10/13(日) 17:16:21.93ID:3vnN9KRU348デフォルトの名無しさん
2019/10/13(日) 17:17:12.09ID:OAJhlsQO349デフォルトの名無しさん
2019/10/13(日) 17:17:44.97ID:bBavR94N >>347
質問に答えてよw
まあ想像できるから、さっさと追い詰めるけどw
>Storage s = new Usb();
>...
>s = new SDCard();
このコードはどう見ても、Usbクラス(お前がファクトリークラスだと思ってるもの)から
SDCardクラスを生成してません
質問に答えてよw
まあ想像できるから、さっさと追い詰めるけどw
>Storage s = new Usb();
>...
>s = new SDCard();
このコードはどう見ても、Usbクラス(お前がファクトリークラスだと思ってるもの)から
SDCardクラスを生成してません
350デフォルトの名無しさん
2019/10/13(日) 17:18:52.85ID:OAJhlsQO351デフォルトの名無しさん
2019/10/13(日) 17:19:19.41ID:3vnN9KRU352デフォルトの名無しさん
2019/10/13(日) 17:22:13.85ID:3vnN9KRU353デフォルトの名無しさん
2019/10/13(日) 17:22:24.95ID:bBavR94N >>351
何がまずいって、ポリもーフィーズムとわかるのに十分なコードなのに
それがわからずにファクトリーを思い浮かべてしまったお前の頭がまずいw
どう見てもファクトリーのコードではないのに、なんでファクトリーだと思ったのか?
何がまずいって、ポリもーフィーズムとわかるのに十分なコードなのに
それがわからずにファクトリーを思い浮かべてしまったお前の頭がまずいw
どう見てもファクトリーのコードではないのに、なんでファクトリーだと思ったのか?
354デフォルトの名無しさん
2019/10/13(日) 17:23:23.85ID:bBavR94N >>352
だから(ファクトリークラスを使わずに)sを使いまわしてるだけのコードですよねw
だから(ファクトリークラスを使わずに)sを使いまわしてるだけのコードですよねw
355デフォルトの名無しさん
2019/10/13(日) 17:24:32.94ID:3vnN9KRU356デフォルトの名無しさん
2019/10/13(日) 17:25:28.56ID:OAJhlsQO 明確にしようとコードを出すはずだったのに目的も不明確なまま
デザパタ1パターンをオブジェクト指向の全てとしてコードをあげてしまって失敗した感じ?
な、コードなんて出す奴問答無用でバカだろ
テメーらは早く死ね雑魚
デザパタ1パターンをオブジェクト指向の全てとしてコードをあげてしまって失敗した感じ?
な、コードなんて出す奴問答無用でバカだろ
テメーらは早く死ね雑魚
357デフォルトの名無しさん
2019/10/13(日) 17:26:03.26ID:bBavR94N > 両方クラうでなくStorageを返しているじゃない
うん? だから ”ファクトリーを使わずに" Storageを返してますよね?
今の焦点はなんであんたがファクトリーだと思ったかなんですが?w
うん? だから ”ファクトリーを使わずに" Storageを返してますよね?
今の焦点はなんであんたがファクトリーだと思ったかなんですが?w
358デフォルトの名無しさん
2019/10/13(日) 17:26:58.40ID:OAJhlsQO >>357
ハイハイ、早く死んでねー
ハイハイ、早く死んでねー
359デフォルトの名無しさん
2019/10/13(日) 17:27:00.19ID:V3xYaAid このコードがファクトリーで最後にsリターンしてんじゃね
360デフォルトの名無しさん
2019/10/13(日) 17:27:20.86ID:3vnN9KRU361デフォルトの名無しさん
2019/10/13(日) 17:28:11.52ID:3vnN9KRU >>360
戦後じゃなくて前後ね
戦後じゃなくて前後ね
362デフォルトの名無しさん
2019/10/13(日) 17:28:34.66ID:bBavR94N363デフォルトの名無しさん
2019/10/13(日) 17:28:56.47ID:OAJhlsQO 今日もオブジェクト指向戦士は安定のバカだな
自分が何を主張しようとしてるのか全く不明
自分が何を主張しようとしてるのか全く不明
364デフォルトの名無しさん
2019/10/13(日) 17:30:16.39ID:bBavR94N >>360
その理屈だと、
Interface i = new Klass()
というオブジェクトをnewするだけのよくあるコードをみたら
それは全部ファクトリだなとお前は思うと言ってるのと同じことだぞw
やっぱりファクトリーをわかってないw
その理屈だと、
Interface i = new Klass()
というオブジェクトをnewするだけのよくあるコードをみたら
それは全部ファクトリだなとお前は思うと言ってるのと同じことだぞw
やっぱりファクトリーをわかってないw
365デフォルトの名無しさん
2019/10/13(日) 17:30:20.99ID:3vnN9KRU >>362
そう、だからすごい違和感があって流したんだよ
そう、だからすごい違和感があって流したんだよ
366デフォルトの名無しさん
2019/10/13(日) 17:31:51.66ID:bBavR94N >>365
その違和感の原因がなにかわかってる?
お前がポリモーフィズムをわかってないからだよ。
書かれたコードを見ても(俺はすぐに分かったが)お前はわからない。
わからない上に、どうてみてもファクトリーじゃないのに
ファクトリーだと思ってしまった。
その違和感の原因がなにかわかってる?
お前がポリモーフィズムをわかってないからだよ。
書かれたコードを見ても(俺はすぐに分かったが)お前はわからない。
わからない上に、どうてみてもファクトリーじゃないのに
ファクトリーだと思ってしまった。
367デフォルトの名無しさん
2019/10/13(日) 17:32:27.46ID:0tGtu6dL >>351
ちょっとショックのあまりにいくつかスルーしましたが...
ポリモーフィズムというのは、Java案件をこなすプログラマーにとって常識中の常識だからです。Javaじゃなくても、現役C++、C#、Python、js等の案件をこなすプロがポリモーフィズムを知らなかったらビックリします。要はオブジェクト指向プログラマーの常識中の常識なのです。
ちょっとショックのあまりにいくつかスルーしましたが...
ポリモーフィズムというのは、Java案件をこなすプログラマーにとって常識中の常識だからです。Javaじゃなくても、現役C++、C#、Python、js等の案件をこなすプロがポリモーフィズムを知らなかったらビックリします。要はオブジェクト指向プログラマーの常識中の常識なのです。
368デフォルトの名無しさん
2019/10/13(日) 17:32:48.90ID:V3xYaAid >>362
Factoryパターンはポリモーフィズムを利用する最たる例だぞ
Factoryパターンはポリモーフィズムを利用する最たる例だぞ
369デフォルトの名無しさん
2019/10/13(日) 17:33:19.20ID:3vnN9KRU370デフォルトの名無しさん
2019/10/13(日) 17:33:48.17ID:3vnN9KRU >>368
それは意見が分かれるところだと思うよ
それは意見が分かれるところだと思うよ
371デフォルトの名無しさん
2019/10/13(日) 17:34:47.43ID:V3xYaAid 話が条件反射すぎて話の筋追って話ができそうにない
372デフォルトの名無しさん
2019/10/13(日) 17:36:00.36ID:3vnN9KRU そんなもんだよここはとくに3vnN9KRUが揚げ足を取ったり話を発散させるから
諦めが肝心だよ
諦めが肝心だよ
373デフォルトの名無しさん
2019/10/13(日) 17:39:03.31ID:OAJhlsQO まず、持論を語るやつは
どういう手順で何を主張しようとしてるのか明確にしろよな
結局、相手の揚げ足をとりたいだけだったりしてすげーバカがいる
どういう手順で何を主張しようとしてるのか明確にしろよな
結局、相手の揚げ足をとりたいだけだったりしてすげーバカがいる
374デフォルトの名無しさん
2019/10/13(日) 17:40:54.32ID:0tGtu6dL 曖昧な言葉を使ったり、自分すら理解できない言葉を使うのはどうかと思いますけどね。
だから質問しまくる羽目になるわけで。
だから質問しまくる羽目になるわけで。
375デフォルトの名無しさん
2019/10/13(日) 17:41:59.74ID:3vnN9KRU376デフォルトの名無しさん
2019/10/13(日) 17:44:32.86ID:bBavR94N >>368
だから?
Factoryパターンはポリモーフィズムを利用する最たる例ならなおさら
このコードをファクトリーだと思ったなら、
ポリモーフィズムだって思うはずでしょw
実際はファクトリーじゃないわけだが
だから?
Factoryパターンはポリモーフィズムを利用する最たる例ならなおさら
このコードをファクトリーだと思ったなら、
ポリモーフィズムだって思うはずでしょw
実際はファクトリーじゃないわけだが
377デフォルトの名無しさん
2019/10/13(日) 17:45:13.71ID:0tGtu6dL >>375
あなた、もういいです。
自分の非を決して認めない人だとわかりました。
大体、オブジェクト指向のメリットって何と聞いて私の挙げたメリットを、それはOOPのメリットではないと言いつつ、メリットはスコープがーとか言い出す辺りで大分、不信感は抱いておりました。
現代における開発経験量が丸わかりです。
あなた、もういいです。
自分の非を決して認めない人だとわかりました。
大体、オブジェクト指向のメリットって何と聞いて私の挙げたメリットを、それはOOPのメリットではないと言いつつ、メリットはスコープがーとか言い出す辺りで大分、不信感は抱いておりました。
現代における開発経験量が丸わかりです。
378デフォルトの名無しさん
2019/10/13(日) 17:45:35.32ID:3vnN9KRU で、これも想像だが
@Override
public void read (…)
なんだろうな
人の頭の中のことまで創造させて、違う違う言ってたってしょうがないだろ
@Override
public void read (…)
なんだろうな
人の頭の中のことまで創造させて、違う違う言ってたってしょうがないだろ
379デフォルトの名無しさん
2019/10/13(日) 17:45:52.37ID:bBavR94N >>369
つまりお前が言ってることはこういうことだよ。
お前「俺はこういう書き方でポリモーフィズムを使ったことがないから
これがポリモーフィズムだとわからなかった。」
そりゃ無知なら間違えても当然。
お前の問題だ。
つまりお前が言ってることはこういうことだよ。
お前「俺はこういう書き方でポリモーフィズムを使ったことがないから
これがポリモーフィズムだとわからなかった。」
そりゃ無知なら間違えても当然。
お前の問題だ。
380デフォルトの名無しさん
2019/10/13(日) 17:47:05.08ID:OAJhlsQO そもそもポリモーフィズムってオブジェクト指向できたときに無かったよな?
それをメインに据えたい意図は何かあるの?
それをメインに据えたい意図は何かあるの?
381デフォルトの名無しさん
2019/10/13(日) 17:48:51.57ID:3vnN9KRU >>377
いやほんと、カプセル化を初めオブジェクト指向は害のある使い方が流布しているから
気をつけたほうがいいよ
有効な使い方に制限するのがなかなか難しい
>> 379
最初はホントに単なるファクトリに見えて、は?って思ったw
いやほんと、カプセル化を初めオブジェクト指向は害のある使い方が流布しているから
気をつけたほうがいいよ
有効な使い方に制限するのがなかなか難しい
>> 379
最初はホントに単なるファクトリに見えて、は?って思ったw
382デフォルトの名無しさん
2019/10/13(日) 17:49:00.06ID:bBavR94N383デフォルトの名無しさん
2019/10/13(日) 17:49:30.25ID:bBavR94N >>381
お前が一番、間違ったオブジェクト指向をしてるんだがなw
お前が一番、間違ったオブジェクト指向をしてるんだがなw
384デフォルトの名無しさん
2019/10/13(日) 17:50:25.84ID:M4gZyrF1 どこがファクトリに見えるのあれ
385デフォルトの名無しさん
2019/10/13(日) 17:51:06.33ID:V3xYaAid 今日思ったこと
オブジェクト指向にはまるやつは大概頭が混乱してる
オブジェクト指向にはまるやつは大概頭が混乱してる
386デフォルトの名無しさん
2019/10/13(日) 17:52:38.78ID:3vnN9KRU >>382
だから多態はなるべく使わないって書いたじゃない。
スパークラスに共通のメソッドを書いてサブクラスでメソッドをOverrideとかは
必要な場合に使う
方がない動的言語では、それがそのまま多態になっちゃうんだけれどもさ
だから多態はなるべく使わないって書いたじゃない。
スパークラスに共通のメソッドを書いてサブクラスでメソッドをOverrideとかは
必要な場合に使う
方がない動的言語では、それがそのまま多態になっちゃうんだけれどもさ
387デフォルトの名無しさん
2019/10/13(日) 17:53:38.10ID:bBavR94N388デフォルトの名無しさん
2019/10/13(日) 17:55:02.74ID:3vnN9KRU389デフォルトの名無しさん
2019/10/13(日) 17:55:03.32ID:bBavR94N >>386
> スパークラスに共通のメソッドを書いてサブクラスでメソッドをOverrideとかは
> 必要な場合に使う
意味不明。必要がない場合に使うわけ無いだろ。
誰しも、必要な場合にしか使ってないぞ?
何を言ってるんだろうか
> スパークラスに共通のメソッドを書いてサブクラスでメソッドをOverrideとかは
> 必要な場合に使う
意味不明。必要がない場合に使うわけ無いだろ。
誰しも、必要な場合にしか使ってないぞ?
何を言ってるんだろうか
390デフォルトの名無しさん
2019/10/13(日) 17:55:45.75ID:3vnN9KRU391デフォルトの名無しさん
2019/10/13(日) 17:55:54.54ID:bBavR94N392デフォルトの名無しさん
2019/10/13(日) 17:56:19.70ID:bBavR94N393デフォルトの名無しさん
2019/10/13(日) 17:57:46.78ID:3vnN9KRU394デフォルトの名無しさん
2019/10/13(日) 17:58:44.88ID:bBavR94N >>393
だから単にお前の周りが酷いだけじゃんw
だから単にお前の周りが酷いだけじゃんw
395デフォルトの名無しさん
2019/10/13(日) 17:59:33.81ID:0tGtu6dL >>380
そもそも、最初のオブジェクト指向...アランケイの提唱するオブジェクト指向で、現代におけるオブジェクト指向とはまったく違う代物だったみたいですよ。
まぁ、この時代の事情はあまり知らないですが。
最近はオブジェクト指向の話題をする際にアランケイのオブジェクト指向を指す人はまず、いないと思います。
歴史的背景は私も詳しくはないですが...プログラミング言語の進化と共に色んな設計概念が増えていっただけなのかなと思います。
※勝手な思いこみ説明なんで間に受けないでね。
他にも良いオブジェクト指向向けの機能はあるので、メインなのかは疑問ですが...オブジェクトの使い勝手をより一層便利にするからじゃないですかね。
そもそも、最初のオブジェクト指向...アランケイの提唱するオブジェクト指向で、現代におけるオブジェクト指向とはまったく違う代物だったみたいですよ。
まぁ、この時代の事情はあまり知らないですが。
最近はオブジェクト指向の話題をする際にアランケイのオブジェクト指向を指す人はまず、いないと思います。
歴史的背景は私も詳しくはないですが...プログラミング言語の進化と共に色んな設計概念が増えていっただけなのかなと思います。
※勝手な思いこみ説明なんで間に受けないでね。
他にも良いオブジェクト指向向けの機能はあるので、メインなのかは疑問ですが...オブジェクトの使い勝手をより一層便利にするからじゃないですかね。
396デフォルトの名無しさん
2019/10/13(日) 18:01:57.13ID:3vnN9KRU >>391
javaで多態はほんとにめったというかぜんぜん使わない
javaはまれにしかやらないけど、主にpythonなどが多いので
そもそも型がない
したがって派生クラスで上書きした共通関数使えば、
もうそれが多態といえるのかもしれないけど、
継承もなるべく使わない
javaで多態はほんとにめったというかぜんぜん使わない
javaはまれにしかやらないけど、主にpythonなどが多いので
そもそも型がない
したがって派生クラスで上書きした共通関数使えば、
もうそれが多態といえるのかもしれないけど、
継承もなるべく使わない
397デフォルトの名無しさん
2019/10/13(日) 18:04:00.90ID:3vnN9KRU398デフォルトの名無しさん
2019/10/13(日) 18:04:12.06ID:bBavR94N >>396
だからさ、ちゃんと「俺は」って書いてくんない?
「俺は」javaで多態はほんとにめったというかぜんぜん使わない
「俺は」javaはまれにしかやらないけど、「俺は」主にpythonなどが多いので
「俺の世界には」そもそも型(Pythonのクラス)がない
したがって「俺の世界では」派生クラスで上書きした共通関数使えば、
もうそれが多態といえるのかもしれないけど、
「俺は」継承もなるべく使わない
お前の話なんか知るかw
だからさ、ちゃんと「俺は」って書いてくんない?
「俺は」javaで多態はほんとにめったというかぜんぜん使わない
「俺は」javaはまれにしかやらないけど、「俺は」主にpythonなどが多いので
「俺の世界には」そもそも型(Pythonのクラス)がない
したがって「俺の世界では」派生クラスで上書きした共通関数使えば、
もうそれが多態といえるのかもしれないけど、
「俺は」継承もなるべく使わない
お前の話なんか知るかw
399デフォルトの名無しさん
2019/10/13(日) 18:05:11.76ID:0tGtu6dL >>397
あ、はい。
あ、はい。
400デフォルトの名無しさん
2019/10/13(日) 18:06:09.59ID:3vnN9KRU401デフォルトの名無しさん
2019/10/13(日) 18:06:34.42ID:0tGtu6dL なんで私は噛みつかれたのでしょう( ;´・ω・`)
402デフォルトの名無しさん
2019/10/13(日) 18:07:13.88ID:y+A2lH1B 『シコシコ』という擬音はどうでもよい。問題は、
自我 チンポ
↓ ↓ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/WTKeavj.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
自我 チンポ
↓ ↓ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/WTKeavj.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
403デフォルトの名無しさん
2019/10/13(日) 18:07:54.54ID:bBavR94N こいつのせいで、Pythonに型やクラスがないと
勘違いされるのは困るから、ちゃんと書いておくな
Python チュートリアル
https://docs.python.org/ja/3/tutorial/classes.html
9. クラス
> Python のクラスは、C++ と Modula-3 のクラスメカニズムを混ぜたものです。
> Python のクラス機構はオブジェクト指向プログラミングの標準的な機能を全て提供しています。Python のクラスは、C++ と Modula-3 のクラスメカニズムを混ぜたものです。Python のクラス機構はオブジェクト指向プログラミングの標準的な機能を全て提供しています。
9.5. 継承
> 言うまでもなく、継承の概念をサポートしない言語機能は "クラス" と呼ぶに値しません。
9.5.1. 多重継承
> Python では、多重継承 (multiple inheritance) の形式もサポートしています。
勘違いされるのは困るから、ちゃんと書いておくな
Python チュートリアル
https://docs.python.org/ja/3/tutorial/classes.html
9. クラス
> Python のクラスは、C++ と Modula-3 のクラスメカニズムを混ぜたものです。
> Python のクラス機構はオブジェクト指向プログラミングの標準的な機能を全て提供しています。Python のクラスは、C++ と Modula-3 のクラスメカニズムを混ぜたものです。Python のクラス機構はオブジェクト指向プログラミングの標準的な機能を全て提供しています。
9.5. 継承
> 言うまでもなく、継承の概念をサポートしない言語機能は "クラス" と呼ぶに値しません。
9.5.1. 多重継承
> Python では、多重継承 (multiple inheritance) の形式もサポートしています。
404デフォルトの名無しさん
2019/10/13(日) 18:09:21.97ID:3vnN9KRU 別に噛み付いちゃいねえけど
オレオレオブジェクト指向論者は
メッセージやアクター理論などど型クラス+メソッド+継承のOOPSを
混同してむちゃくちゃな議論をするやからが多いから、ついかいた
オレオレオブジェクト指向論者は
メッセージやアクター理論などど型クラス+メソッド+継承のOOPSを
混同してむちゃくちゃな議論をするやからが多いから、ついかいた
405デフォルトの名無しさん
2019/10/13(日) 18:11:26.57ID:y+A2lH1B >>404
>オレオレオブジェクト指向論者は
>メッセージやアクター理論などど型クラス+メソッド+継承のOOPSを
>混同してむちゃくちゃな議論をする
でもオブジェクト指向は俺の股間に付いているだろう?
>オレオレオブジェクト指向論者は
>メッセージやアクター理論などど型クラス+メソッド+継承のOOPSを
>混同してむちゃくちゃな議論をする
でもオブジェクト指向は俺の股間に付いているだろう?
406デフォルトの名無しさん
2019/10/13(日) 18:12:16.43ID:OAJhlsQO >>398
えー、お前のも一般的なの?
アランケイさんのお言葉
wikipediaより
すべてはオブジェクトである。
オブジェクトはメッセージの受け答えによってコミュニケーションする。
オブジェクトは自身のメモリーを持つ。
どのオブジェクトもクラスのインスタンスであり、クラスもまたオブジェクトである。
クラスはその全インスタンスの為の共有動作を持つ。インスタンスはプログラムにおけるオブジェクトの形態である。
プログラム実行時は、制御は最初のオブジェクトに渡され、残りはそのメッセージとして扱われる。
だってさ
えー、お前のも一般的なの?
アランケイさんのお言葉
wikipediaより
すべてはオブジェクトである。
オブジェクトはメッセージの受け答えによってコミュニケーションする。
オブジェクトは自身のメモリーを持つ。
どのオブジェクトもクラスのインスタンスであり、クラスもまたオブジェクトである。
クラスはその全インスタンスの為の共有動作を持つ。インスタンスはプログラムにおけるオブジェクトの形態である。
プログラム実行時は、制御は最初のオブジェクトに渡され、残りはそのメッセージとして扱われる。
だってさ
407デフォルトの名無しさん
2019/10/13(日) 18:12:55.88ID:3vnN9KRU >>403
クラスはアルさ、なに言ってんだ。
それからデータに型はあるさ
変数に型はないよ いれたデータに型が紐つく
そういう言語もいっぱいあって、C++やJavaninai柔軟性を示すんだよ
動的型付けってしなねぇのかよ
rubyではダックタイプとかいう
クラスはアルさ、なに言ってんだ。
それからデータに型はあるさ
変数に型はないよ いれたデータに型が紐つく
そういう言語もいっぱいあって、C++やJavaninai柔軟性を示すんだよ
動的型付けってしなねぇのかよ
rubyではダックタイプとかいう
408デフォルトの名無しさん
2019/10/13(日) 18:13:23.47ID:OAJhlsQO ポリオワクチンなんてどこにも書いてないよな
409デフォルトの名無しさん
2019/10/13(日) 18:13:26.62ID:bBavR94N410デフォルトの名無しさん
2019/10/13(日) 18:15:30.66ID:bBavR94N411デフォルトの名無しさん
2019/10/13(日) 18:15:39.72ID:OAJhlsQO >>409
じゃ、違う名前に変えろよw
じゃ、違う名前に変えろよw
412デフォルトの名無しさん
2019/10/13(日) 18:16:37.88ID:3vnN9KRU413デフォルトの名無しさん
2019/10/13(日) 18:16:41.47ID:0tGtu6dL >>411
そんな事、彼に言ってもしょうがないでしょw
そんな事、彼に言ってもしょうがないでしょw
414デフォルトの名無しさん
2019/10/13(日) 18:16:48.96ID:V3xYaAid 俺らに文句いわれても
415デフォルトの名無しさん
2019/10/13(日) 18:17:02.27ID:OAJhlsQO じゃ、ポリオワクチン入ってるやつは
新オブジェクト指向って言えよ
アランケイのはじめのやつは
旧オブジェクト指向って言うか?
新オブジェクト指向って言えよ
アランケイのはじめのやつは
旧オブジェクト指向って言うか?
416デフォルトの名無しさん
2019/10/13(日) 18:17:45.11ID:bBavR94N417デフォルトの名無しさん
2019/10/13(日) 18:18:50.58ID:0tGtu6dL >>415
1のテンプレがややこしくしているのが問題だと思う。
1のテンプレがややこしくしているのが問題だと思う。
418デフォルトの名無しさん
2019/10/13(日) 18:21:19.12ID:3vnN9KRU >>416
大いにあるよ。
変数に型がないから、何のインスタンス入れてもいいんだよ。
そのインスタンスが同じ名前・IFのmethodもってりゃ、javaのような多態が
意識しなくても自然に出来ちゃうって話だよ。
読み取れよ
大いにあるよ。
変数に型がないから、何のインスタンス入れてもいいんだよ。
そのインスタンスが同じ名前・IFのmethodもってりゃ、javaのような多態が
意識しなくても自然に出来ちゃうって話だよ。
読み取れよ
419デフォルトの名無しさん
2019/10/13(日) 18:24:49.58ID:bBavR94N >>418
今度は多態の意味もわかってないのか?
多態は同じメソッドを持ってりゃいいんだよ
インターフェースは単に、ドキュメントで同じメソッドを
持つことと保証するかコードで保証するかの違いでしか無い。
同じように変数に型がないRubyでの多態の例な
https://docs.ruby-lang.org/ja/latest/doc/glossary.html
> ポリモルフィズム
> 多態, Polymorphism
> 対象になるオブジェクトによって実際の操作が決定されること。
> Rubyではレシーバのオブジェクトに応じ てメソッドが選択されることによって実現されている。
>
> * 例
>
> obj = "abc"
> print obj.length, "\n" # => 3
> obj = [1,2,3,4]
> print obj.length, "\n" # => 4
今度は多態の意味もわかってないのか?
多態は同じメソッドを持ってりゃいいんだよ
インターフェースは単に、ドキュメントで同じメソッドを
持つことと保証するかコードで保証するかの違いでしか無い。
同じように変数に型がないRubyでの多態の例な
https://docs.ruby-lang.org/ja/latest/doc/glossary.html
> ポリモルフィズム
> 多態, Polymorphism
> 対象になるオブジェクトによって実際の操作が決定されること。
> Rubyではレシーバのオブジェクトに応じ てメソッドが選択されることによって実現されている。
>
> * 例
>
> obj = "abc"
> print obj.length, "\n" # => 3
> obj = [1,2,3,4]
> print obj.length, "\n" # => 4
420デフォルトの名無しさん
2019/10/13(日) 18:26:14.69ID:3vnN9KRU421デフォルトの名無しさん
2019/10/13(日) 18:26:56.15ID:bBavR94N 「インスタンスが同じ名前・IFのmethodもってりゃ…多態が…出来る」ので
多態の話に変数に型があるかどうかは関係ない
多態の話に変数に型があるかどうかは関係ない
422デフォルトの名無しさん
2019/10/13(日) 18:27:33.55ID:3vnN9KRU >>421
こいつこんなバカだとはうすうす気がついていたがw
こいつこんなバカだとはうすうす気がついていたがw
423デフォルトの名無しさん
2019/10/13(日) 18:28:05.21ID:M4gZyrF1 javaでも意識せずに多態使ってると思うけども
424デフォルトの名無しさん
2019/10/13(日) 18:29:27.94ID:bBavR94N >>422
いや、何か言い返せよw
いや、何か言い返せよw
425デフォルトの名無しさん
2019/10/13(日) 18:30:15.55ID:3vnN9KRU426デフォルトの名無しさん
2019/10/13(日) 18:30:34.51ID:V3xYaAid ばかというか実際の経験がないんだろうな
文字で読んだうわべの知識しかないから
そこ間違えねーだろみたいなところでズレまくってて会話が成立しない
文字で読んだうわべの知識しかないから
そこ間違えねーだろみたいなところでズレまくってて会話が成立しない
427デフォルトの名無しさん
2019/10/13(日) 18:31:34.34ID:bBavR94N > 動的型付け言語では、全然関係ないクラスのインスタンスが同じ名前・IFのmethodもってりゃいいんだけれど
> Javaもそこまで柔軟?
柔軟だよ。そのためにインターフェースがある。
全然関係ないクラスであっても、インターフェースを加えればいいだけ
> Javaもそこまで柔軟?
柔軟だよ。そのためにインターフェースがある。
全然関係ないクラスであっても、インターフェースを加えればいいだけ
428デフォルトの名無しさん
2019/10/13(日) 18:31:34.43ID:3vnN9KRU429デフォルトの名無しさん
2019/10/13(日) 18:31:55.10ID:OAJhlsQO430デフォルトの名無しさん
2019/10/13(日) 18:31:56.29ID:bBavR94N >>428
反論できない言い訳?
反論できない言い訳?
431デフォルトの名無しさん
2019/10/13(日) 18:32:24.84ID:3vnN9KRU432デフォルトの名無しさん
2019/10/13(日) 18:34:42.42ID:/n8R8rPr 理論的背景皆無のIT界の新約聖書オブジェクト指向ファンタジーより情報理論学べよ。
お前らの無駄レス情報量ゼロだって分かるからwwwww
お前らの無駄レス情報量ゼロだって分かるからwwwww
433デフォルトの名無しさん
2019/10/13(日) 18:35:11.57ID:bBavR94N >>431
インターフェースを加えた上で、
同じ名前メソッドを加えるのも
インターフェースを加えずに
同じ名前メソッドを加えるのも
「同じ名前のメソッドがある」ことに変わりはない。
どちらにしろ管理の対象になる
インターフェースを加えた上で、
同じ名前メソッドを加えるのも
インターフェースを加えずに
同じ名前メソッドを加えるのも
「同じ名前のメソッドがある」ことに変わりはない。
どちらにしろ管理の対象になる
434デフォルトの名無しさん
2019/10/13(日) 18:35:16.44ID:3vnN9KRU インターフェースも絡んできて、依存ネットワークを作っちゃうんだよな
本来の目的はFWなりライブラリの外向けインタフェースの提供や
実装の分離のはずだったのに、#includeや#defineがないものだから
中向けに定数の多重継承がわりに使われたり
本来の目的はFWなりライブラリの外向けインタフェースの提供や
実装の分離のはずだったのに、#includeや#defineがないものだから
中向けに定数の多重継承がわりに使われたり
435デフォルトの名無しさん
2019/10/13(日) 18:36:24.64ID:48i2xCpc オブジェクト指向に利点はありまーす。
436デフォルトの名無しさん
2019/10/13(日) 18:36:33.25ID:3vnN9KRU さて、嵐も去ったし飯でも食いに行ってくるわ
ノシ
ノシ
437デフォルトの名無しさん
2019/10/13(日) 18:37:20.61ID:bBavR94N >>434
だから「俺は」を書けってw
インターフェースも絡んできて、「俺は」依存ネットワークを作っちゃうんだよな
本来の目的はFWなりライブラリの外向けインタフェースの提供や
実装の分離のはずだったのに、#includeや#defineがないものだから
「俺は」中向けに定数の多重継承をわりに使ったり
だから「俺は」を書けってw
インターフェースも絡んできて、「俺は」依存ネットワークを作っちゃうんだよな
本来の目的はFWなりライブラリの外向けインタフェースの提供や
実装の分離のはずだったのに、#includeや#defineがないものだから
「俺は」中向けに定数の多重継承をわりに使ったり
438デフォルトの名無しさん
2019/10/13(日) 18:37:53.45ID:bBavR94N 嵐が「嵐は去ったと知って」去っていったw
去ったのが嵐なのだろうw
去ったのが嵐なのだろうw
439デフォルトの名無しさん
2019/10/13(日) 18:38:39.59ID:3vnN9KRU >>437
ハ,,ハ
( ゚ω゚ ) お断りします
/ \ お断りします
. ,、,,、 ((⊂ ) ノ\つ))
(゚ω゚) オコトワリ- (_⌒ヽ
((c'ィ -、っ)) ヽ ヘ }
s-= )ノヘ) ε≡Ξ ノノ `J
ハ,,ハ
( ゚ω゚ ) お断りします
/ \ お断りします
. ,、,,、 ((⊂ ) ノ\つ))
(゚ω゚) オコトワリ- (_⌒ヽ
((c'ィ -、っ)) ヽ ヘ }
s-= )ノヘ) ε≡Ξ ノノ `J
440デフォルトの名無しさん
2019/10/13(日) 18:39:53.44ID:V3xYaAid それが悪いことでほかに代替手段があるのに禁止されていないなら
それは言語の欠点だ
それは言語の欠点だ
441デフォルトの名無しさん
2019/10/13(日) 18:43:01.25ID:V3xYaAid442デフォルトの名無しさん
2019/10/13(日) 18:44:57.18ID:bBavR94N443デフォルトの名無しさん
2019/10/13(日) 18:46:15.84ID:V3xYaAid だからそれで依存がごちゃごちゃになるんだってば
444デフォルトの名無しさん
2019/10/13(日) 18:46:47.95ID:3vnN9KRU そこまで無理をして多態を使わないようにするのがイチバン正しい
445デフォルトの名無しさん
2019/10/13(日) 18:46:59.38ID:bBavR94N446デフォルトの名無しさん
2019/10/13(日) 18:47:53.75ID:V3xYaAid Staticメソッドにしてクラスと別に定義すればクラス自体に新しい依存はできないよ
447デフォルトの名無しさん
2019/10/13(日) 18:48:47.53ID:3vnN9KRU >>445
それに加えてグローバルな依存ネットがプラスされて雲の巣状態になるんだじゃよ
それに加えてグローバルな依存ネットがプラスされて雲の巣状態になるんだじゃよ
448デフォルトの名無しさん
2019/10/13(日) 18:49:28.78ID:bBavR94N449デフォルトの名無しさん
2019/10/13(日) 18:50:00.73ID:bBavR94N450デフォルトの名無しさん
2019/10/13(日) 18:50:38.01ID:3vnN9KRU また妄想でミスリードして話を明後日の方向に発散させる…
451デフォルトの名無しさん
2019/10/13(日) 18:50:47.67ID:V3xYaAid お前みたいなのがぐちゃぐちゃにするから。
452デフォルトの名無しさん
2019/10/13(日) 18:50:48.52ID:0tGtu6dL なんか、お疲れ様です...。
私はもう、OOPを理解させるのは無理だと悟りました。
私はもう、OOPを理解させるのは無理だと悟りました。
453デフォルトの名無しさん
2019/10/13(日) 18:51:22.71ID:3vnN9KRU >>449
一派論です。キッリ
ハ,,ハ
( ゚ω゚ ) お断りします
/ \ お断りします
. ,、,,、 ((⊂ ) ノ\つ))
(゚ω゚) オコトワリ- (_⌒ヽ
((c'ィ -、っ)) ヽ ヘ }
s-= )ノヘ) ε≡Ξ ノノ `J
一派論です。キッリ
ハ,,ハ
( ゚ω゚ ) お断りします
/ \ お断りします
. ,、,,、 ((⊂ ) ノ\つ))
(゚ω゚) オコトワリ- (_⌒ヽ
((c'ィ -、っ)) ヽ ヘ }
s-= )ノヘ) ε≡Ξ ノノ `J
454デフォルトの名無しさん
2019/10/13(日) 18:52:20.42ID:3vnN9KRU >>452
させる」とかいう以前にもう少しソフトウエアの勉強を
させる」とかいう以前にもう少しソフトウエアの勉強を
455デフォルトの名無しさん
2019/10/13(日) 18:53:15.70ID:MhpUZXHP 宗教みたいなもんだからな。
リアリストに神の存在を認めさせるようなもん。
教会に籠ってろw
リアリストに神の存在を認めさせるようなもん。
教会に籠ってろw
456デフォルトの名無しさん
2019/10/13(日) 18:54:55.30ID:0tGtu6dL まぁ、彼らはOOPがクソだと思いながらOOPの勉強を避けてコードを書けば言い訳だし、
私はOOPのコードを書いていく。
これでいいかと思いました。
ただ、このスレタイは初心者に毒なので勘弁してほしい。
私はOOPのコードを書いていく。
これでいいかと思いました。
ただ、このスレタイは初心者に毒なので勘弁してほしい。
457デフォルトの名無しさん
2019/10/13(日) 18:58:41.47ID:MhpUZXHP つまり「神の存在を認めぬ不信心者め!地獄に堕ちるぞ!」
www
www
458デフォルトの名無しさん
2019/10/13(日) 19:05:26.86ID:0tGtu6dL >>457
いいえ?
あなたは既に地獄へ堕ちているのでは?
このご時世にOOPを目の敵にしている人の実力なんてお察しです。
むしろ、あなたみたいな人はOOPを学ばないで下さいね。
見せしめになってほしいので。
是非、たっぷり苦しみながら開発をしてくださいませ。
まぁ、台風が去ったらこのようなスレには二度と来ないので、どうぞ傷の舐め合いでもしててください。さようなら。
いいえ?
あなたは既に地獄へ堕ちているのでは?
このご時世にOOPを目の敵にしている人の実力なんてお察しです。
むしろ、あなたみたいな人はOOPを学ばないで下さいね。
見せしめになってほしいので。
是非、たっぷり苦しみながら開発をしてくださいませ。
まぁ、台風が去ったらこのようなスレには二度と来ないので、どうぞ傷の舐め合いでもしててください。さようなら。
459デフォルトの名無しさん
2019/10/13(日) 19:21:08.33ID:bBavR94N 俺にとっては、あるクラスのメソッドの仕様を変更した時、
同時に変更しなければ動作不良になる、他の部分のことを依存してるコードっていうんだが、
インターフェースがなければ、依存しないという理由が知りたいわ
同時に変更しなければ動作不良になる、他の部分のことを依存してるコードっていうんだが、
インターフェースがなければ、依存しないという理由が知りたいわ
460デフォルトの名無しさん
2019/10/13(日) 19:32:04.78ID:I8cQof7f 恐らく彼の職場では責任範囲の概念が無いんだと思う
他人が書いたコードだろうが変数の動きを端から端まで追いかけて責任持たなきゃいけない
そうなるとコードの再利用をむしろ減らした方が効率が上がる
他人が書いたコードだろうが変数の動きを端から端まで追いかけて責任持たなきゃいけない
そうなるとコードの再利用をむしろ減らした方が効率が上がる
461デフォルトの名無しさん
2019/10/13(日) 19:57:57.09ID:/OQx7RZk 三連休の夜はまだあるぞ
納得するまで議論つづけろよ
納得するまで議論つづけろよ
462デフォルトの名無しさん
2019/10/13(日) 20:00:49.77ID:bBavR94N 嵐は去ったようですよw
463デフォルトの名無しさん
2019/10/13(日) 20:08:03.65ID:MhpUZXHP >>458
ザビエル敗走www
ザビエル敗走www
464デフォルトの名無しさん
2019/10/13(日) 20:15:26.34ID:BXD6hdDp465デフォルトの名無しさん
2019/10/13(日) 20:19:50.99ID:gUdJTWPj したのは知らんかった
cも嫌いなのかよw
cも嫌いなのかよw
466デフォルトの名無しさん
2019/10/13(日) 20:22:17.02ID:BXD6hdDp >>465
「私はCが嫌いだ。」 と書いてあるのはサイトの著者の好みだろ。
「私はCが嫌いだ。」 と書いてあるのはサイトの著者の好みだろ。
467デフォルトの名無しさん
2019/10/13(日) 20:23:29.09ID:gUdJTWPj あほんとや
署名の下か
署名の下か
468デフォルトの名無しさん
2019/10/13(日) 20:26:57.77ID:BXD6hdDp その C++についてのLinus Torvaldsの意見に対する 1つの反論はこれかな
http://warp.povusers.org/OpenLetters/ResponseToTorvalds.html
http://warp.povusers.org/OpenLetters/ResponseToTorvalds.html
>>468
それ、長くて読めないですよ…
Linus の要約は次のとおり
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:
- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)
- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。
言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
それ、長くて読めないですよ…
Linus の要約は次のとおり
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:
- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)
- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。
言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
470デフォルトの名無しさん
2019/10/13(日) 20:33:45.37ID:MhpUZXHP >>468
で、この人はどんなすごいプログラマーなの?www
で、この人はどんなすごいプログラマーなの?www
471デフォルトの名無しさん
2019/10/13(日) 20:34:55.50ID:V3xYaAid 名前がなんかに似てるとおもいませんか?
473デフォルトの名無しさん
2019/10/13(日) 20:38:58.94ID:MhpUZXHP474デフォルトの名無しさん
2019/10/13(日) 20:39:59.71ID:BXD6hdDp >>469 出てきたなQZめ
そのLinusの意見はよほどいやな目に合って腹が立っ手いたのか、
内容が少し感情的に見える(もともとそういう口の悪い人らしいが)
もう少し理論的技術的に批判した方が良かったんじゃないかと思う。
それから、知っている人もいると思うが
Why do some famous programmers (e.g. Richard Stallman, Linus Torvalds, Ken Thompson, and Brian Kernighan) dislike C++? What are the alternatives?
https://www.quora.com/Why-do-some-famous-programmers-e-g-Richard-Stallman-Linus-Torvalds-Ken-Thompson-and-Brian-Kernighan-dislike-C++-What-are-the-alternatives
Goは、C++やJavaのOOPSじゃだめだとThompson やRob Pikeらが考えて
開発することになった言語であることは、ご存知の通り
Linus Torvalds thinks Java and C++ are horrible programming languages. So, which language does he recommend for programming?
https://www.quora.com/Linus-Torvalds-thinks-Java-and-C-are-horrible-programming-languages-So-which-language-does-he-recommend-for-programming
この辺も面白いかも
俺は縦読みした程度だが
そのLinusの意見はよほどいやな目に合って腹が立っ手いたのか、
内容が少し感情的に見える(もともとそういう口の悪い人らしいが)
もう少し理論的技術的に批判した方が良かったんじゃないかと思う。
それから、知っている人もいると思うが
Why do some famous programmers (e.g. Richard Stallman, Linus Torvalds, Ken Thompson, and Brian Kernighan) dislike C++? What are the alternatives?
https://www.quora.com/Why-do-some-famous-programmers-e-g-Richard-Stallman-Linus-Torvalds-Ken-Thompson-and-Brian-Kernighan-dislike-C++-What-are-the-alternatives
Goは、C++やJavaのOOPSじゃだめだとThompson やRob Pikeらが考えて
開発することになった言語であることは、ご存知の通り
Linus Torvalds thinks Java and C++ are horrible programming languages. So, which language does he recommend for programming?
https://www.quora.com/Linus-Torvalds-thinks-Java-and-C-are-horrible-programming-languages-So-which-language-does-he-recommend-for-programming
この辺も面白いかも
俺は縦読みした程度だが
475デフォルトの名無しさん
2019/10/13(日) 20:42:43.26ID:V3xYaAid 1.Object Oriented Programming is a Cargo Cult.
まったくだ
まったくだ
476デフォルトの名無しさん
2019/10/13(日) 20:43:48.72ID:3h1+0AdA たて読みしたら、
オ
ブ
ジ
ェ
ク
ト
指
向
は
ク
ソ
って書いてあったよ…
オ
ブ
ジ
ェ
ク
ト
指
向
は
ク
ソ
って書いてあったよ…
478デフォルトの名無しさん
2019/10/13(日) 20:45:21.76ID:BXD6hdDp カルトw
言い切ったw
言い切ったw
479デフォルトの名無しさん
2019/10/13(日) 20:46:00.62ID:bBavR94N ぶっちゃけC++の批判とオブジェクト指向の批判は違うもの
480デフォルトの名無しさん
2019/10/13(日) 20:47:55.55ID:BXD6hdDp >>479
苦しいいなw
苦しいいなw
481デフォルトの名無しさん
2019/10/13(日) 20:49:33.81ID:V3xYaAid べつにオブジェクト指向じゃなくてもITは大体カーゴカルトだと思うけどな
482デフォルトの名無しさん
2019/10/13(日) 20:52:32.70ID:BXD6hdDp 俺としては有名人がC++, Java, OOPに批判的か否かはそれほど重要ではないけど
>>458
>> このご時世にOOPを目の敵にしている人の実力なんてお察しです。
> むしろ、あなたみたいな人はOOPを学ばないで下さいね。
> 見せしめになってほしいので。
こんなこと言われると、つい著名人の考えを引用したくなっちゃってさ
>>458
>> このご時世にOOPを目の敵にしている人の実力なんてお察しです。
> むしろ、あなたみたいな人はOOPを学ばないで下さいね。
> 見せしめになってほしいので。
こんなこと言われると、つい著名人の考えを引用したくなっちゃってさ
483デフォルトの名無しさん
2019/10/13(日) 20:55:04.61ID:BXD6hdDp484デフォルトの名無しさん
2019/10/13(日) 21:11:23.01ID:bBavR94N >>480
別に苦しくないよ。Linusが言ってるじゃん
STLやBoostはだめだって。
C++以外にSTLやBoostはない
それに、Linusは
> Cでオブジェクト指向コード(ファイルシステムとかだと有用)を書くのは可能だし
と言ってる。
別に苦しくないよ。Linusが言ってるじゃん
STLやBoostはだめだって。
C++以外にSTLやBoostはない
それに、Linusは
> Cでオブジェクト指向コード(ファイルシステムとかだと有用)を書くのは可能だし
と言ってる。
485デフォルトの名無しさん
2019/10/13(日) 21:16:31.13ID:BXD6hdDp486デフォルトの名無しさん
2019/10/13(日) 21:24:28.67ID:OAJhlsQO487デフォルトの名無しさん
2019/10/13(日) 21:28:56.05ID:P1vmVh21 実際問題、「オブジェクト指向」で作ってたとしても
機能や実装の説明において「オブジェクト指向」という言葉を使わない方が
誤解が少なく有用な説明になる。
そういう意味で「オブジェクト指向」って言葉は有害なだけ。
機能や実装の説明において「オブジェクト指向」という言葉を使わない方が
誤解が少なく有用な説明になる。
そういう意味で「オブジェクト指向」って言葉は有害なだけ。
488デフォルトの名無しさん
2019/10/13(日) 21:43:50.15ID:V3xYaAid Cがもうちょっと型付けが強くて
関数とかポインタとか細かい部分の記法がこなれていたら
世界はこんなに複雑じゃなかったんじゃあるまいか
関数とかポインタとか細かい部分の記法がこなれていたら
世界はこんなに複雑じゃなかったんじゃあるまいか
489デフォルトの名無しさん
2019/10/13(日) 21:50:39.84ID:OAJhlsQO オブジェクト指向七不思議
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
Dオブジェクト指向の歴史
→志村なのか相撲のトークなのかアランケイなのか
E人によって言うことが変わる
→決して一つとして同じものがない、もう、宗教である
F誰もその効果を検証しない&できない
→やっても「お前のはオブジェクト指向ではない!」って言われる。酷い
G死ねよ
→もう死ねよ
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
Dオブジェクト指向の歴史
→志村なのか相撲のトークなのかアランケイなのか
E人によって言うことが変わる
→決して一つとして同じものがない、もう、宗教である
F誰もその効果を検証しない&できない
→やっても「お前のはオブジェクト指向ではない!」って言われる。酷い
G死ねよ
→もう死ねよ
490デフォルトの名無しさん
2019/10/13(日) 21:52:10.09ID:OAJhlsQO オブジェクト指向七不思議
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
Dオブジェクト指向の歴史
→志村なのか相撲のトークなのかアランケイなのか
E人によって言うことが変わる
→決して一つとして同じものがない、もう、宗教である
F誰もその効果を検証しない&できない
→やっても「お前のはオブジェクト指向ではない!」って言われる。酷い
G死ねよ
→もう死ねよ
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
Dオブジェクト指向の歴史
→志村なのか相撲のトークなのかアランケイなのか
E人によって言うことが変わる
→決して一つとして同じものがない、もう、宗教である
F誰もその効果を検証しない&できない
→やっても「お前のはオブジェクト指向ではない!」って言われる。酷い
G死ねよ
→もう死ねよ
491デフォルトの名無しさん
2019/10/13(日) 21:52:44.70ID:OAJhlsQO オブジェクト指向七不思議
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
492デフォルトの名無しさん
2019/10/13(日) 21:53:14.95ID:5y3mzviq 対象ドメインと自分たちの思考パターンに適した言語やパラダイムを選べばいい
状況に応じたトレードオフを判断できず
選択の間違いを言語やパラダイムのせいにしてる人は成長しない
状況に応じたトレードオフを判断できず
選択の間違いを言語やパラダイムのせいにしてる人は成長しない
493デフォルトの名無しさん
2019/10/13(日) 21:53:39.39ID:OAJhlsQO 一回だったのになんかたくさん書き込んだw
494デフォルトの名無しさん
2019/10/13(日) 22:10:46.76ID:bBavR94N495デフォルトの名無しさん
2019/10/13(日) 22:22:55.00ID:QsD0TvFj >>490
>@オブジェクト指向の定義
>→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/
チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」
まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!
【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
>@オブジェクト指向の定義
>→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/
チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」
まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!
【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
496デフォルトの名無しさん
2019/10/13(日) 22:24:07.52ID:BXD6hdDp >>494
https://www.yegor256.com/2016/08/15/what-is-wrong-object-oriented-programming.html
※俺もこのサイトを見るまで、まさかここまで沢山の著名人がOOPを批判しているとはしりませんでした
https://www.yegor256.com/2016/08/15/what-is-wrong-object-oriented-programming.html
※俺もこのサイトを見るまで、まさかここまで沢山の著名人がOOPを批判しているとはしりませんでした
497デフォルトの名無しさん
2019/10/13(日) 22:26:34.71ID:BXD6hdDp 上のURL一式
テンプレにでも入れときやがれってんだ
ハゲどもが
テンプレにでも入れときやがれってんだ
ハゲどもが
498デフォルトの名無しさん
2019/10/13(日) 22:30:46.07ID:QsD0TvFj オブジェクト指向とオブジェクト指向プログラミングは全く違うよ?
>>496
>※俺もこのサイトを見るまで、まさかここまで沢山の著名人がOOPを批判しているとはしりませんでした
オブジェクト指向は俺の股間に付いているが、オブジェクト指向言語はプログラミングの形式に過ぎない!
>>496
>※俺もこのサイトを見るまで、まさかここまで沢山の著名人がOOPを批判しているとはしりませんでした
オブジェクト指向は俺の股間に付いているが、オブジェクト指向言語はプログラミングの形式に過ぎない!
499デフォルトの名無しさん
2019/10/13(日) 22:36:55.52ID:BXD6hdDp 自分の考えに近いなと感じたのが
Paul Graham (2003)
Richard Mansfield (2005)
Eric Raymond (2005)
Eric Allman (2011)
など
Paul Graham (2003)
Richard Mansfield (2005)
Eric Raymond (2005)
Eric Allman (2011)
など
500デフォルトの名無しさん
2019/10/13(日) 22:38:35.34ID:QsD0TvFj >>486
>でも主張を見る限り
>オブジェクト指向自体を嫌ってるよね
いわゆる『オブジェクト指向プログラミング言語』とやらは、オブジェクト指向を表現していないからな。
例えば『チンポがしこしこする』ってのは、オブジェクト指向言語プログラミングでどう表現する?
>でも主張を見る限り
>オブジェクト指向自体を嫌ってるよね
いわゆる『オブジェクト指向プログラミング言語』とやらは、オブジェクト指向を表現していないからな。
例えば『チンポがしこしこする』ってのは、オブジェクト指向言語プログラミングでどう表現する?
501デフォルトの名無しさん
2019/10/13(日) 22:40:49.09ID:QsD0TvFj オブジェクト指向は俺の股間に付いているのだから、オブジェクト指向プログラミング言語は必要無い!
>>496
>※俺もこのサイトを見るまで、まさかここまで沢山の著名人がOOPを批判しているとはしりませんでした
それでもオブジェクト指向は俺の股間に付いている、違うか?
>>496
>※俺もこのサイトを見るまで、まさかここまで沢山の著名人がOOPを批判しているとはしりませんでした
それでもオブジェクト指向は俺の股間に付いている、違うか?
502デフォルトの名無しさん
2019/10/13(日) 23:08:42.60ID:wbni+XXK >>496
コメント欄でOOPいやPOO信者が火消しに必死www
コメント欄でOOPいやPOO信者が火消しに必死www
503デフォルトの名無しさん
2019/10/13(日) 23:16:24.01ID:BXD6hdDp >>502 この人?
ttps://c.disquscdn.com/uploads/forums/294/4852/avatar92.jpg
ttps://c.disquscdn.com/uploads/forums/294/4852/avatar92.jpg
504デフォルトの名無しさん
2019/10/13(日) 23:20:58.27ID:BXD6hdDp Dunets Nickolay a year ago
One more for the list.
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
OO sure promised a lot in the early days. And these promises are still being made to naive programmers
sitting in classrooms, reading blogs and taking online courses. It’s taken me years to realize how OO lied to me.
I too was wide-eyed and inexperienced and trusting.
強烈な意見!
One more for the list.
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
OO sure promised a lot in the early days. And these promises are still being made to naive programmers
sitting in classrooms, reading blogs and taking online courses. It’s taken me years to realize how OO lied to me.
I too was wide-eyed and inexperienced and trusting.
強烈な意見!
505デフォルトの名無しさん
2019/10/13(日) 23:54:33.20ID:bBavR94N 虎の威を借る狐
506デフォルトの名無しさん
2019/10/13(日) 23:57:08.03ID:BXD6hdDp >>505
くるしいのうw
くるしいのうw
507デフォルトの名無しさん
2019/10/14(月) 00:01:58.08ID:SgqiekNw >>505
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
このサイト読むと
何十年もの間、Smalltalk、最後に.NETとJavaと、オブジェクト指向言語でプログラミングを行って
継承、カプセル化、および多態性の利点を活用するために熱心っだったけど、だまされていたって
懇々と唱えてきて、ホント気の毒
俺から言わせてもらえば、そんなに年月をかける前に
これは変だと気がつけばよかったのにね
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
このサイト読むと
何十年もの間、Smalltalk、最後に.NETとJavaと、オブジェクト指向言語でプログラミングを行って
継承、カプセル化、および多態性の利点を活用するために熱心っだったけど、だまされていたって
懇々と唱えてきて、ホント気の毒
俺から言わせてもらえば、そんなに年月をかける前に
これは変だと気がつけばよかったのにね
508デフォルトの名無しさん
2019/10/14(月) 00:07:39.42ID:SgqiekNw The problem with object-oriented languages is they’ve got all this implicit environment
that they carry around with them. You wanted a banana but what you got was a gorilla
holding the banana and the entire jungle.
もう爆笑w
that they carry around with them. You wanted a banana but what you got was a gorilla
holding the banana and the entire jungle.
もう爆笑w
509デフォルトの名無しさん
2019/10/14(月) 00:09:10.18ID:SgqiekNw >>508
ちな、これ、Erlangの作成者Joe Armstrongの発言ね。
ちな、これ、Erlangの作成者Joe Armstrongの発言ね。
510デフォルトの名無しさん
2019/10/14(月) 00:12:26.09ID:SgqiekNw まぁ、bBavR94N のような奴はOOPが廃れたら、
また別の流行見つけてそのカルト信者になるんだろうね
それはあんたの人生の選択だし、どんなに頓珍漢な迷信であっても
回りに迷惑かけない範囲で好きにしてくれ
また別の流行見つけてそのカルト信者になるんだろうね
それはあんたの人生の選択だし、どんなに頓珍漢な迷信であっても
回りに迷惑かけない範囲で好きにしてくれ
511デフォルトの名無しさん
2019/10/14(月) 00:35:26.10ID:SgqiekNw どんな迷信染まっても
周りや他人に迷惑は絶対かけるなよ
いいな。
周りや他人に迷惑は絶対かけるなよ
いいな。
512デフォルトの名無しさん
2019/10/14(月) 00:47:44.24ID:yAy44Gfv で、結局オブジェクト指向は素晴らしいの?
そうじゃないの?
代替案は何?
そうじゃないの?
代替案は何?
513デフォルトの名無しさん
2019/10/14(月) 00:52:04.13ID:SgqiekNw それは、ヒ・ミ・ツ
ハート
ハート
514デフォルトの名無しさん
2019/10/14(月) 02:48:38.03ID:R6XBDC2Y >>507
誰も理由書いてないのなw
誰も理由書いてないのなw
515デフォルトの名無しさん
2019/10/14(月) 08:07:29.36ID:kizbcx2j516デフォルトの名無しさん
2019/10/14(月) 09:17:14.83ID:DJigOeDn >>512
普通に組むんだ
機能一覧
→各機能の処理一覧
→それに対応する関数一覧
と作成して関数一覧ができたら設計は終了なのさ
それ以上はプログラマ側では何もすることがない
これでプロジェクトがうまく行かないならそれは仕様の決定段階ですでにおかしいのであって
もし、自分が改善したいと思うならば積極的に仕様の決定まで口を出さなければならない
普通に組むんだ
機能一覧
→各機能の処理一覧
→それに対応する関数一覧
と作成して関数一覧ができたら設計は終了なのさ
それ以上はプログラマ側では何もすることがない
これでプロジェクトがうまく行かないならそれは仕様の決定段階ですでにおかしいのであって
もし、自分が改善したいと思うならば積極的に仕様の決定まで口を出さなければならない
517デフォルトの名無しさん
2019/10/14(月) 10:11:53.94ID:HLISTn9N518デフォルトの名無しさん
2019/10/14(月) 10:45:33.29ID:vstzJxvv 処理をまとめる→関数
関数の第一引数でまとめる→クラス
関数の第一引数でまとめる→クラス
519デフォルトの名無しさん
2019/10/14(月) 11:03:45.34ID:CmkGXuzV >>516
複数の機能から使う共通のデータや状態、それらの制約や整合性をどう維持するか
という部分が単純な機能分解ではカバーしにくいところ
その問題を考慮したのがDOAやOOAD
A形式のファイルをB形式に変換するとか
Aというシグナルが来たらBの状態をB'に変更するとか
そういう段階まで分解してくれた仕様だけ考慮すればいいなら
単純な機能分解が適してる
複数の機能から使う共通のデータや状態、それらの制約や整合性をどう維持するか
という部分が単純な機能分解ではカバーしにくいところ
その問題を考慮したのがDOAやOOAD
A形式のファイルをB形式に変換するとか
Aというシグナルが来たらBの状態をB'に変更するとか
そういう段階まで分解してくれた仕様だけ考慮すればいいなら
単純な機能分解が適してる
520デフォルトの名無しさん
2019/10/14(月) 12:57:08.92ID:UD02Ubfx >>514
発言の一部抜粋だよ
発言の一部抜粋だよ
521デフォルトの名無しさん
2019/10/14(月) 15:31:56.02ID:kveEli82 >>518
よくわかってらっしゃる
よくわかってらっしゃる
522デフォルトの名無しさん
2019/10/14(月) 15:32:13.69ID:DJigOeDn523デフォルトの名無しさん
2019/10/14(月) 15:34:52.40ID:DJigOeDn524デフォルトの名無しさん
2019/10/14(月) 16:55:29.97ID:dBbTykTT オブジェクト指向学ぶ為の書籍一覧がほしい
525デフォルトの名無しさん
2019/10/14(月) 17:08:32.29ID:DJigOeDn >>524
書いてるやつもここのとどっこいだぞ
なぜなら万人が認めるオブジェクト指向はこれですって言える資料がこの世にないので
しかしこの業界なんでこんなんになっちゃったかなぁと
プログラミングとは目標を実現するための1つの手段という位置付けに留めて置いたほうが
結果的に実力は付くよ
プログラマはこのクソ宗教のせいで多くのやつが視野狭窄過ぎて参考にならない
書いてるやつもここのとどっこいだぞ
なぜなら万人が認めるオブジェクト指向はこれですって言える資料がこの世にないので
しかしこの業界なんでこんなんになっちゃったかなぁと
プログラミングとは目標を実現するための1つの手段という位置付けに留めて置いたほうが
結果的に実力は付くよ
プログラマはこのクソ宗教のせいで多くのやつが視野狭窄過ぎて参考にならない
526デフォルトの名無しさん
2019/10/14(月) 17:44:53.07ID:/SENrUVD 別に、機能別にライブラリにして行けばいいのさ。
かしこまってOOPだなんだとギスギスする必要は無い。
かしこまってOOPだなんだとギスギスする必要は無い。
527デフォルトの名無しさん
2019/10/14(月) 18:24:41.16ID:g1sRqVTr528デフォルトの名無しさん
2019/10/14(月) 18:32:42.20ID:aFj9yxTE ワイもそれ思った
業界を語るわりに経験が感じられない
業界を語るわりに経験が感じられない
529デフォルトの名無しさん
2019/10/14(月) 20:07:01.22ID:YKkFW8bb530デフォルトの名無しさん
2019/10/14(月) 20:09:08.49ID:YKkFW8bb 俺に反論するなら
じゃあ、デカイプログラム特有の仕組みは具体的に何があるの?
って聞くぞ
調べてから書き込めよ
じゃあ、デカイプログラム特有の仕組みは具体的に何があるの?
って聞くぞ
調べてから書き込めよ
531デフォルトの名無しさん
2019/10/14(月) 20:24:13.94ID:ZHVtioYP532デフォルトの名無しさん
2019/10/14(月) 20:25:26.99ID:ZHVtioYP533デフォルトの名無しさん
2019/10/14(月) 20:27:29.74ID:ZHVtioYP WindowsとかLinuxとかのOSはでかいプログラムの代表例だが、
コアの部分は小さくして、ドライバにより多くのハードウェアに対応してる。
こういうところにオブジェクト指向による設計が使われてる。
C++を批判してるLinusでも
https://cpplover.blogspot.com/2013/05/linus-torvalsc.html
> Cでオブジェクト指向コード(ファイルシステムとかだと有用)を書くのは可能だし、
Cでオブジェクト指向はファイルシステムなどで有用と言っている。
コアの部分は小さくして、ドライバにより多くのハードウェアに対応してる。
こういうところにオブジェクト指向による設計が使われてる。
C++を批判してるLinusでも
https://cpplover.blogspot.com/2013/05/linus-torvalsc.html
> Cでオブジェクト指向コード(ファイルシステムとかだと有用)を書くのは可能だし、
Cでオブジェクト指向はファイルシステムなどで有用と言っている。
534デフォルトの名無しさん
2019/10/14(月) 20:29:36.37ID:YKkFW8bb535デフォルトの名無しさん
2019/10/14(月) 20:30:22.97ID:YKkFW8bb536デフォルトの名無しさん
2019/10/14(月) 20:32:07.12ID:YKkFW8bb >>533
c言語の機能を使ったときだけうまくいくってリーナス言ってんじゃんw
c言語の機能を使ったときだけうまくいくってリーナス言ってんじゃんw
537デフォルトの名無しさん
2019/10/14(月) 20:32:37.60ID:YKkFW8bb 敗北を知りたい
538デフォルトの名無しさん
2019/10/14(月) 20:33:05.57ID:ZHVtioYP >>534-536
レスするなら反論しろよw
レスするなら反論しろよw
539デフォルトの名無しさん
2019/10/14(月) 20:33:32.98ID:ZHVtioYP >>537
敗北だと自覚してるから、そういう書き込みしたくなるんやでw
敗北だと自覚してるから、そういう書き込みしたくなるんやでw
540デフォルトの名無しさん
2019/10/14(月) 20:38:23.47ID:nTxvlnlQ C以外糞って言うならならPythonもゴミじゃん。
Pythonしか書けない奴はどうなるの?
Pythonしか書けない奴はどうなるの?
541デフォルトの名無しさん
2019/10/14(月) 20:47:03.67ID:1VJg7cxR 糞に集る蠅
542デフォルトの名無しさん
2019/10/14(月) 20:47:48.13ID:sA+F1c9p オブジェクト指向は
組み込みとすこぶる相性が悪い
組み込みとすこぶる相性が悪い
543デフォルトの名無しさん
2019/10/14(月) 20:50:13.94ID:ZHVtioYP × オブジェクト指向は組み込みとすこぶる相性が悪い
○ オブジェクト指向言語は組み込みとすこぶる相性が悪い
オブジェクト指向であれば組み込みでも使われてる。
○ オブジェクト指向言語は組み込みとすこぶる相性が悪い
オブジェクト指向であれば組み込みでも使われてる。
544デフォルトの名無しさん
2019/10/15(火) 00:07:06.97ID:ntxaWRsX オブジェクト指向とΣ計画はセット
資本主義社会じゃ無理
言語製作者陣の理念と現状にズレがあるので、オブジェクト指向が使いにくくなっているだけ
カネと労道の壁を突破してありとあらゆるオブジェクトを集積するセンターがあれば完璧になる
資本主義社会じゃ無理
言語製作者陣の理念と現状にズレがあるので、オブジェクト指向が使いにくくなっているだけ
カネと労道の壁を突破してありとあらゆるオブジェクトを集積するセンターがあれば完璧になる
545デフォルトの名無しさん
2019/10/15(火) 00:15:06.48ID:t7KPnDkH まさにカルト
546デフォルトの名無しさん
2019/10/15(火) 01:10:43.04ID:t7KPnDkH547デフォルトの名無しさん
2019/10/15(火) 01:14:09.75ID:t7KPnDkH548デフォルトの名無しさん
2019/10/15(火) 05:23:15.21ID:f1lycctY Linuxのファイルシステムのコードを見れば
(C言語によるオブジェクト指向コード)がわかるのでは?
(C言語によるオブジェクト指向コード)がわかるのでは?
549デフォルトの名無しさん
2019/10/15(火) 07:38:19.65ID:qEfw8gKj550デフォルトの名無しさん
2019/10/15(火) 10:59:27.07ID:HKs4cE0e 何かを作り上げるのは向いてないな
作ったものを綺麗にディスプレイするのには使える
まあ 数学の公式みたいに絶対に変更しないって
条件では使える ただそうなることは無いw
作ったものを綺麗にディスプレイするのには使える
まあ 数学の公式みたいに絶対に変更しないって
条件では使える ただそうなることは無いw
551デフォルトの名無しさん
2019/10/15(火) 11:07:07.56ID:m0jqn6iG >>531
プログラムには重力掛からないから、どんなに大きなプログラムでも大きい事で特別何か対策しなきゃならないって事は無いよ。
まあ、大規模なプロジェクトでは人間同士のコミュニケーション不足やトラブルはあるけどなw
プログラムには重力掛からないから、どんなに大きなプログラムでも大きい事で特別何か対策しなきゃならないって事は無いよ。
まあ、大規模なプロジェクトでは人間同士のコミュニケーション不足やトラブルはあるけどなw
552デフォルトの名無しさん
2019/10/15(火) 11:12:45.75ID:m0jqn6iG まあよくある話、
AはBの理由や懸念があるからDの方法は不適切なのでCの作りとする
なんてルールがいつのまにかAはCの作り方にするってだけ伝わって、
なんでAがCみたいな面倒くさい作りにするんだよ、Dの方が簡潔で分かりやすいだろ。なんて勝手に解釈変えられて
結果的に機能を満たさないものになるなんて事はよくある。
AはBの理由や懸念があるからDの方法は不適切なのでCの作りとする
なんてルールがいつのまにかAはCの作り方にするってだけ伝わって、
なんでAがCみたいな面倒くさい作りにするんだよ、Dの方が簡潔で分かりやすいだろ。なんて勝手に解釈変えられて
結果的に機能を満たさないものになるなんて事はよくある。
553デフォルトの名無しさん
2019/10/15(火) 13:08:44.71ID:ZJNGtpBE >>551
具体的には?
具体的には?
554デフォルトの名無しさん
2019/10/15(火) 13:21:00.59ID:f1lycctY >>551
> どんなに大きなプログラムでも大きい事で特別何か対策しなきゃならないって事は無いよ。
大きいプログラムは、小さく分けるという対策をしなきゃならんよ。
小さく分けるということは、組み合わさなければ動かなくなる。
つまり組み合わせるコードが必要になるんだよ
> どんなに大きなプログラムでも大きい事で特別何か対策しなきゃならないって事は無いよ。
大きいプログラムは、小さく分けるという対策をしなきゃならんよ。
小さく分けるということは、組み合わさなければ動かなくなる。
つまり組み合わせるコードが必要になるんだよ
555デフォルトの名無しさん
2019/10/15(火) 13:24:45.65ID:v+D129jp556デフォルトの名無しさん
2019/10/15(火) 14:42:57.70ID:8vI99k17 UNIXが、あれはあれで一つの大規模なシステムと考えても差し支え無いものだったよな。
ひとつもオブジェクト指向になってないんだけど、簡潔なルールのもとに各自必要な処理を追加していた。
ひとつもオブジェクト指向になってないんだけど、簡潔なルールのもとに各自必要な処理を追加していた。
557デフォルトの名無しさん
2019/10/15(火) 15:04:03.47ID:f1lycctY UNIXがオブジェクト指向でないと考えるのは、
C言語がオブジェクト指向言語じゃないからというだけ?
C言語がオブジェクト指向言語じゃないからというだけ?
558デフォルトの名無しさん
2019/10/15(火) 20:43:44.62ID:8zb4FDAz 人が作ったものを使うだけならすごく便利
ただ作り直そうとするときつい
pythonのライブラリとかよくわからんまま
使う分には便利
ただ作り直そうとするときつい
pythonのライブラリとかよくわからんまま
使う分には便利
559デフォルトの名無しさん
2019/10/16(水) 14:31:18.50ID:R4S9h347 オブジェクト指向なんて考えが生まれる前からあるからさ。
560デフォルトの名無しさん
2019/10/16(水) 14:59:34.80ID:br88Hn4r オブジェクト指向なんてホントは主目的じゃないけどね
クラスを幾段も連結できるオブジェクト演算子ができてから
それの使い方の総称になっただけ
クラスを幾段も連結できるオブジェクト演算子ができてから
それの使い方の総称になっただけ
561デフォルトの名無しさん
2019/10/16(水) 15:47:24.74ID:0fRYOcFI 小説で言う「起承転結」のようなもの
大まかにそういう考えにしましょう。という設計で
それに従わなくても良いものが作れないことはないが、
だいたいは従ったほうが良いというものだよ
大まかにそういう考えにしましょう。という設計で
それに従わなくても良いものが作れないことはないが、
だいたいは従ったほうが良いというものだよ
562デフォルトの名無しさん
2019/10/16(水) 16:08:44.07ID:kaZJZnxg ピンとけえへんわー
563デフォルトの名無しさん
2019/10/16(水) 16:11:23.80ID:R4S9h347 おまえら頭悪いんだから、いっぺんにまとめて考えないで
なるべく小さな単位にして分けて考えろやって話だからな
その分け方の方法のひとつがオブジェクト指向ってだけ。
なるべく小さな単位にして分けて考えろやって話だからな
その分け方の方法のひとつがオブジェクト指向ってだけ。
564デフォルトの名無しさん
2019/10/16(水) 16:47:56.58ID:K40FZLRW オブジェクトのメリットは単純に
補完が効くとこだな 設計思想云々は
どうでもいいがこれは便利
補完が効くとこだな 設計思想云々は
どうでもいいがこれは便利
565デフォルトの名無しさん
2019/10/16(水) 19:40:52.15ID:WNhbUC2h 受け身でコーティングできるのがいいんだろ?thisポインタ受け取ってさ
それ以上の意味はないよ
イベント駆動とGUIと人間の汎化の理解がマッチすると気持ちいいくらい
マイクロソフトでさえ糞クラス設計するのに、専門卒Fラン大卒が何を言っても無駄
それ以上の意味はないよ
イベント駆動とGUIと人間の汎化の理解がマッチすると気持ちいいくらい
マイクロソフトでさえ糞クラス設計するのに、専門卒Fラン大卒が何を言っても無駄
566デフォルトの名無しさん
2019/10/16(水) 21:47:12.81ID:DLS4a0j4 Unixはコマンドをパイプでつなげて処理をするところがオブジェクト指向っぽい
コマンドとコマンドは標準入出力によってつながるわけだけれども
そのことは重大な事実を示唆していてオブジェクトとオブジェクトを
つなげるインターフェースはシンプルな程よいってこと
コマンドとコマンドは標準入出力によってつながるわけだけれども
そのことは重大な事実を示唆していてオブジェクトとオブジェクトを
つなげるインターフェースはシンプルな程よいってこと
567デフォルトの名無しさん
2019/10/16(水) 22:05:44.03ID:DLS4a0j4 C言語で書かれたプログラムでオブジェクト指向っぽいと思ったのはqmail
ファイルが細かく別れていてファイル内でしか参照できない変数や関数が全体の半分を占める
ファイルごとにテストできそうだなーって思った
qmailはバグが少なくて信頼性が高いことに定評がある
オブジェクト指向をうまく使うとそういうことも可能ではあるけれども
業務システムではなかなか難しいところがあって
業務要件はころころ変わるけれども既存のプログラムはできるだけ変えないって
圧力がかかって継ぎ接ぎだらけのハウルの動く城みたいなうごめくオブジェクトの塊ができあがる
既存のプログラムを変えない圧力から逃れるためにテスト駆動開発などで
テストを整備して継続的インテグレーションで自動化するみたいなことが流行ったんだろうね
テスト容易性でオブジェクト指向の良し悪しを判断するのはありだと思うなど
ファイルが細かく別れていてファイル内でしか参照できない変数や関数が全体の半分を占める
ファイルごとにテストできそうだなーって思った
qmailはバグが少なくて信頼性が高いことに定評がある
オブジェクト指向をうまく使うとそういうことも可能ではあるけれども
業務システムではなかなか難しいところがあって
業務要件はころころ変わるけれども既存のプログラムはできるだけ変えないって
圧力がかかって継ぎ接ぎだらけのハウルの動く城みたいなうごめくオブジェクトの塊ができあがる
既存のプログラムを変えない圧力から逃れるためにテスト駆動開発などで
テストを整備して継続的インテグレーションで自動化するみたいなことが流行ったんだろうね
テスト容易性でオブジェクト指向の良し悪しを判断するのはありだと思うなど
568デフォルトの名無しさん
2019/10/16(水) 23:06:35.43ID:L32RXjAf >>566
そうでもないよ。
パイプでつなげるとデータの区切りをどうするか?って問題が出てくる。
たいていは1行1データでいいんだけど、データの中に改行が入る場合
どうするか?って問題が出てくる
改行コード以外の文字を使うという方法もあるが、じゃあその文字が
データの中に含まれていたら?という話に変わるだけ
そうでもないよ。
パイプでつなげるとデータの区切りをどうするか?って問題が出てくる。
たいていは1行1データでいいんだけど、データの中に改行が入る場合
どうするか?って問題が出てくる
改行コード以外の文字を使うという方法もあるが、じゃあその文字が
データの中に含まれていたら?という話に変わるだけ
569デフォルトの名無しさん
2019/10/16(水) 23:10:30.46ID:PIk7Byrk >>566
パイプは関数型を想起させる代表例だと思うんだが
テキストという共通のデータフォーマットを入出力に使って
処理のパイプラインにデータを流していってる
シェルスクリプトの場合は
汎用的なテキストフォーマットで型がないから
各処理の内部で毎回パースが必要になったりもするし
コマンド間の依存性を下げて疎結合にするのはかなり難しい
パイプは関数型を想起させる代表例だと思うんだが
テキストという共通のデータフォーマットを入出力に使って
処理のパイプラインにデータを流していってる
シェルスクリプトの場合は
汎用的なテキストフォーマットで型がないから
各処理の内部で毎回パースが必要になったりもするし
コマンド間の依存性を下げて疎結合にするのはかなり難しい
570デフォルトの名無しさん
2019/10/16(水) 23:14:25.14ID:pPSq4FoR >>568
改行よりも EOF の方が問題だと思う
改行よりも EOF の方が問題だと思う
571デフォルトの名無しさん
2019/10/17(木) 14:19:37.41ID:Yq4xgtdT Unixはパイプを多用するからオブジェクト指向とは真逆っていうのは俺もそう思う
だからjqみたいなむりくりなツールが必要になる
だからjqみたいなむりくりなツールが必要になる
572デフォルトの名無しさん
2019/10/17(木) 14:43:14.13ID:huR1Dm0j パイプを多用すること自体は関係ないよ。
オブジェクト指向でもパイプを使うことは出来る。
オブジェクト指向でもパイプを使うことは出来る。
573デフォルトの名無しさん
2019/10/17(木) 18:58:47.19ID:yPX5iNuE 使うことが目的ですか。
まるで分かってないね。
まるで分かってないね。
574デフォルトの名無しさん
2019/10/17(木) 20:20:25.32ID:EBsizoXn Unixのパイプはテキストとして行ベースで処理するから階層構造を扱えない
575デフォルトの名無しさん
2019/10/17(木) 22:10:58.47ID:PM4g13f5 XMLは階層構造を扱えないと?
576デフォルトの名無しさん
2019/10/17(木) 23:08:33.94ID:ZLbPJS7B Windowsの場合、システム管理にWMIオブジェクト使うのでPowerShellのパイプがオブジェクトを通すのは理にかなってる
577デフォルトの名無しさん
2019/11/02(土) 13:55:20.18ID:2/JwqrQB オブジェクソ指向でいいよ
578デフォルトの名無しさん
2019/11/04(月) 06:20:43.65ID:7p81GTJD じゃあおまえはそれで
579デフォルトの名無しさん
2019/11/04(月) 11:52:51.77ID:PrFaR+H+ Class A a, Class B b, Class C c があって
c = a + b #共通コード
と書いた場合、C言語の
c = 1.0 + 2
みたいな暗黙の型変換をしてくれる場合はコードの共通化がスムースに行けると思う
実際は...
Class A a,b,c #or Class B a,b,c
c = a + b
こんな感じで '+' の定義があれば行ける
たぶんClass の階層構造とタイプしたコードの振舞いここら辺の認識に錯乱が起きて
秩序なき構造を待つClass が記述できる結果オブジェクト指向の概念の考え方に混乱が起きている
CもC++も副作用に対する制限が弱めなので
挙動もプログラムの構造も発狂混乱混沌を含んだものが容易に出来上がる
解決策は、〜〜ツクールで定義したものをC++等のコードで吐き出して
必要に応じ手を入れるじゃないかな
アセンブラで複雑なプログラム何て書かないよね、同じちゃう?
c = a + b #共通コード
と書いた場合、C言語の
c = 1.0 + 2
みたいな暗黙の型変換をしてくれる場合はコードの共通化がスムースに行けると思う
実際は...
Class A a,b,c #or Class B a,b,c
c = a + b
こんな感じで '+' の定義があれば行ける
たぶんClass の階層構造とタイプしたコードの振舞いここら辺の認識に錯乱が起きて
秩序なき構造を待つClass が記述できる結果オブジェクト指向の概念の考え方に混乱が起きている
CもC++も副作用に対する制限が弱めなので
挙動もプログラムの構造も発狂混乱混沌を含んだものが容易に出来上がる
解決策は、〜〜ツクールで定義したものをC++等のコードで吐き出して
必要に応じ手を入れるじゃないかな
アセンブラで複雑なプログラム何て書かないよね、同じちゃう?
>>579
java みたいに演算子のオーバーロードを許さない!というポリシーはいかがでしょうか?
java みたいに演算子のオーバーロードを許さない!というポリシーはいかがでしょうか?
581デフォルトの名無しさん
2019/11/04(月) 20:22:08.57ID:PrFaR+H+ >>580
java の演算子 + - * / 等算術演算子
ググって調べました(汗
C++ は演算子の再定義が可能で + - * / も出来る様だね
演算子の再定義は計算式の意図や意味の直観的認識を保障している
a = b + c で
int a, b, c であっても
Class XY a, b, c #2次元座標
であっても+ - * / が座標の移動や拡大縮小(スケーリング)な事を直観的に理解させることになる
ぶっちゃけ演算子のオーバーロードは習慣的な慣れ親しんだ記述でコードを読み書き抽象化したいそれだけの事
java の許さない!なポリシーは、アルゴリズム=コード を抽象化共通化したい場合
記号で書くな正式なメソッド名を決めてタイプしろって事
偉そうに書きこしてるけどjavaもJavaScriptもTypeScriptも厳密には確認してないからな
で、C,C++のバグの原因はアセンブラに近い危険なコーディングが出来ること以外に変数スコープの関係で
もしかすると単純なタイプミスでグローバル変数が壊せたり
自己責任な処理系なので当たり前に検出困難なバグが入る
java の演算子 + - * / 等算術演算子
ググって調べました(汗
C++ は演算子の再定義が可能で + - * / も出来る様だね
演算子の再定義は計算式の意図や意味の直観的認識を保障している
a = b + c で
int a, b, c であっても
Class XY a, b, c #2次元座標
であっても+ - * / が座標の移動や拡大縮小(スケーリング)な事を直観的に理解させることになる
ぶっちゃけ演算子のオーバーロードは習慣的な慣れ親しんだ記述でコードを読み書き抽象化したいそれだけの事
java の許さない!なポリシーは、アルゴリズム=コード を抽象化共通化したい場合
記号で書くな正式なメソッド名を決めてタイプしろって事
偉そうに書きこしてるけどjavaもJavaScriptもTypeScriptも厳密には確認してないからな
で、C,C++のバグの原因はアセンブラに近い危険なコーディングが出来ること以外に変数スコープの関係で
もしかすると単純なタイプミスでグローバル変数が壊せたり
自己責任な処理系なので当たり前に検出困難なバグが入る
582デフォルトの名無しさん
2019/11/11(月) 12:38:43.87ID:BcaQQgi4 偉い人は言いました、本物のプログラマはfortranとコアダンプだけで書くと
583デフォルトの名無しさん
2019/11/11(月) 22:05:44.85ID:VuQjDq/C コアダンプは吐くもので書くものでは無いよな?
584デフォルトの名無しさん
2019/11/11(月) 22:13:39.05ID:BGy7lUfx だな
コアダンプを書くとは言ってないしそのとおりだな
さすがだな
コアダンプを書くとは言ってないしそのとおりだな
さすがだな
585デフォルトの名無しさん
2019/11/11(月) 23:35:07.89ID:MquajfZd コアダンプは吐くものでも無くて吐かれるものだからな
喰わせたモノが余程ヒドい時の嘔吐物だから
喰わせたモノが余程ヒドい時の嘔吐物だから
586デフォルトの名無しさん
2019/11/12(火) 01:03:45.48ID:FaYMVIJ4 OSが吐くものだろ…
587デフォルトの名無しさん
2019/11/12(火) 04:24:25.01ID:dtyPEbD0 吐くっていうのは人間がやることに対して使うんですよ!
人間じゃないのに、人間がやるような言葉を使ってはいけません!
人間じゃないのに、人間がやるような言葉を使ってはいけません!
588デフォルトの名無しさん
2019/11/12(火) 14:38:25.46ID:y6vE6u1H ここで書き込みされてる方って人間じゃなくて人工知能?
589デフォルトの名無しさん
2019/11/12(火) 16:50:28.20ID:cUrTgE5W よくわかったな
590デフォルトの名無しさん
2019/11/12(火) 17:35:17.05ID:6X9QzlAs 人工無能
591デフォルトの名無しさん
2019/11/12(火) 18:29:30.35ID:m7v6pKzu つまりオブジェクト指向とは、俺の股間に付いているモノなのである!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
592デフォルトの名無しさん
2019/11/13(水) 00:56:45.07ID:CvcI+Aq3593デフォルトの名無しさん
2019/11/13(水) 07:07:35.52ID:zN3QXkcQ 自分で考えないからねえ
594デフォルトの名無しさん
2019/11/13(水) 08:00:01.45ID:71NryVAR チューリングテストは合格だよ。ここまでおかしくならないとわからない
595デフォルトの名無しさん
2019/11/13(水) 15:26:30.70ID:H06se09Y 何冊か本読んだけど、結局、「オブジェクト指向には明確な定義が無い」
ってことが分かっただけ。
当然だよな。
プログラミング構造としては、アセンブラでもマクロ組めば同じことができる。
結局は、単なるコードの可読性やメンテナンス性の向上が、
新しい「質の変化」として宣伝されただけのシロモノ。
ってことが分かっただけ。
当然だよな。
プログラミング構造としては、アセンブラでもマクロ組めば同じことができる。
結局は、単なるコードの可読性やメンテナンス性の向上が、
新しい「質の変化」として宣伝されただけのシロモノ。
596デフォルトの名無しさん
2019/11/13(水) 15:34:48.16ID:EBbfjM6A >>595
>何冊か本読んだけど、結局、「オブジェクト指向には明確な定義が無い」ってことが分かっただけ。
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
>何冊か本読んだけど、結局、「オブジェクト指向には明確な定義が無い」ってことが分かっただけ。
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
597デフォルトの名無しさん
2019/11/13(水) 15:37:21.11ID:w6BX6q9J ならば質の変化がオブジェクト指向と結論が出たわけだな
598デフォルトの名無しさん
2019/11/13(水) 15:38:45.74ID:EBbfjM6A ちんぽがしこしこ、そんな言語表現あるのか?
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
599デフォルトの名無しさん
2019/11/13(水) 16:10:11.12ID:dh6g9y9F オブジェクトの和訳は目的語でいいというのが、個人的な結論
600デフォルトの名無しさん
2019/11/13(水) 16:44:53.22ID:MUcE97Pa >>595
ウィナー&ピンソン本にあるよ
ウィナー&ピンソン本にあるよ
601デフォルトの名無しさん
2019/11/13(水) 16:46:37.89ID:MUcE97Pa おんなじフォーマットの話を繰り返してただけか…
602デフォルトの名無しさん
2019/11/13(水) 23:39:42.53ID:Q6d1lfHy やたらエロ広告あるのは、フィルタリングさせるためか
青少年はアクセスできない
青少年はアクセスできない
603デフォルトの名無しさん
2019/11/13(水) 23:49:10.62ID:H06se09Y604デフォルトの名無しさん
2019/11/14(木) 01:42:13.43ID:Nj0oVq+6 クルマに例えてくれ
605デフォルトの名無しさん
2019/11/14(木) 14:05:11.71ID:yrxcIVFv606デフォルトの名無しさん
2019/11/19(火) 15:28:02.12ID:3bkVS4Z1 「オブジェクト指向」とは、デジタル土方に仕事をさせるための知恵です。
例えば、「この変数は読み出し専用と仕様書に書いただろうが。勝手に
書き換えるな」と土方に言っても仕方ありません。読み出し可能だが、
何をやっても書き換えることを不可能にすることで、土方を働かせる。
そのために「オブジェクト指向」があるのです。
例えば、「この変数は読み出し専用と仕様書に書いただろうが。勝手に
書き換えるな」と土方に言っても仕方ありません。読み出し可能だが、
何をやっても書き換えることを不可能にすることで、土方を働かせる。
そのために「オブジェクト指向」があるのです。
607デフォルトの名無しさん
2019/11/19(火) 19:58:46.55ID:tuUrGmn3 筋肉バカにはスポーツを
低学歴オタクには最新機能wを
与えておけば、飽きずに追い続けるだろ
低学歴オタクには最新機能wを
与えておけば、飽きずに追い続けるだろ
608デフォルトの名無しさん
2019/11/26(火) 20:04:11.20ID:RdNBYs6F >>606
それはJavaとかいう土方作業用の言語の話な
それはJavaとかいう土方作業用の言語の話な
609デフォルトの名無しさん
2019/11/28(木) 21:19:32.78ID:LD1N+/Md 問題を切り分け整理し類型を見つけ出すことで科学は進歩してきた
それはまさにオブジェクト指向の遠大な理想なのだ
それはまさにオブジェクト指向の遠大な理想なのだ
610デフォルトの名無しさん
2019/11/29(金) 00:48:35.01ID:P+FSrYZP やがて人々は問題から目を背けオブジェクトを分割する手法のみによってプログラムを書き出した
オブジェクト指向によって無駄に複雑なプログラムが量産されるプログラム暗黒期の到来である
90年代はそんな感じだった
オブジェクト指向によって無駄に複雑なプログラムが量産されるプログラム暗黒期の到来である
90年代はそんな感じだった
611デフォルトの名無しさん
2019/11/29(金) 01:12:49.76ID:itcsROzM 暗黒の種類が変わっただけ定期
612デフォルトの名無しさん
2019/11/29(金) 03:01:40.04ID:kZePf2/6 オブジェクト指向が普及したことによって直感的なプログラミングが可能になっただろ
613デフォルトの名無しさん
2019/11/29(金) 07:28:16.53ID:JxQWTsi+ >>612
オブジェクト指向が直感的…?
オブジェクト指向が直感的…?
614デフォルトの名無しさん
2019/11/29(金) 07:39:28.48ID:ZYRA67vF >>612
それは人によるだろうな
それは人によるだろうな
615デフォルトの名無しさん
2019/11/29(金) 09:57:42.34ID:D2OVMitV プログラムを一行も書けないウンコSEでも
それっぽいキーワードを並べれば馬鹿を騙せるようになったのが
オブジェクト指向の功績だよ
それっぽいキーワードを並べれば馬鹿を騙せるようになったのが
オブジェクト指向の功績だよ
616デフォルトの名無しさん
2019/11/29(金) 11:35:31.08ID:HRptkZoq 逆じゃねーかな
オブジェクト指向が普及したことで
コードの書けないSEはSE様からSE(笑)になり
設計のできないプログラマー(=コーダー)は淘汰され
設計も普通にできるプログラマーの地位は上がった
職場によるのかもな
オブジェクト指向が普及したことで
コードの書けないSEはSE様からSE(笑)になり
設計のできないプログラマー(=コーダー)は淘汰され
設計も普通にできるプログラマーの地位は上がった
職場によるのかもな
617デフォルトの名無しさん
2019/11/29(金) 12:10:01.00ID:4YghCctx プログラムの規模も数も激増した
質も押し並べて上がった
すべてオブジェクト指向の功績
質も押し並べて上がった
すべてオブジェクト指向の功績
618デフォルトの名無しさん
2019/12/01(日) 02:45:55.31ID:+CXrxgrh シンプルにインテリセンスが使えるのは便利
それだけだな 後、頭いいいやつの思考が
分かりやすいぐらいだな
それだけだな 後、頭いいいやつの思考が
分かりやすいぐらいだな
619デフォルトの名無しさん
2019/12/01(日) 11:13:37.21ID:uAQAPMuh620デフォルトの名無しさん
2019/12/02(月) 19:27:21.11ID:+Z2AJKW1 typedef する文化
typedef int width; // 幅を表す型を定義
width square_width; // int square... と同等
こんな感じで変数の型にtypedefで別の名前つけて統一的に管理する
この習慣がないとオブジェクトの設計とネーミングが苦痛だと思う
最近C++でtypedefしろtypedefしろって言われて調べたら目からウロコだっと
typedefの習慣すらないのでclass,objectとか言われても混乱する
適当にコーディングする時、一々typedefなんてしないし、その延長線上にあるclassのデザインもネーミングも適当
結局、ガッツリ設計して適切なネーミング他でしっかりした管理メンテナンス体制にする場合
オブジェクトなりクラスなりが便利なのであって
適当な書き捨てコードだと苦痛なんじゃね?
クソはお前(自分)だ、かな
typedef int width; // 幅を表す型を定義
width square_width; // int square... と同等
こんな感じで変数の型にtypedefで別の名前つけて統一的に管理する
この習慣がないとオブジェクトの設計とネーミングが苦痛だと思う
最近C++でtypedefしろtypedefしろって言われて調べたら目からウロコだっと
typedefの習慣すらないのでclass,objectとか言われても混乱する
適当にコーディングする時、一々typedefなんてしないし、その延長線上にあるclassのデザインもネーミングも適当
結局、ガッツリ設計して適切なネーミング他でしっかりした管理メンテナンス体制にする場合
オブジェクトなりクラスなりが便利なのであって
適当な書き捨てコードだと苦痛なんじゃね?
クソはお前(自分)だ、かな
621デフォルトの名無しさん
2019/12/02(月) 22:01:40.89ID:4oYS2S54 typedef int height;
height square_height;とするの?
それともwidth square_height;とするの?
height square_height;とするの?
それともwidth square_height;とするの?
622デフォルトの名無しさん
2019/12/03(火) 00:09:42.08ID:VBoMd+eN623デフォルトの名無しさん
2019/12/03(火) 01:33:03.76ID:ufFgBLZs >>621
こっち
>height square_height;
なんか面倒くさくて信じられんだろ?
オレはなんだこれ、ムハ〜とかなった
もしかすると
typedef int width;
typedef height width;
みたいに並べて書くのかも知れない
コードの全体の規模が大きい場合typedef int widthを
typedef long long width
とかして扱うレンジを拡大したり
>>622
扱うプログラムの規模次第なんだよ
短いコードだと一々typedefなんかしないよね
だからtypedefする習慣は知らなかった
恐らくtypedef する習慣とテンプレート機能は親和性が高い
こっち
>height square_height;
なんか面倒くさくて信じられんだろ?
オレはなんだこれ、ムハ〜とかなった
もしかすると
typedef int width;
typedef height width;
みたいに並べて書くのかも知れない
コードの全体の規模が大きい場合typedef int widthを
typedef long long width
とかして扱うレンジを拡大したり
>>622
扱うプログラムの規模次第なんだよ
短いコードだと一々typedefなんかしないよね
だからtypedefする習慣は知らなかった
恐らくtypedef する習慣とテンプレート機能は親和性が高い
624デフォルトの名無しさん
2019/12/03(火) 04:12:53.88ID:ufFgBLZs625デフォルトの名無しさん
2019/12/03(火) 13:15:10.28ID:Inq0Uwe1 そんなtypedefすんな。
typedefするのは単位系で纏めろよ。
同じ単位系なのに別々にtypedefしたら
扱い辛くて仕方ないだろ。
typedefするのは単位系で纏めろよ。
同じ単位系なのに別々にtypedefしたら
扱い辛くて仕方ないだろ。
626デフォルトの名無しさん
2019/12/03(火) 13:23:27.92ID:aXM5qCgt typedef mytype int;
typedef はいつも順番と;で叱られる。
typedef はいつも順番と;で叱られる。
627デフォルトの名無しさん
2019/12/03(火) 13:24:03.97ID:Inq0Uwe1 widthやhightは、長さなんだから同じ単位系。
三次元の仮想空間の単位系か実世界の物差しの単位系かで分ける。
だから同じ変数名でも更にそれらを構造体やクラスで包める。
三次元の仮想空間の単位系か実世界の物差しの単位系かで分ける。
だから同じ変数名でも更にそれらを構造体やクラスで包める。
628デフォルトの名無しさん
2019/12/03(火) 13:25:38.54ID:Inq0Uwe1 おまえら、ここのスレタイ100回音読してやり直せw
629デフォルトの名無しさん
2019/12/03(火) 22:28:44.39ID:iL4nL4i7 785 名無し三等兵 sage 2019/12/03(火) 08:03:27.78 ID:sujZBpWD
>>762
>「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポにチンポ自身を扱く機能が備わっていないので自動詞は不適切だから(34文字)
胸(心臓)には鼓動する機能があるため自動詞の適用対象だが
チンポには勃起する機能はあっても自身を扱く機能はないので「チンポ『が』勃起する」は成立しても「チンポ『が』シコシコする」は成立しない
夢精した状況を「チンポ『が』シコシコした」と称したければ「チンポがエロい夢を見させ夢精した」=「脳ではなくチンポが思考を司りエロい夢を見させて夢精させた」という状況で可となる
脳でなくチンポで物を考える生物についてなら「チンポ『が』シコシコする」は成り立つ
如何にもだつお的じゃないか
>>762
>「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポにチンポ自身を扱く機能が備わっていないので自動詞は不適切だから(34文字)
胸(心臓)には鼓動する機能があるため自動詞の適用対象だが
チンポには勃起する機能はあっても自身を扱く機能はないので「チンポ『が』勃起する」は成立しても「チンポ『が』シコシコする」は成立しない
夢精した状況を「チンポ『が』シコシコした」と称したければ「チンポがエロい夢を見させ夢精した」=「脳ではなくチンポが思考を司りエロい夢を見させて夢精させた」という状況で可となる
脳でなくチンポで物を考える生物についてなら「チンポ『が』シコシコする」は成り立つ
如何にもだつお的じゃないか
630デフォルトの名無しさん
2019/12/03(火) 23:10:32.73ID:ufFgBLZs >>625
だから単位系を含め整理整頓してtypedefする習慣がないと
classのデザインや命名規則で躓いて苦労するって話です
クソクソではない以前の問題
classのデザインそのものがある意味typedefなので
だから単位系を含め整理整頓してtypedefする習慣がないと
classのデザインや命名規則で躓いて苦労するって話です
クソクソではない以前の問題
classのデザインそのものがある意味typedefなので
631デフォルトの名無しさん
2019/12/04(水) 08:37:36.11ID:kf9TXe9z オブジェクト指向というのは要するに構造化の延長であって、現実世界のオブジェクトと対応させる必要はない
グローバル変数(構造体)に名前空間を与えて関数とセットにすることでモジュール化を進めたものがクラス
要はオブジェクト指向っていう名前は無意味で、あくまで「機能ごとに関数を分割する」っていう手続き型プログラミングの原則を変数にもあてはめたものが今オブジェクト指向と呼ばれてるもの
グローバル変数(構造体)に名前空間を与えて関数とセットにすることでモジュール化を進めたものがクラス
要はオブジェクト指向っていう名前は無意味で、あくまで「機能ごとに関数を分割する」っていう手続き型プログラミングの原則を変数にもあてはめたものが今オブジェクト指向と呼ばれてるもの
632デフォルトの名無しさん
2019/12/04(水) 11:04:40.53ID:Gxvpy2ME 同じ機能に同じ名前の原則は似たような処理をまとめて扱う事が出来て便利だし、いちいちクラス内をリファレンスする必要が無いからなぁ
テンプレートの功罪はさておき、ひとまとめできるのは何かと便利。
テンプレートの功罪はさておき、ひとまとめできるのは何かと便利。
633デフォルトの名無しさん
2019/12/04(水) 15:18:24.68ID:2/B1SMF3 だが、オブジェクト指向の設計に馴れていないと一つのクラスにあらゆる機能をまとめ、クソみたいなクラスができあがるから注意が必要。
ま、これはオブジェクト指向がクソというより、勘違いオブジェクト指向プログラマーがクソなだけだが。
ま、これはオブジェクト指向がクソというより、勘違いオブジェクト指向プログラマーがクソなだけだが。
634デフォルトの名無しさん
2019/12/05(木) 08:59:31.49ID:Ei6ztOqe >>13
チンポ「を」しこしこするのではなく、チンポ「が」しこしこする。
チンポ「を」しこしこするのではなく、チンポ「が」しこしこする。
635デフォルトの名無しさん
2019/12/05(木) 12:43:39.70ID:RjTW6Ir0636デフォルトの名無しさん
2019/12/05(木) 13:16:22.10ID:H1IMzSl8 大きさで判断するな
大事なのは優しさだ
大事なのは優しさだ
637デフォルトの名無しさん
2019/12/05(木) 16:01:27.07ID:Art87gsc オブジェクト指向でまとめのクラスはどのように考えてるんだろう?
どうしても巨大クラスにならないか?
どうしても巨大クラスにならないか?
638デフォルトの名無しさん
2019/12/05(木) 20:01:31.66ID:SdrZ6zkh >>637
責務単位で分割しているから、責務以上にクラスが巨大化することはないな。
初心者時代は責務そのものを巨大化させて、いつの間にか神クラスを作ってしまった...ということはあったけど、今はそんなことはない。
ソフトウェアの多機能化と共にクラスそのものが増えていくだけ。
責務単位で分割しているから、責務以上にクラスが巨大化することはないな。
初心者時代は責務そのものを巨大化させて、いつの間にか神クラスを作ってしまった...ということはあったけど、今はそんなことはない。
ソフトウェアの多機能化と共にクラスそのものが増えていくだけ。
639デフォルトの名無しさん
2019/12/05(木) 20:27:48.03ID:DWX8mw2N クラスだろうが関数だろうが、手に余るほど巨大に成長したら分割統治だべ。
640デフォルトの名無しさん
2019/12/07(土) 17:50:53.43ID:ZsYnLuoj メソッド間である種の依存ができるということに対する意識が低くなる傾向にある。
だからクラスでなんでも抱えるようになる。
それだったら構造体のがマシ。
少なくとも解きほぐしやすい状態なことが多い。
だからクラスでなんでも抱えるようになる。
それだったら構造体のがマシ。
少なくとも解きほぐしやすい状態なことが多い。
641デフォルトの名無しさん
2019/12/07(土) 18:44:55.10ID:N29lZ9qR クラスの数が死ぬほど増えた場合
それを管理して見通し付けやすくするのは何を使うのがいいんでしょうか?
それを管理して見通し付けやすくするのは何を使うのがいいんでしょうか?
642デフォルトの名無しさん
2019/12/07(土) 18:50:10.94ID:qysMmFFI フォルダで分けたりしてみる
643デフォルトの名無しさん
2019/12/07(土) 18:58:30.26ID:qysMmFFI その時褐色巨乳エルフのアナルフィスト的なクラスがあったとして
褐色なのか?
巨乳なのか?
エルフなのか?
アナルフィストなのか?
で迷った末に作成日付で
分けることにしたら
思ったよりうまく分けられた
作った順に並べるのは
機能の上位下位がわかって
実はすごく読みやすい
褐色なのか?
巨乳なのか?
エルフなのか?
アナルフィストなのか?
で迷った末に作成日付で
分けることにしたら
思ったよりうまく分けられた
作った順に並べるのは
機能の上位下位がわかって
実はすごく読みやすい
644デフォルトの名無しさん
2019/12/07(土) 20:02:05.98ID:hNCBwRLG >>641
だいたいどの言語にもモジュールやパッケージって名前のクラスをまとめる概念があるやろ
だいたいどの言語にもモジュールやパッケージって名前のクラスをまとめる概念があるやろ
645デフォルトの名無しさん
2019/12/08(日) 08:44:32.28ID:pkvtzmnX646デフォルトの名無しさん
2019/12/08(日) 09:43:00.70ID:h6+5qENq647デフォルトの名無しさん
2019/12/08(日) 10:30:56.33ID:9o2gns5I クラスにはインスタンスが1つしかないクラスと複数のインスタンスが生成されるクラスがあるが、この2つには本質的な違いがある
前者は「一つの機能を実現するモジュール」として『関数+グローバル変数』をまとめたもの
後者は先にデータ構造があり、『構造体+それを操作する関数』の組み合わせ
前者は「一つの機能を実現するモジュール」として『関数+グローバル変数』をまとめたもの
後者は先にデータ構造があり、『構造体+それを操作する関数』の組み合わせ
648デフォルトの名無しさん
2019/12/08(日) 11:35:29.69ID:W5V+n78N >>646
OOPではどのように分割するの?
OOPではどのように分割するの?
649デフォルトの名無しさん
2019/12/08(日) 18:52:52.34ID:YIK015Yf >>187
>これが抽象的過ぎてわからん。
>なんで、毎回曖昧な表現使うかな...。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>これが抽象的過ぎてわからん。
>なんで、毎回曖昧な表現使うかな...。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
650デフォルトの名無しさん
2019/12/08(日) 18:55:30.03ID:YIK015Yf >>648
オブジェクト指向とは、独立した知能回路のことなんだが?
オブジェクト指向とは、独立した知能回路のことなんだが?
651デフォルトの名無しさん
2019/12/08(日) 19:31:06.38ID:3pi+cAN/ 猫を継承して犬を作る。
652デフォルトの名無しさん
2019/12/08(日) 19:44:25.60ID:wYQ7YWRb 生物学的にはネコ目の下にイヌ亜目がある
イヌはネコだからそれは正しい
イヌはネコだからそれは正しい
653デフォルトの名無しさん
2019/12/08(日) 19:47:18.68ID:wYQ7YWRb654デフォルトの名無しさん
2019/12/08(日) 23:21:06.18ID:YIK015Yf >>653
知能とは独立して物事を判断する能力のこと。例えばチンポは自ら考え独立してシコシコする。
知能とは独立して物事を判断する能力のこと。例えばチンポは自ら考え独立してシコシコする。
655デフォルトの名無しさん
2019/12/08(日) 23:37:52.87ID:YIK015Yf ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
656デフォルトの名無しさん
2019/12/08(日) 23:49:49.88ID:wYQ7YWRb >>654
なるほどね
なるほどね
657デフォルトの名無しさん
2019/12/08(日) 23:59:28.82ID:wYQ7YWRb658デフォルトの名無しさん
2019/12/09(月) 10:43:22.28ID:2TRwHWS9 シコシコするってのを曲解してそれ以外の用法を見出せ無いだけの超鋼鉄頭な奴だなw
うどんなどの食感を形容したり、陰ながら何か作ってる様だったり、また新たな形容の仕方かもしれないだろうに。
うどんなどの食感を形容したり、陰ながら何か作ってる様だったり、また新たな形容の仕方かもしれないだろうに。
659デフォルトの名無しさん
2019/12/09(月) 11:26:32.88ID:t3RZId/o >>657
>独立するということは人間に支配されないということ
>つまりちんぽは人間に対してメソッドを公開してないってことかな?
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/
チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」
まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!
【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
>独立するということは人間に支配されないということ
>つまりちんぽは人間に対してメソッドを公開してないってことかな?
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/
チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」
まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!
【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
660デフォルトの名無しさん
2019/12/09(月) 12:51:09.85ID:pvAiDBoK >>659
なんで依存するん?
なんで依存するん?
661デフォルトの名無しさん
2019/12/09(月) 12:54:22.98ID:pvAiDBoK 独立してるならメッセージも必要ないじゃないか
ちんぽを切り離すべきです
ちんぽを切り離すべきです
662デフォルトの名無しさん
2019/12/09(月) 12:55:27.25ID:pvAiDBoK 古代中国はそれで失敗しました
663デフォルトの名無しさん
2019/12/09(月) 13:04:47.41ID:t3RZId/o664デフォルトの名無しさん
2019/12/09(月) 15:50:22.63ID:ncqiXLwi エネルギー供給とか伝達方法とかの理由で切り離せませんがな
665デフォルトの名無しさん
2019/12/09(月) 16:01:41.12ID:1WhdpUC2666デフォルトの名無しさん
2019/12/09(月) 16:11:35.92ID:1WhdpUC2 511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋
随意筋←implements─チンポ─implements→不随意筋
667デフォルトの名無しさん
2019/12/09(月) 17:58:26.34ID:pvAiDBoK >>663
ちんぽの話ですよね
ちんぽの話ですよね
668デフォルトの名無しさん
2019/12/09(月) 18:00:39.43ID:pvAiDBoK ちんぽ同士でメッセージを送り合うなら並列処理として認めますが人間とのメッセージ交換は依存です
ちんぽの独立性が危険と言えます
ちんぽの独立性が危険と言えます
669デフォルトの名無しさん
2019/12/09(月) 18:03:04.04ID:pvAiDBoK 独立してるがゆえに知能が成立するわけですから独立性が揺らぐならちんぽの知能についても疑いが生じるわけです
ゆえにちんぽは人間と切り離すべきと結論されるわけですね
これがオブジェクト指向設計です
ゆえにちんぽは人間と切り離すべきと結論されるわけですね
これがオブジェクト指向設計です
670デフォルトの名無しさん
2019/12/09(月) 18:14:55.52ID:pvAiDBoK オブジェクト指向が目指すところは人間の支配から脱却した自律したちんぽ
つまり不随意筋などという概念そのものが人間の存在を暗示し人間の支配から抜けきれてないことを表してるわけです
自律したちんぽに存在するのは自律筋である
そういうことです
つまり不随意筋などという概念そのものが人間の存在を暗示し人間の支配から抜けきれてないことを表してるわけです
自律したちんぽに存在するのは自律筋である
そういうことです
671デフォルトの名無しさん
2019/12/10(火) 20:12:21.34ID:oaI2pVED オブジェクト指向は独立性と自律性が大事だね!
672デフォルトの名無しさん
2019/12/12(木) 11:09:49.47ID:Bar9pfap673デフォルトの名無しさん
2019/12/12(木) 11:21:36.42ID:vii2cg5y そうだよ。
グローバル領域にメッセージ送って、そこにある自分宛てのメッセージを拾って動くのが真のオブジェクト志向システム
グローバル領域にメッセージ送って、そこにある自分宛てのメッセージを拾って動くのが真のオブジェクト志向システム
674デフォルトの名無しさん
2019/12/12(木) 17:52:24.06ID:JPTMcftT >>672
ちんぽの話ですよね
ちんぽの話ですよね
675デフォルトの名無しさん
2019/12/12(木) 17:53:50.77ID:JPTMcftT ちんぽ関係を教えてください
676デフォルトの名無しさん
2019/12/12(木) 17:56:28.04ID:JPTMcftT >>673
それではまるでオブジェクトがメッセージレシーバみたいじゃないですか!?
それではまるでオブジェクトがメッセージレシーバみたいじゃないですか!?
677デフォルトの名無しさん
2019/12/12(木) 18:16:53.48ID:uDhkdcWC メッセージの受け口が必要だな
678デフォルトの名無しさん
2019/12/12(木) 20:31:45.88ID:Bar9pfap ちんぽがしこしこ、そんな言語表現あるのか?
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
679デフォルトの名無しさん
2019/12/12(木) 20:38:56.44ID:Bar9pfap >>657
>つまりちんぽは人間に対してメソッドを公開してないってことかな?
公開されているメソッド(オシッコを出す・オシッコを止める)と、公開されてきないメソッド(勃起する)がある。
公開されているメソッドは本体から司令操作できふが、公開されていないメソッドには出来ない。
>つまりちんぽは人間に対してメソッドを公開してないってことかな?
公開されているメソッド(オシッコを出す・オシッコを止める)と、公開されてきないメソッド(勃起する)がある。
公開されているメソッドは本体から司令操作できふが、公開されていないメソッドには出来ない。
680デフォルトの名無しさん
2019/12/12(木) 20:55:46.50ID:Bar9pfap >>677
オシッコを出す・オシッコを止める、つまりオシッコはメッセージングの媒体である。
オシッコを出す・オシッコを止める、つまりオシッコはメッセージングの媒体である。
681デフォルトの名無しさん
2019/12/12(木) 20:57:50.33ID:Bar9pfap >>677
メッセージの受け口を具体化すると、チンポに力を入れる・チンポから力を抜くという『力の出し入れ』。
メッセージの受け口を具体化すると、チンポに力を入れる・チンポから力を抜くという『力の出し入れ』。
682デフォルトの名無しさん
2019/12/12(木) 21:02:18.51ID:Bar9pfap683デフォルトの名無しさん
2019/12/12(木) 21:11:59.45ID:Bar9pfap >>677
>メッセージの受け口が必要だな
俺 <筋力↑↓> チンポ
オブジェクト同士のメッセージングには必ずその受け口を指定しておかなければならない。
>メッセージの受け口が必要だな
俺 <筋力↑↓> チンポ
オブジェクト同士のメッセージングには必ずその受け口を指定しておかなければならない。
684デフォルトの名無しさん
2019/12/12(木) 21:15:45.59ID:Bar9pfap なおオシッコの時のメッセージングの方向は専ら本体→チンポだが、
>>402
>チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
チンポがシコシコしてるときのメッセージングは、チンポ→本体。
>>402
>チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
チンポがシコシコしてるときのメッセージングは、チンポ→本体。
685デフォルトの名無しさん
2019/12/12(木) 21:48:46.25ID:zkrlEdaN ちんぽの話をやめろ
686デフォルトの名無しさん
2019/12/12(木) 21:51:01.42ID:zkrlEdaN 本体があるってことはちんぽは子機なわけだから
それは親機である身体のコントール化にあることを意味していて
ちんぽは独立できてないんじゃない?
それは親機である身体のコントール化にあることを意味していて
ちんぽは独立できてないんじゃない?
687デフォルトの名無しさん
2019/12/12(木) 21:52:18.60ID:eXYQKMMQ もういい加減チンポくん消えてくれ
688デフォルトの名無しさん
2019/12/12(木) 21:53:08.50ID:zkrlEdaN アメリカの指示通りにしか動かない日本は一国として独立してると言えるのか?
一身独立して一国独立す、ちんぽは国家だ
一身独立して一国独立す、ちんぽは国家だ
690デフォルトの名無しさん
2019/12/12(木) 23:43:55.72ID:Nmxt4/D7691デフォルトの名無しさん
2019/12/13(金) 07:27:36.58ID:Hed2e2P3 >>690
当たり前だろ太ももにある大動脈切ってみろよ勃起しないから
当たり前だろ太ももにある大動脈切ってみろよ勃起しないから
692デフォルトの名無しさん
2019/12/13(金) 08:33:54.43ID:8XMNzKd0 >>691
繋がりと独立性の両立こそがオブジェクト指向なんたが?
繋がりと独立性の両立こそがオブジェクト指向なんたが?
693デフォルトの名無しさん
2019/12/13(金) 09:22:57.89ID:uecuFc6R694デフォルトの名無しさん
2019/12/13(金) 09:27:58.44ID:uecuFc6R ラジコンで操られてるマシンがあって側溝にハマってタイヤが空転した場合そうなることは操作する人間の意思に反することだとしても独立してるとは言えないだろ、ちんぽはラジコンで動いてます
695K&R先生
2019/12/13(金) 09:33:28.19ID:F5EsAFje ジャバは糞
696デフォルトの名無しさん
2019/12/13(金) 09:44:22.48ID:8XMNzKd0697デフォルトの名無しさん
2019/12/13(金) 10:15:10.97ID:uecuFc6R >>696
近所の家で電子レンジ使ってたらその電波に反応して勃起する、その現象を確認してるだけ
近所の家で電子レンジ使ってたらその電波に反応して勃起する、その現象を確認してるだけ
698デフォルトの名無しさん
2019/12/13(金) 10:16:01.56ID:uecuFc6R 電子レンジがなぜチンと鳴るのか考えればわかる
699デフォルトの名無しさん
2019/12/13(金) 11:37:00.78ID:NjKZ99SD だが待て、チンは一回しか鳴らないぞ。
2回鳴るのなら納得もしただろうがな。
2回鳴るのなら納得もしただろうがな。
700デフォルトの名無しさん
2019/12/13(金) 13:42:23.47ID:uecuFc6R >>699
星が輝いていたらキラキラしてると言うだろ
目がギラついていたらギラギラしてると言うだろ
古来より人間は音を二回重ねることによって新しい概念を作り出してきた
ちんちんもその名残なんですかね!?
星が輝いていたらキラキラしてると言うだろ
目がギラついていたらギラギラしてると言うだろ
古来より人間は音を二回重ねることによって新しい概念を作り出してきた
ちんちんもその名残なんですかね!?
701デフォルトの名無しさん
2019/12/13(金) 15:55:25.25ID:f6KMU1PF ワレはひとりの英雄を失った…
勃てよ!チン!
勃てよ!チン!
702デフォルトの名無しさん
2019/12/13(金) 22:21:23.15ID:/YoSTFRT ことばの協調に言葉を繰り返す文化はだいたいIQ非常に低い
703デフォルトの名無しさん
2019/12/14(土) 10:51:13.27ID:EHZj0VAM チュンチョン含めて東アジア人はアシュケナージ系ユダヤ人に次いでIQ高いんだが…
704デフォルトの名無しさん
2019/12/14(土) 12:50:33.16ID:BY4tlOTb 同じ語を繰り返すのは、幼児が発音し易いから多用するな。
まあ、似た様なもんだな。
同じ語を繰り返す時、おまえの脳もまた幼児化しているのさ。
まあ、似た様なもんだな。
同じ語を繰り返す時、おまえの脳もまた幼児化しているのさ。
705デフォルトの名無しさん
2019/12/15(日) 16:14:08.51ID:BTgZV1cy オブジェクト指向とは独立した知能回路であり、チンポはまさにその典型なのだ!
706デフォルトの名無しさん
2019/12/16(月) 17:09:05.86ID:WyvGbQUQ >俺.チンポに力を入れる 俺.チンポから力を抜く
たとえば、車を運転するにしても人は車がどういう構造をしてるのかなんていちいち知っておく必要はありません。
ただ「アクセルを踏む」「ハンドルを回す」というメッセージを車に送っているだけです。
もし車を運転するのに運転手側が内部構造の制御を常にしなければならないとしたら、それは非常に使いづらいものでしょう。
http://brbranch.jp/blog/201511/%E9%9B%91%E8%A8%98/oop/
たとえば、車を運転するにしても人は車がどういう構造をしてるのかなんていちいち知っておく必要はありません。
ただ「アクセルを踏む」「ハンドルを回す」というメッセージを車に送っているだけです。
もし車を運転するのに運転手側が内部構造の制御を常にしなければならないとしたら、それは非常に使いづらいものでしょう。
http://brbranch.jp/blog/201511/%E9%9B%91%E8%A8%98/oop/
707デフォルトの名無しさん
2019/12/16(月) 23:19:39.29ID:tPusJsg+708デフォルトの名無しさん
2019/12/20(金) 14:01:16.00ID:r/r7VnC5 メソッドがフィールドに依存してるとテストしにくい
パブリックメソッドはフィールドを参照する骨組みメソッドにしてプライベートなスタティックメソッドでロジック組み上げるのが良いと思いました
パブリックメソッドはフィールドを参照する骨組みメソッドにしてプライベートなスタティックメソッドでロジック組み上げるのが良いと思いました
709デフォルトの名無しさん
2019/12/20(金) 16:37:03.66ID:Db8FCowf オシッコを出す・オシッコを止める、これはメッセージングしてパプリックメソッドにアクセスする。
710デフォルトの名無しさん
2019/12/20(金) 19:59:54.91ID:fz/tpFJr 何が一番大事ですかって質問ストレスで吐きそうになる
価値観が一致しててレベルが相手より上でも下でもだめなんだ
価値観が一致しててレベルが相手より上でも下でもだめなんだ
711デフォルトの名無しさん
2019/12/20(金) 21:04:08.33ID:epGoOVxQ そもそも日本人は独立心が無く互いに依存しあい忖度しあいガチガチの
しがらみに絡み合って助け合って生きていたのにオブジェクト指向ができるわけない
他人に独立しろ独立しろとアメリカに植え付けられて洗脳テレビ放送で理想ばかり
いうわりに自分はお互い寄生しあって傷を舐めあって生きてる共産主義者には
C言語がお似合い
しがらみに絡み合って助け合って生きていたのにオブジェクト指向ができるわけない
他人に独立しろ独立しろとアメリカに植え付けられて洗脳テレビ放送で理想ばかり
いうわりに自分はお互い寄生しあって傷を舐めあって生きてる共産主義者には
C言語がお似合い
712デフォルトの名無しさん
2019/12/20(金) 21:06:40.93ID:epGoOVxQ 上の文ではわかりにくいが日本は規制でガチガチに忖度してあるから変更が効かない
が共有してるから忖度し放題ってことだよ
が共有してるから忖度し放題ってことだよ
713デフォルトの名無しさん
2019/12/20(金) 21:14:59.93ID:epGoOVxQ 一言でいうと
日本=依存=C
アメリカ=独立=C++
日本=依存=C
アメリカ=独立=C++
714デフォルトの名無しさん
2019/12/20(金) 21:15:38.45ID:epGoOVxQ 日本=依存=C<<<<<<<<<アメリカ=独立=C++
715デフォルトの名無しさん
2019/12/20(金) 21:18:13.32ID:AbigEpyt チンポはオシッコもするし勃起もするし射精もする、これがオブジェクトの多態性だ。
716デフォルトの名無しさん
2019/12/20(金) 21:24:52.49ID:AbigEpyt オブジェクトというのは、文脈によって時と場合によって、どうとでも変わるのだから!
717デフォルトの名無しさん
2019/12/20(金) 23:17:31.88ID:jk7l00+3 そういえば頭にタイヤ付けてるオッサン見たことある。
たしかミシュランマンとか言ってた。
たしかミシュランマンとか言ってた。
718デフォルトの名無しさん
2019/12/21(土) 12:55:48.31ID:3973yYOQ チンコしか例え話ねえのかよ
719デフォルトの名無しさん
2019/12/21(土) 13:08:27.97ID:q7yr2n4C アタッチメント式で着脱可能と言ったらちんぽしかないな
720デフォルトの名無しさん
2019/12/21(土) 13:24:23.72ID:lttA9Ymy 怖い
721デフォルトの名無しさん
2019/12/21(土) 15:13:46.87ID:svcSVAhw >>718
繋がっているけれども独立しているというのがオブジェクト指向だ。
繋がっているけれども独立しているというのがオブジェクト指向だ。
722デフォルトの名無しさん
2019/12/21(土) 15:19:30.16ID:QDHgiC2u おまいらチンポマンをスルーできないのか
723デフォルトの名無しさん
2019/12/21(土) 15:22:51.91ID:d72gx8ge >>722
そいつが一人だと思っているなら素人
そいつが一人だと思っているなら素人
724デフォルトの名無しさん
2019/12/21(土) 15:40:34.50ID:svcSVAhw ちくわよちくわ、どうしてお穴が空いてるの〜♪
チンポよチンポ、どうしてお股に付いてるの〜♪
べ、べ、べ、べ、ベントマン!
チ、チ、チ、チ、チンポマン!
チンポよチンポ、どうしてお股に付いてるの〜♪
べ、べ、べ、べ、ベントマン!
チ、チ、チ、チ、チンポマン!
725デフォルトの名無しさん
2019/12/21(土) 15:48:04.96ID:5ArYAWFR えっ、
マシュマロマンと
ビブグルマンかと
思ってた。
マシュマロマンと
ビブグルマンかと
思ってた。
726デフォルトの名無しさん
2019/12/22(日) 10:24:46.94ID:q75LD7xJ ちんこ隔離スレだから仕方ないね。
727デフォルトの名無しさん
2019/12/22(日) 16:47:22.70ID:mtx3TNHc 最近、ちんこにメッセージが上手く届かないんだが。
728デフォルトの名無しさん
2019/12/22(日) 18:51:33.54ID:HuJxWYNl >>727
トイレに行って、オシッコを止める・オシッコを出すをやってみろ!
トイレに行って、オシッコを止める・オシッコを出すをやってみろ!
729デフォルトの名無しさん
2019/12/22(日) 19:03:40.89ID:OrhxiP0w >>728
うるせえ!
うるせえ!
730デフォルトの名無しさん
2019/12/22(日) 20:19:11.92ID:HuJxWYNl >>729
チンポに筋力を入れてオシッコを出す、チンポから筋力を抜いてオシッコを止める。
チンポに筋力を入れてオシッコを出す、チンポから筋力を抜いてオシッコを止める。
731デフォルトの名無しさん
2019/12/22(日) 20:21:26.15ID:HuJxWYNl 間違い。
チンポに筋力を入れてオシッコを止める、チンポから筋力を抜いてオシッコを出す。
730 デフォルトの名無しさん 2019/12/22(日) 20:19:11.92 ID:HuJxWYNl
>>729
チンポに筋力を入れてオシッコを出す、チンポから筋力を抜いてオシッコを止める。
チンポに筋力を入れてオシッコを止める、チンポから筋力を抜いてオシッコを出す。
730 デフォルトの名無しさん 2019/12/22(日) 20:19:11.92 ID:HuJxWYNl
>>729
チンポに筋力を入れてオシッコを出す、チンポから筋力を抜いてオシッコを止める。
732デフォルトの名無しさん
2019/12/23(月) 19:40:11.25ID:wcEBqux9 下品
733デフォルトの名無しさん
2019/12/23(月) 20:07:19.54ID:Qq2o9fXQ エレクトコマンド連打してもリソース不足でエラーが返って来る。
734デフォルトの名無しさん
2019/12/23(月) 20:43:01.41ID:sS1JWXeN 赤玉出たか
735デフォルトの名無しさん
2019/12/24(火) 14:05:48.04ID:WgZ9RMXM 型にハマらないお前らにオブジェクト指向はムリゲ
他人と組むとかえって混乱の元になる
他人と組むとかえって混乱の元になる
736デフォルトの名無しさん
2019/12/24(火) 15:35:33.12ID:5rMcvWYz >>735
オブジェクト指向は俺の股間に付いているからな。
オブジェクト指向は俺の股間に付いているからな。
737デフォルトの名無しさん
2019/12/24(火) 17:05:07.05ID:L1tHoweE 赤玉出たらハメられない
738デフォルトの名無しさん
2019/12/24(火) 23:13:19.31ID:p0HqoMMj オブジェクト指向よりmvcのがクソ
739デフォルトの名無しさん
2019/12/25(水) 10:06:44.78ID:Ew6npfn6 >>738
まあ、あれは和製糞アプリ乱発の元凶だからなぁw
まあ、あれは和製糞アプリ乱発の元凶だからなぁw
740デフォルトの名無しさん
2019/12/25(水) 12:25:41.18ID:QB+3lnXS mvc自体は理に叶った仕組みだから、
クソアプリが乱発されたということは、
日本人はITに弱いということ
クソアプリが乱発されたということは、
日本人はITに弱いということ
741デフォルトの名無しさん
2019/12/25(水) 14:36:15.64ID:MGllv1+L mvcは滅びたウンコ言語smalltalk由来だけあってクソの塊
頭のおかしいsmalltalkerの宣伝にのって広まったのが不幸の始まり
頭のおかしいsmalltalkerの宣伝にのって広まったのが不幸の始まり
742デフォルトの名無しさん
2019/12/25(水) 15:01:24.01ID:EC/BK1/y スモールトーカーのビッグマウスwwwww
743デフォルトの名無しさん
2019/12/25(水) 17:24:05.31ID:sIadZRBm mvcもoopもクソではない。
クソなのなこのスレの住人。
あと、日本人でひとくくりにするなカス。
クソなのなこのスレの住人。
あと、日本人でひとくくりにするなカス。
744デフォルトの名無しさん
2019/12/25(水) 17:36:52.90ID:2KDJInv2 まあ、mvcのどこで何をどこまでやらせるかって考え方がアホなんだけどな。
例えば、ジャンプするとおっぱいが揺れるアプリがあったとする。
この時、おっぱいの揺れまでcにお伺いを立てるか、とりあえずmで制御してやるか、んなもんvの範疇だろとするか、
おまえらならどう考える?
例えば、ジャンプするとおっぱいが揺れるアプリがあったとする。
この時、おっぱいの揺れまでcにお伺いを立てるか、とりあえずmで制御してやるか、んなもんvの範疇だろとするか、
おまえらならどう考える?
745デフォルトの名無しさん
2019/12/25(水) 21:27:21.55ID:QB+3lnXS カスってな
mvcを日本に持ち込んで荒れたことは遺憾だが
オブジェクト演算子の発明もした僕に言うな
mvcを日本に持ち込んで荒れたことは遺憾だが
オブジェクト演算子の発明もした僕に言うな
746デフォルトの名無しさん
2019/12/26(木) 02:06:18.77ID:SdIj1xpo 仮にオブジェクト指向がクソだと感じたとしても、時代の潮流がそうなのだから
逆らうことは出来ない 逆らっていたら生きた化石となっていくだけ
逆らうことは出来ない 逆らっていたら生きた化石となっていくだけ
747デフォルトの名無しさん
2019/12/26(木) 05:31:59.12ID:5zbV5TEx smalltalkの体系はマジ良い
OSもファイルシステムも何もかもが混然一体となって単一のイメージファイルに収まっている
一般的なOSとかファイルシステムとかが分離したシステムと微妙に相性があるだけ
切り出すと巨大なライブラリが必須みたいな
究極なチューニングを必要としない領域では最強に近い
OSもファイルシステムも何もかもが混然一体となって単一のイメージファイルに収まっている
一般的なOSとかファイルシステムとかが分離したシステムと微妙に相性があるだけ
切り出すと巨大なライブラリが必須みたいな
究極なチューニングを必要としない領域では最強に近い
748デフォルトの名無しさん
2019/12/26(木) 08:41:58.34ID:YQL7Yaoj 使い手次第
749デフォルトの名無しさん
2019/12/26(木) 09:40:16.78ID:I2qsKDGR >>746
オブジェクト指向は俺の股間に付いているのだからな。
オブジェクト指向は俺の股間に付いているのだからな。
750デフォルトの名無しさん
2019/12/26(木) 09:59:39.29ID:ICbV3wFJ751デフォルトの名無しさん
2019/12/26(木) 16:28:47.86ID:5zbV5TEx752デフォルトの名無しさん
2019/12/26(木) 21:04:00.25ID:VT4/hGaE つまりsmalltalkだと別に仮想マシンと仮想コードインタプリタが
必要となって、それらは一体化されてないと
smalltalkはOSもファイルシステムも何もかもが一体となるが
その外に別のOSとファイルシステムが必要になるってことですかね
必要となって、それらは一体化されてないと
smalltalkはOSもファイルシステムも何もかもが一体となるが
その外に別のOSとファイルシステムが必要になるってことですかね
753デフォルトの名無しさん
2019/12/26(木) 22:54:09.64ID:54O4BTJW 仮想マシン上のOSの上でさらに仮想マシンが動いているのか。
754デフォルトの名無しさん
2019/12/27(金) 05:53:52.43ID:fgcv19jJ755デフォルトの名無しさん
2019/12/27(金) 06:09:47.42ID:P2jhx2lv smalltalkは今の洗練されたソフトウェアシステムとは相性が悪そうだね
smalltalkでアプリとか作ったら重くなりそう
Javaみたいなもんかな
smalltalkでアプリとか作ったら重くなりそう
Javaみたいなもんかな
756デフォルトの名無しさん
2019/12/27(金) 10:27:03.74ID:m87WvM9P Smalltalkは決して速くはないが、今が旬のPythonや
今やオワコンだが一時人気を博したRubyよりはずっと高速に動く
このSmalltalkで培われた高速化技術の転用を契機に
JavaやJavaScriptが実用速度で動くようになっていたりもする
今やオワコンだが一時人気を博したRubyよりはずっと高速に動く
このSmalltalkで培われた高速化技術の転用を契機に
JavaやJavaScriptが実用速度で動くようになっていたりもする
757デフォルトの名無しさん
2019/12/27(金) 10:31:41.25ID:2z5bqblL 例えばどんなん
758デフォルトの名無しさん
2019/12/27(金) 10:58:21.22ID:8BhI6tC5 Smalltalk由来のオブジェクト指向が
巡り巡って改良されて、ネイティブ再実装されて
最適化されて、全く違うものになった結果爆速になった
つまりSmalltalkのおかげ!
巡り巡って改良されて、ネイティブ再実装されて
最適化されて、全く違うものになった結果爆速になった
つまりSmalltalkのおかげ!
759デフォルトの名無しさん
2019/12/27(金) 11:49:37.65ID:m87WvM9P JavaはHotSpot、JSはV8
760デフォルトの名無しさん
2019/12/27(金) 12:36:13.19ID:fzTc01Fr つまり実行環境はブラウザでいいって事ですね
(納得)
(納得)
761デフォルトの名無しさん
2019/12/27(金) 13:18:13.67ID:zc200dFE 実行速度の話をしている時点でじいさんだとわかる。
762デフォルトの名無しさん
2019/12/27(金) 14:26:52.91ID:fgcv19jJ ttps://scrapbox.io/kawasima/命名のプロセス
型やクラスの命名、リファクタリングに関係する資料見つけたのでリンク
凄く良い内容
型やクラスの命名、リファクタリングに関係する資料見つけたのでリンク
凄く良い内容
763デフォルトの名無しさん
2019/12/27(金) 16:01:39.92ID:RiDEWwRe GPUの100倍遅いCPUで
ネイティブの10倍遅いVMの速度が自慢になると思ってる
Smalltalkおじさんw
tensorflowやpytorch触ったら速さに脱糞しそう
ネイティブの10倍遅いVMの速度が自慢になると思ってる
Smalltalkおじさんw
tensorflowやpytorch触ったら速さに脱糞しそう
764デフォルトの名無しさん
2019/12/27(金) 16:19:27.62ID:fgcv19jJ 速度的にはブラウザアプリと競合だぞ
機械学習とかは別途ライブラリの呼び出しになる
機械学習とかは別途ライブラリの呼び出しになる
765デフォルトの名無しさん
2019/12/27(金) 22:07:16.16ID:jjhZE+Ou Smalltalkは過大評価されてる気がするね
最初の方に作られた言語の中では当時としてはユニークな
アイデアだったけど今となっては大したことないというか
方向性が違っていてOS技術が発達した現代には合わなくなってる
最初の方に作られた言語の中では当時としてはユニークな
アイデアだったけど今となっては大したことないというか
方向性が違っていてOS技術が発達した現代には合わなくなってる
766デフォルトの名無しさん
2019/12/27(金) 22:46:37.80ID:fgcv19jJ 概念を生み出し確立させたと言う意味で
LISP、Smalltalkは特筆するに値すると思う
世代を重ねることでより優れた概念が生まれることは普通
でも、理念なり概念が洗練されるには平気でウン十年経過するけどね
LISP、Smalltalkは特筆するに値すると思う
世代を重ねることでより優れた概念が生まれることは普通
でも、理念なり概念が洗練されるには平気でウン十年経過するけどね
767デフォルトの名無しさん
2019/12/27(金) 22:55:56.03ID:jjhZE+Ou Smalltalkのオブジェクト指向の概念は良かったけど、
今ほど洗練されてなくて、
OSと統合させようとしたのは失敗だった
これが結論かなぁ
今ほど洗練されてなくて、
OSと統合させようとしたのは失敗だった
これが結論かなぁ
768デフォルトの名無しさん
2019/12/27(金) 23:47:31.94ID:IHK+s08G んー、どこらへんが洗練されてなかったの?
769デフォルトの名無しさん
2019/12/27(金) 23:52:05.51ID:zc200dFE 「どこらへん」という変な日本語を使うやつにわかるとは思えませんが?
770デフォルトの名無しさん
2019/12/27(金) 23:56:58.51ID:pwtqmjr+ 1970年代にダイナブックの実現を目指した暫定実装向けの
奇をてらったOSモドキとして作られた経緯から
まあOSっぽいところまでやりたがるのは仕方がない
http://web.archive.org/web/20041016084842/http:/marimpod.homeip.net/chomswiki/24
奇をてらったOSモドキとして作られた経緯から
まあOSっぽいところまでやりたがるのは仕方がない
http://web.archive.org/web/20041016084842/http:/marimpod.homeip.net/chomswiki/24
771デフォルトの名無しさん
2019/12/28(土) 00:01:42.28ID:oBEDoVhD 「どこいらへん」?いやこれも方言らしい…
「(具体的には)どんなところが」でお願いします
「(具体的には)どんなところが」でお願いします
772デフォルトの名無しさん
2019/12/28(土) 00:20:59.59ID:AtehPr/g773デフォルトの名無しさん
2019/12/28(土) 00:32:49.60ID:soaf7OhY >>769
は?
は?
774デフォルトの名無しさん
2019/12/28(土) 00:42:05.38ID:ysJmEWNA OSが統合されてると主張するSmalltalkに
ドライバを統合することはできるだろうか?
答え 無理
OSを密結合させたのは失敗と言わざるをえない
ドライバを統合することはできるだろうか?
答え 無理
OSを密結合させたのは失敗と言わざるをえない
775デフォルトの名無しさん
2019/12/28(土) 00:43:28.07ID:r8zMvGj8 カプセル化はオープンソースに反するってことなの?
まさかね。
まさかね。
776デフォルトの名無しさん
2019/12/28(土) 00:59:22.01ID:tP4AQveM 当時のCPU、メモリ、ディスク状況ではあれが限界では?
今みたいに無駄遣いできなかったから
今みたいに無駄遣いできなかったから
777デフォルトの名無しさん
2019/12/28(土) 01:20:43.31ID:oBEDoVhD イメージベースってDockerのコンテナみたいな考え方だろ
コンテナにドライバを統合できないからダメってのもおかしな話だ
コンテナにドライバを統合できないからダメってのもおかしな話だ
778デフォルトの名無しさん
2019/12/28(土) 01:28:13.18ID:JtKoQvdN > 当時のCPU、メモリ、ディスク状況
0.6 MIPS、64〜128 KB、2.4〜4.8 MB でよくぞここまで
https://upload.wikimedia.org/wikipedia/commons/9/91/Smalltalk-76.png
0.6 MIPS、64〜128 KB、2.4〜4.8 MB でよくぞここまで
https://upload.wikimedia.org/wikipedia/commons/9/91/Smalltalk-76.png
779デフォルトの名無しさん
2019/12/28(土) 07:35:13.27ID:b3azUkcU 参考まで
このGUI付きのOSモドキはお絵描きツール等の組み込みアプリまでもろもろ含めて
150のクラス、3,500個のメソッド、コメント行込みで2万4千行
のSmalltalk(-76)で書かれている
このGUI付きのOSモドキはお絵描きツール等の組み込みアプリまでもろもろ含めて
150のクラス、3,500個のメソッド、コメント行込みで2万4千行
のSmalltalk(-76)で書かれている
780デフォルトの名無しさん
2019/12/28(土) 07:38:06.09ID:a/5/w6IP 最近気が付いたけど
Haskellの型と型を利用したパターンマッチは
複雑な場合分けを簡潔に表現できる発明とか発見かも知れない
たぶん既存の構文(if,case,等)でも表現は出来るだろうけど
プログラムの字面が長くなって全体の把握に必要な視覚的情報が多くなる
関数の合成や加工データの伝搬を利用したパイプライン演算子も
冗長な記述を簡潔にすると言う意味で発明発見かもしれない
型とパターンマッチのコンビネーション
関数の合成(パイプライン演算も含まれる?)
ここら辺はLISPのマクロで実現されていたかも知れないけど
Haskell等で特徴的な記述として焦点が当たることで
再認識≒発見発明化したのかなと思います
同じ様に先発処理系C等比較すると際立って特徴的
c,LISP,Smalltalk,Haskellここら辺はエポックメイキング(新時代を開く?)なのかな
最新の機械学習とか量子コンピュータ辺りも現在進行形で革新的ななにかが進行中だと考えます
まだ認識できる状態まで知見が一般化してないと思う(試行錯誤中?)
設計趣意書(コメントとか)
全ての水準でどの様な意図をもってプログラムのパーツとか全体が実装されているのか
その情報が最も重要で、違う処理系で再実装する場合でも設計趣意書があれば再現可能性が高くなる
これの一部ないし多くを担うのが
>>762にリンクを張った
型やクラスの命名、リファクタリングに関係する命名のプロセスなんだけど
必要であれば細かな挙動説明もコード内コメントして良いと考えます
以上、素人のうわ言
Haskellの型と型を利用したパターンマッチは
複雑な場合分けを簡潔に表現できる発明とか発見かも知れない
たぶん既存の構文(if,case,等)でも表現は出来るだろうけど
プログラムの字面が長くなって全体の把握に必要な視覚的情報が多くなる
関数の合成や加工データの伝搬を利用したパイプライン演算子も
冗長な記述を簡潔にすると言う意味で発明発見かもしれない
型とパターンマッチのコンビネーション
関数の合成(パイプライン演算も含まれる?)
ここら辺はLISPのマクロで実現されていたかも知れないけど
Haskell等で特徴的な記述として焦点が当たることで
再認識≒発見発明化したのかなと思います
同じ様に先発処理系C等比較すると際立って特徴的
c,LISP,Smalltalk,Haskellここら辺はエポックメイキング(新時代を開く?)なのかな
最新の機械学習とか量子コンピュータ辺りも現在進行形で革新的ななにかが進行中だと考えます
まだ認識できる状態まで知見が一般化してないと思う(試行錯誤中?)
設計趣意書(コメントとか)
全ての水準でどの様な意図をもってプログラムのパーツとか全体が実装されているのか
その情報が最も重要で、違う処理系で再実装する場合でも設計趣意書があれば再現可能性が高くなる
これの一部ないし多くを担うのが
>>762にリンクを張った
型やクラスの命名、リファクタリングに関係する命名のプロセスなんだけど
必要であれば細かな挙動説明もコード内コメントして良いと考えます
以上、素人のうわ言
781デフォルトの名無しさん
2019/12/28(土) 08:10:41.66ID:Jf+Nl3ud 長文書く前にPrologを一回みといた方がイイかもね
782デフォルトの名無しさん
2019/12/28(土) 08:32:23.31ID:a/5/w6IP Prolog
思い出したなんかスゲーとしか思わなかった
バックトラックどうなってるの??な感じ
自分には異次元過ぎてお手上げ
プログラムは扱うデータの物理的量に対し分類選別加工に関係する知的情報は
相対的にみて圧倒的に知的情報の方が小さい
これがたぶん、Prologでは逆転してる
知的プアな人間がPrologに対峙できるはずもなしorz
思い出したなんかスゲーとしか思わなかった
バックトラックどうなってるの??な感じ
自分には異次元過ぎてお手上げ
プログラムは扱うデータの物理的量に対し分類選別加工に関係する知的情報は
相対的にみて圧倒的に知的情報の方が小さい
これがたぶん、Prologでは逆転してる
知的プアな人間がPrologに対峙できるはずもなしorz
783デフォルトの名無しさん
2019/12/28(土) 09:23:13.93ID:zf+GHSiR フォルダのアクセス権調べるプログラム作るのにフォルダを調べるプログラム群のクラス名を「フォルダ」にするか「フォルダ探索」にするか悩んでる
どちらが適切と思います?
どちらが適切と思います?
784デフォルトの名無しさん
2019/12/28(土) 09:32:33.90ID:lWCFWx/Q フォルダを調べる?動詞やろ?クラスじゃないやろ?
785デフォルトの名無しさん
2019/12/28(土) 09:50:25.34ID:un29Kqgd >>772
どのあたりのあたり、どのへんのへんと言う意味になっていますよ?
どのあたりのあたり、どのへんのへんと言う意味になっていますよ?
786デフォルトの名無しさん
2019/12/28(土) 10:12:56.39ID:j+kocMTA 二択ならフォルダ探索
フォルダはねーな
フォルダはねーな
787デフォルトの名無しさん
2019/12/28(土) 10:20:48.51ID:lWCFWx/Q FolderSearch.search()とかいうメソッド作るの?w
788デフォルトの名無しさん
2019/12/28(土) 10:28:54.65ID:QrfQPbYx searcherでおk
789デフォルトの名無しさん
2019/12/28(土) 10:58:25.89ID:M9Az72Wi オブジェクト指向七不思議
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
Dオブジェクト指向の歴史
→志村なのか相撲のトークなのかアランケイなのか
E人によって言うことが変わる
→決して一つとして同じものがない、もう、宗教である
F誰もその効果を検証しない&できない
→やっても「お前のはオブジェクト指向ではない!」って言われる。酷い
G死ねよ
→もう死ねよ
@オブジェクト指向の定義
→議論の最後はいっつも「お前はオブジェクト指向をわかっていない!」
そんなやつとハナから議論すんなと
Aオブジェクト指向のメリット
→イマイチ納得できる数字が上がらないのとメリットと言えるロジックが出ない
Bオブジェクト指向言語とのリンク
→どんな思想でこの機能が追加されたのか?オブジェクト指向にそんなのねーじゃん
Cオブジェクト指向って流行ってる?
→これ流行ってるの?誰も話題にしてる奴がいないような気がする
Dオブジェクト指向の歴史
→志村なのか相撲のトークなのかアランケイなのか
E人によって言うことが変わる
→決して一つとして同じものがない、もう、宗教である
F誰もその効果を検証しない&できない
→やっても「お前のはオブジェクト指向ではない!」って言われる。酷い
G死ねよ
→もう死ねよ
790デフォルトの名無しさん
2019/12/28(土) 11:38:52.86ID:AtehPr/g >>785
なってませんよね
なってませんよね
791デフォルトの名無しさん
2019/12/28(土) 11:54:24.12ID:O2DjLCkk FolderUtil.search()
792デフォルトの名無しさん
2019/12/28(土) 11:56:11.98ID:1/4z87f4 いずれにせよ具体的な回答はなかったのでお察し
793デフォルトの名無しさん
2019/12/28(土) 13:41:35.32ID:zf+GHSiR クラスが名詞と考えればクラス「フォルダ」のが良いですよね
その中にメソッド「探索」を作ると
ただフォルダが名称だと範囲がデカいなと気にもなってます
その中にメソッド「探索」を作ると
ただフォルダが名称だと範囲がデカいなと気にもなってます
794デフォルトの名無しさん
2019/12/28(土) 13:56:59.93ID:j+kocMTA まあ慣れないうちで、小さい規模や個人的なツールならそれでええんちゃう
全然間違ってる訳ちゃうし
フォルダが名前としてデカイって直感は良いと思うよ
まあ色々考えながら、先でリファクタリング&再設計するのも良し
全然間違ってる訳ちゃうし
フォルダが名前としてデカイって直感は良いと思うよ
まあ色々考えながら、先でリファクタリング&再設計するのも良し
795デフォルトの名無しさん
2019/12/28(土) 14:55:44.57ID:LSs3mrRx いずれにせよ
名前付けてる時が一番楽しいよな
名前付けてる時が一番楽しいよな
796デフォルトの名無しさん
2019/12/28(土) 15:17:01.43ID:VCBq52Cm 日本人は狂ってるよな
学校教育という集団洗脳で気違いしかいなくなったよな
お前らは洗脳されてるから気づかないだろうから
俺の言うことを否定したがろうけど
学校教育という集団洗脳で気違いしかいなくなったよな
お前らは洗脳されてるから気づかないだろうから
俺の言うことを否定したがろうけど
797デフォルトの名無しさん
2019/12/28(土) 16:42:18.92ID:E4RrjfjA >>796
俺の言うことって何?
俺の言うことって何?
798デフォルトの名無しさん
2019/12/28(土) 17:01:11.44ID:lWCFWx/Q 「私が神である」
とかでは?
とかでは?
799デフォルトの名無しさん
2019/12/28(土) 18:21:44.88ID:p8R0Q+BH >>798
その神が何なのか誰もわからない。
その神が何なのか誰もわからない。
800デフォルトの名無しさん
2019/12/28(土) 19:13:12.04ID:upxxxiuG とんでもねえあたしゃ神様だよ
801デフォルトの名無しさん
2019/12/28(土) 21:41:59.22ID:F144LTY4 神って何?
802デフォルトの名無しさん
2019/12/28(土) 23:04:21.26ID:xHZFg0mi >>789
オブジェクト指向は俺の股間に付いているが?
オブジェクト指向は俺の股間に付いているが?
803デフォルトの名無しさん
2019/12/28(土) 23:07:17.52ID:AtehPr/g >>802
????
????
804デフォルトの名無しさん
2019/12/29(日) 00:03:54.87ID:RdzG/nz0 オブジェクト指向アンチスレって需要ある?
805デフォルトの名無しさん
2019/12/29(日) 01:42:40.41ID:nNyfpaUU オブジェクト指向をちゃんと使った場合のメリットについて
具体的な数字が出てこないってアンチはよく言うけど
778-779って結構なエビデンスだよね?
オブジェクト指向以外(あるいは似非で)で同じ物を書いたらどうなるか
非PGだと圧倒的なすごさがピンときにくいのが難だけど
そういう意味では全く同じ物を書かせて単純に比較した
こっちの方はイメージしやすいか?↓
「どうかく?orgから生産性を邪推する」
https://cast-a-spell.at.webry.info/201001/article_7.html
あいにくお題と各言語での回答は失われてしまったけど
こっちでそのおおよそは掴める↓
「どう書く?Orgに感謝を込めての目次」
http://gushwell.ldblog.jp/archives/52400989.html?ref=head_btn_next&id=164237
具体的な数字が出てこないってアンチはよく言うけど
778-779って結構なエビデンスだよね?
オブジェクト指向以外(あるいは似非で)で同じ物を書いたらどうなるか
非PGだと圧倒的なすごさがピンときにくいのが難だけど
そういう意味では全く同じ物を書かせて単純に比較した
こっちの方はイメージしやすいか?↓
「どうかく?orgから生産性を邪推する」
https://cast-a-spell.at.webry.info/201001/article_7.html
あいにくお題と各言語での回答は失われてしまったけど
こっちでそのおおよそは掴める↓
「どう書く?Orgに感謝を込めての目次」
http://gushwell.ldblog.jp/archives/52400989.html?ref=head_btn_next&id=164237
806デフォルトの名無しさん
2019/12/29(日) 01:48:52.40ID:oAHsONBK 合うものと合わないものがあるのに何を言っているのかw
807デフォルトの名無しさん
2019/12/29(日) 01:55:08.57ID:MrCxy9bb808デフォルトの名無しさん
2019/12/29(日) 02:11:04.64ID:2ZGuf6bc Smalltalkはどちらかというと関数型だから
809デフォルトの名無しさん
2019/12/29(日) 03:39:21.24ID:kZZsrS/c >>807
たかだか2万行程度でここまでは書けんって肌感覚はないの?
たかだか2万行程度でここまでは書けんって肌感覚はないの?
810デフォルトの名無しさん
2019/12/29(日) 08:49:05.27ID:VWvk7Wxx811デフォルトの名無しさん
2019/12/29(日) 08:58:04.76ID:zTCF3X0O 数値化ってオブジェクト指向が使われてる言語の数とか
プロジェクトの数とかでいいの?
プロジェクトの数とかでいいの?
812デフォルトの名無しさん
2019/12/29(日) 09:17:40.19ID:5kSHoXyj オブジェクト指向で作られている
という前提があるとないとで引き継ぐ時に全然違う
という前提があるとないとで引き継ぐ時に全然違う
813デフォルトの名無しさん
2019/12/29(日) 09:22:22.55ID:VWvk7Wxx >>811
数が多い少ないで何を主張するの?
数が多い少ないで何を主張するの?
814デフォルトの名無しさん
2019/12/29(日) 09:27:25.92ID:zTCF3X0O815デフォルトの名無しさん
2019/12/29(日) 09:34:38.13ID:VWvk7Wxx >>814
本当にキミ、プログラマーかい?
本当にキミ、プログラマーかい?
816デフォルトの名無しさん
2019/12/29(日) 09:37:48.43ID:PkR84LS6 >>803
繋がっているけれども独立している、それがオブジェクト指向だ。
繋がっているけれども独立している、それがオブジェクト指向だ。
817デフォルトの名無しさん
2019/12/29(日) 09:40:03.81ID:zTCF3X0O >>815
いや、文句があるなら他にいい数字を出してくれればいいよ
いや、文句があるなら他にいい数字を出してくれればいいよ
818デフォルトの名無しさん
2019/12/29(日) 09:40:36.64ID:zTCF3X0O オブジェクト指向を採用してる
フレームワーク数やライブラリ数ってのはどうか?
フレームワーク数やライブラリ数ってのはどうか?
819デフォルトの名無しさん
2019/12/29(日) 09:41:44.85ID:VWvk7Wxx >>814
え?どう主張するの?
if(ooprjnum>定数){
大成功!
}
if(normalprjnum>定数){
大成功!
}
こういう場合って
allooprjnum
okooprjnum
ngooprjnum
allnormalprjnum
ok,ngで1つあたりの成功数の比較が
必要じゃない?
え?どう主張するの?
if(ooprjnum>定数){
大成功!
}
if(normalprjnum>定数){
大成功!
}
こういう場合って
allooprjnum
okooprjnum
ngooprjnum
allnormalprjnum
ok,ngで1つあたりの成功数の比較が
必要じゃない?
820デフォルトの名無しさん
2019/12/29(日) 09:41:51.09ID:dhKBLYWX オブジェクト指向のメリットを語るのに
遥か昔にオワコン化したsmalltalkを持ち出すのは
ギャグなんだろうか
滅びとるやんw
遥か昔にオワコン化したsmalltalkを持ち出すのは
ギャグなんだろうか
滅びとるやんw
821デフォルトの名無しさん
2019/12/29(日) 09:42:40.14ID:zTCF3X0O822デフォルトの名無しさん
2019/12/29(日) 09:52:40.74ID:VWvk7Wxx823デフォルトの名無しさん
2019/12/29(日) 09:55:21.97ID:zTCF3X0O >>822
知らんがな。だから良い比較方法があるなら
数字を出してくれって、こっちが聞いてるんだが
オブジェクト指向じゃなくていいから
具体例として、比較するのに適切な数字を出してくれよ
○○指向なら○○の数値はこれぐらいとかさ
知らんがな。だから良い比較方法があるなら
数字を出してくれって、こっちが聞いてるんだが
オブジェクト指向じゃなくていいから
具体例として、比較するのに適切な数字を出してくれよ
○○指向なら○○の数値はこれぐらいとかさ
824デフォルトの名無しさん
2019/12/29(日) 10:02:44.09ID:VWvk7Wxx >>823
お前は大きな間違いをしている
オブジェクト指向の有効性を示したいなら
オブジェクト指向とそうでないプロジェクトの成功率の比較が必要で
そのデータがない、もしくは他の要素の影響が強くて簡単な比較ができないのであれば
オブジェクト指向の有効性は主張できないという結論でいいんだ
無理矢理比較方法をひねり出す必要など無い
わからないことがわかった状態
これはとても大事なことだ
お前は大きな間違いをしている
オブジェクト指向の有効性を示したいなら
オブジェクト指向とそうでないプロジェクトの成功率の比較が必要で
そのデータがない、もしくは他の要素の影響が強くて簡単な比較ができないのであれば
オブジェクト指向の有効性は主張できないという結論でいいんだ
無理矢理比較方法をひねり出す必要など無い
わからないことがわかった状態
これはとても大事なことだ
825デフォルトの名無しさん
2019/12/29(日) 10:08:39.08ID:PkR84LS6 >>824
>オブジェクト指向の有効性は主張できないという結論でいいんだ
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
>オブジェクト指向の有効性は主張できないという結論でいいんだ
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
826デフォルトの名無しさん
2019/12/29(日) 10:09:20.83ID:VWvk7Wxx チンの始皇帝
827デフォルトの名無しさん
2019/12/29(日) 10:16:21.68ID:zTCF3X0O >>824
> オブジェクト指向の有効性を示したいなら
逆じゃね?
「お前がオブジェクト指向の有効性を否定したいから」
数字を出せと言ってるんでしょ?
じゃあ何の数字を出したら納得するのか?って聞いてるんだけど
採用数の多さから、オブジェクト指向の有効性は明らかなんだから
その数字では納得できないというのなら、納得する数字を言うのがあんたの義務だよ。
そしてあんたもオブジェクト指向じゃなくていいからその数字を出すこと
> オブジェクト指向の有効性を示したいなら
逆じゃね?
「お前がオブジェクト指向の有効性を否定したいから」
数字を出せと言ってるんでしょ?
じゃあ何の数字を出したら納得するのか?って聞いてるんだけど
採用数の多さから、オブジェクト指向の有効性は明らかなんだから
その数字では納得できないというのなら、納得する数字を言うのがあんたの義務だよ。
そしてあんたもオブジェクト指向じゃなくていいからその数字を出すこと
828デフォルトの名無しさん
2019/12/29(日) 10:21:43.57ID:VWvk7Wxx829デフォルトの名無しさん
2019/12/29(日) 10:25:07.53ID:zTCF3X0O >>828
だから採用"数"をもってオブジェクト指向の有用性を語ってるんだが?
それに反対するなら、お前が納得する数字を言えって話なんだが、
お前こそオブジェクト指向よりも優れたものがなにか言ってないじゃんか
そんな物無いよってこと?
だから採用"数"をもってオブジェクト指向の有用性を語ってるんだが?
それに反対するなら、お前が納得する数字を言えって話なんだが、
お前こそオブジェクト指向よりも優れたものがなにか言ってないじゃんか
そんな物無いよってこと?
830デフォルトの名無しさん
2019/12/29(日) 10:27:52.50ID:PkR84LS6831デフォルトの名無しさん
2019/12/29(日) 10:35:34.48ID:VWvk7Wxx >>829
いいや、そんな必要はない
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
いいや、そんな必要はない
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
832デフォルトの名無しさん
2019/12/29(日) 10:37:04.64ID:zTCF3X0O833デフォルトの名無しさん
2019/12/29(日) 10:39:43.57ID:2ZGuf6bc マクドは世界一食べられてるから世界一おいしい理論
834デフォルトの名無しさん
2019/12/29(日) 10:40:59.17ID:VWvk7Wxx835デフォルトの名無しさん
2019/12/29(日) 10:41:37.50ID:zTCF3X0O × マクドは世界一食べられてるから世界一おいしい理論
○ マクドは世界一食べられてるから世界一優れてる理論
美味しいだけが評価の基準じゃないって話だわな
世界一食べられてるのは、それだけの理由がある
○ マクドは世界一食べられてるから世界一優れてる理論
美味しいだけが評価の基準じゃないって話だわな
世界一食べられてるのは、それだけの理由がある
836デフォルトの名無しさん
2019/12/29(日) 10:42:08.52ID:zTCF3X0O837デフォルトの名無しさん
2019/12/29(日) 10:43:29.49ID:VWvk7Wxx >>836
だからそれを主張することはできないよって話
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
だからそれを主張することはできないよって話
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
838デフォルトの名無しさん
2019/12/29(日) 10:45:55.80ID:zTCF3X0O >>837
採用数が多いことでオブジェクト指向の有用性は明らか
採用数が多いことでオブジェクト指向の有用性は明らか
839デフォルトの名無しさん
2019/12/29(日) 10:47:11.78ID:VWvk7Wxx 現状、オブジェクト指向の有効性もその逆も誰にも主張できない
が正解
まあ、オブジェクト指向ってソースコードのどこに処理を書くかってだけだし
毒にも薬にもなってないが正解じゃない?
ボタンをクリックする処理はどこかには書かなければならないし
その場所はどこでもいい
だからといって書かなくて動くわけではないんだよ
が正解
まあ、オブジェクト指向ってソースコードのどこに処理を書くかってだけだし
毒にも薬にもなってないが正解じゃない?
ボタンをクリックする処理はどこかには書かなければならないし
その場所はどこでもいい
だからといって書かなくて動くわけではないんだよ
840デフォルトの名無しさん
2019/12/29(日) 10:47:58.19ID:VWvk7Wxx >>838
デスマの数が多いのはオブジェクト指向だからじゃないの?
デスマの数が多いのはオブジェクト指向だからじゃないの?
841デフォルトの名無しさん
2019/12/29(日) 10:48:34.10ID:zTCF3X0O だが採用数が多いということは、それだけみんなが
オブジェクト指向にメリットが有ると言っているということ
オブジェクト指向にメリットが有ると言っているということ
842デフォルトの名無しさん
2019/12/29(日) 10:48:49.87ID:zTCF3X0O >>840
その証拠を数字で出せ。
その証拠を数字で出せ。
843デフォルトの名無しさん
2019/12/29(日) 10:49:33.54ID:VWvk7Wxx >>842
それは無理だね
だって
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
それは無理だね
だって
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
844デフォルトの名無しさん
2019/12/29(日) 10:50:35.91ID:zTCF3X0O はい、証言を得ました。
デスマの数が多いのはオブジェクト指向であるという証拠を出すのは無理
デスマの数が多いのはオブジェクト指向であるという証拠を出すのは無理
845デフォルトの名無しさん
2019/12/29(日) 10:51:07.37ID:VWvk7Wxx >>844
つまりその逆も無理
つまりその逆も無理
846デフォルトの名無しさん
2019/12/29(日) 10:51:10.31ID:zTCF3X0O オブジェクト指向が多くのプロジェクトで採用されている
これは事実
これは事実
847デフォルトの名無しさん
2019/12/29(日) 10:52:35.56ID:zTCF3X0O マクドは世界一食べられてるから世界一需要にマッチしている理論
これも事実
これも事実
848デフォルトの名無しさん
2019/12/29(日) 10:53:28.57ID:VWvk7Wxx オブジェクト指向が多くのプロジェクトで採用されている
これは事実
その多くのプロジェクトがデスマである
これも事実
これは事実
その多くのプロジェクトがデスマである
これも事実
849デフォルトの名無しさん
2019/12/29(日) 10:54:02.08ID:2ZGuf6bc 数だけで決めるのは危ういと思うけどね
ただ単に流行してるだけかもしれないし
ランダムに選んでいっても他より数が増えるものはあるものだよ
ドイツのヒトラーもドイツの大多数の人たちが選んだけれども
未来永劫語り継がれるような悲惨な事態を引き起こした
大多数が道を間違えることもあるからね
みんなが選んでるからこれは優れてるんだと思うのは大衆迎合的な
バイアスでしかないから集団的知性が成り立たなくなるんよ
幸福度を調べるのがいんじゃないかな
僕たちはオブジェクト指向でこんなに幸せになりました的な
ただ単に流行してるだけかもしれないし
ランダムに選んでいっても他より数が増えるものはあるものだよ
ドイツのヒトラーもドイツの大多数の人たちが選んだけれども
未来永劫語り継がれるような悲惨な事態を引き起こした
大多数が道を間違えることもあるからね
みんなが選んでるからこれは優れてるんだと思うのは大衆迎合的な
バイアスでしかないから集団的知性が成り立たなくなるんよ
幸福度を調べるのがいんじゃないかな
僕たちはオブジェクト指向でこんなに幸せになりました的な
850デフォルトの名無しさん
2019/12/29(日) 10:54:09.80ID:zTCF3X0O851デフォルトの名無しさん
2019/12/29(日) 10:55:27.74ID:VWvk7Wxx852デフォルトの名無しさん
2019/12/29(日) 10:56:54.07ID:zTCF3X0O 残った事実は、マクドナルドとオブジェクト指向の両方が
世界から求められているという事実
世界から求められているという事実
853デフォルトの名無しさん
2019/12/29(日) 10:57:39.06ID:2ZGuf6bc >>852
マクド最後に食べたのいつ?
マクド最後に食べたのいつ?
854デフォルトの名無しさん
2019/12/29(日) 11:03:11.75ID:VWvk7Wxx オブジェクト指向が多くのプロジェクトで採用されている
これは事実
その多くのプロジェクトがデスマである
これも事実
オブジェクト指向がデスマを引き起こしている
これの検証はするべき
これは事実
その多くのプロジェクトがデスマである
これも事実
オブジェクト指向がデスマを引き起こしている
これの検証はするべき
855デフォルトの名無しさん
2019/12/29(日) 11:10:15.48ID:zTCF3X0O856デフォルトの名無しさん
2019/12/29(日) 11:17:22.71ID:2ZGuf6bc >>855
了解です
了解です
857デフォルトの名無しさん
2019/12/29(日) 11:17:46.82ID:2ZGuf6bc 僕の話はこれで終わりです、なにも期待しないでください
858デフォルトの名無しさん
2019/12/29(日) 11:18:53.47ID:VWvk7Wxx (こいつ、モスに行ったんじゃね?)
859デフォルトの名無しさん
2019/12/29(日) 11:21:38.60ID:2ZGuf6bc (フレッシュネスもおいしいよね)
860デフォルトの名無しさん
2019/12/29(日) 11:23:02.23ID:zTCF3X0O マクドは世界一食べられてる〜ってネタは
あれ結論が美味しいになってるのが間違いであって
世界の需要に一番マッチしてるというのなら正しいんだよね。
結局の所マクドは世界一優れたハンバーガーなのは
間違いないので、その正しい結論を言ってしまうと
あの話はすべてが覆ってしまうんだよね
あれ結論が美味しいになってるのが間違いであって
世界の需要に一番マッチしてるというのなら正しいんだよね。
結局の所マクドは世界一優れたハンバーガーなのは
間違いないので、その正しい結論を言ってしまうと
あの話はすべてが覆ってしまうんだよね
861デフォルトの名無しさん
2019/12/29(日) 11:46:28.70ID:u9RizTKl まだ数値厨居たのか。
こいつと話をしても無駄。
こいつと話をしても無駄。
862デフォルトの名無しさん
2019/12/29(日) 13:29:15.66ID:99LmL5HA 需要も価値も意味ない
問題は検索の上位に来るか否か
問題は検索の上位に来るか否か
863デフォルトの名無しさん
2019/12/29(日) 15:31:52.17ID:ADVmDYvb 試しに処理の要旨をコメント化してみた
バイナリーサーチのプログラムをコピーしてコメント追加
短い二分探索のコードだけど徹底的に仕様なり要旨なりを残さないと何をやっているのか見失う
テキトーな英語をgoogle翻訳で推敲(意味が伝わるか不明)
バグはご容赦
C++
// Binary search returns key position or key addition position
// key is found, return position
// not found, returns insertion position
// if found, return is 0..len-1
// if not found, return is -1..-len
// illegal call for array size 0 is return -1
// if position < 0, insert position is (abs (insertpos) -1)
int bsf(int v,int *t,int len){
// ガード、要素数0で呼び出された時の切り分け
if (len < 1) return -1;
int right(len), left(-1), vval(v);// ON register?
while((right - left) > 1){//最小時要素数1、(1 - (-1)) > 1状態になる
int mid = right - (right - left)/2;//要素数1でmid = 0
int cval(t[mid]); // ON register?
if (cval >= vval){
if (cval == vval) return mid;
right = mid;
} else left = mid;
}
return -(right +1);
}
バイナリーサーチのプログラムをコピーしてコメント追加
短い二分探索のコードだけど徹底的に仕様なり要旨なりを残さないと何をやっているのか見失う
テキトーな英語をgoogle翻訳で推敲(意味が伝わるか不明)
バグはご容赦
C++
// Binary search returns key position or key addition position
// key is found, return position
// not found, returns insertion position
// if found, return is 0..len-1
// if not found, return is -1..-len
// illegal call for array size 0 is return -1
// if position < 0, insert position is (abs (insertpos) -1)
int bsf(int v,int *t,int len){
// ガード、要素数0で呼び出された時の切り分け
if (len < 1) return -1;
int right(len), left(-1), vval(v);// ON register?
while((right - left) > 1){//最小時要素数1、(1 - (-1)) > 1状態になる
int mid = right - (right - left)/2;//要素数1でmid = 0
int cval(t[mid]); // ON register?
if (cval >= vval){
if (cval == vval) return mid;
right = mid;
} else left = mid;
}
return -(right +1);
}
864デフォルトの名無しさん
2019/12/29(日) 15:45:47.99ID:v8cZXQkF オブジェクト指向を採用して完遂したプロジェクト数
オブジェクト指向を採用して完遂しなかったプロジェクト数
オブジェクト指向を採用せずに完遂したプロジェクト数
オブジェクト指向を採用せずに完遂しなかったプロジェクト数
を比較すれば明瞭かもしれない。オブジェクト指向を採用する側に
有能な人が集まりやすいという難点があるが
オブジェクト指向を採用して完遂しなかったプロジェクト数
オブジェクト指向を採用せずに完遂したプロジェクト数
オブジェクト指向を採用せずに完遂しなかったプロジェクト数
を比較すれば明瞭かもしれない。オブジェクト指向を採用する側に
有能な人が集まりやすいという難点があるが
865デフォルトの名無しさん
2019/12/29(日) 16:47:03.54ID:APDoEuaT >>864
> オブジェクト指向を採用して完遂したプロジェクト数
5件
> オブジェクト指向を採用して完遂しなかったプロジェクト数
1件
> オブジェクト指向を採用せずに完遂したプロジェクト数
0件
> オブジェクト指向を採用せずに完遂しなかったプロジェクト数
0件
職場でオブジェクト指向に頼らない案件がない。
学生時代、Win32APIとDXライブラリで非オブジェクト指向なプログラムを何度も書いてたけど...開発歴が300時間越える頃には非OOPに限界を感じたよ。
SONYや任天堂のゲームって何であんな品質を保てるんだろうって考えた結果、オブジェクト指向にたどり着いたよ。
> オブジェクト指向を採用して完遂したプロジェクト数
5件
> オブジェクト指向を採用して完遂しなかったプロジェクト数
1件
> オブジェクト指向を採用せずに完遂したプロジェクト数
0件
> オブジェクト指向を採用せずに完遂しなかったプロジェクト数
0件
職場でオブジェクト指向に頼らない案件がない。
学生時代、Win32APIとDXライブラリで非オブジェクト指向なプログラムを何度も書いてたけど...開発歴が300時間越える頃には非OOPに限界を感じたよ。
SONYや任天堂のゲームって何であんな品質を保てるんだろうって考えた結果、オブジェクト指向にたどり着いたよ。
866デフォルトの名無しさん
2019/12/29(日) 17:26:13.25ID:luttIcbV オブジェクト指向は俺の股間に付いているのであって、オブジェクト指向プログラミングはどうでもいい!
867デフォルトの名無しさん
2019/12/29(日) 18:02:23.82ID:2ZGuf6bc868デフォルトの名無しさん
2019/12/29(日) 18:52:52.68ID:v8cZXQkF ところでwebアプリはそもそもオブジェクト指向で書けないよね
869デフォルトの名無しさん
2019/12/29(日) 19:23:08.64ID:skc+JLvp >>863はどのレスに対するレスなん?
870デフォルトの名無しさん
2019/12/29(日) 19:44:17.60ID:zTCF3X0O871デフォルトの名無しさん
2019/12/29(日) 19:45:19.10ID:Jtzyjysr C++20でコンセプトが入るところ見ると、インターフェースによって持つ特性を表明するという考え方はそんなに間違ってなかったんじゃないかな。
インターフェースはちょっと厳しすぎたのかもしれない。
インターフェースはちょっと厳しすぎたのかもしれない。
872デフォルトの名無しさん
2019/12/29(日) 19:51:13.20ID:Jtzyjysr 操作主体が音を出せと命令する場合、命令されたオブジェクトがラジオであっても猫であっても、音を出すはず。
猫とラジオは継承関係にないはずだけど、それでも音は出せるので、どちらにも音を出せと命令できるはず。
猫とラジオは継承関係にないはずだけど、それでも音は出せるので、どちらにも音を出せと命令できるはず。
873デフォルトの名無しさん
2019/12/29(日) 20:16:13.92ID:ADVmDYvb >>869
オブジェクトの実装に要件定義が必要になると考えます
練習として二分探索のコードの仕様を記述してみました
本来、コメントの次はクラスの定義になります
要件定義ー命名ーリファクタリングこれの繰り返しが
オブジェクト指向にも必要だと思います
オブジェクトの実装に要件定義が必要になると考えます
練習として二分探索のコードの仕様を記述してみました
本来、コメントの次はクラスの定義になります
要件定義ー命名ーリファクタリングこれの繰り返しが
オブジェクト指向にも必要だと思います
874デフォルトの名無しさん
2019/12/29(日) 20:43:34.43ID:skc+JLvp つまり、どのレスに対するレスでも無い?
875デフォルトの名無しさん
2019/12/29(日) 20:45:42.17ID:2ZGuf6bc 難解やな
876デフォルトの名無しさん
2019/12/29(日) 23:25:51.89ID:XnQ2dClW >>870
教科書で教えてるような、is-a 関係などを用いたオブジェクト指向で「直接」書いていない
教科書で教えてるような、is-a 関係などを用いたオブジェクト指向で「直接」書いていない
877デフォルトの名無しさん
2019/12/30(月) 00:34:47.79ID:N6gZCBo5 ポテトチップスやカップラーメンは売れているが体に良いわけではない
売れていること使用されていることが必ずしも良い結果に結び付くとは限らない
売れていること使用されていることが必ずしも良い結果に結び付くとは限らない
878デフォルトの名無しさん
2019/12/30(月) 01:07:14.20ID:LhIy/9Y8879デフォルトの名無しさん
2019/12/30(月) 01:08:16.44ID:LhIy/9Y8880デフォルトの名無しさん
2019/12/30(月) 01:46:36.33ID:AO5TGWYI >>879
数が多い→正しいではない可能性があるということ
もちろん
数が多い→正しい
が正であることもある
つまり
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
数が多い→正しいではない可能性があるということ
もちろん
数が多い→正しい
が正であることもある
つまり
「オブジェクト指向の有効性はわからない」
「オブジェクト指向の有効性またその逆を主張するためにはオブジェクト指向のプロジェクトとそうでないプロジェクトの成功数と失敗数が必要でかつその条件の正当性を検証することは困難を極める」
が現在の結論
それ以上でもそれ以下でもない
これを理解することで
それ以外の主張をする人間は全て詐欺師だと言い切れる
881デフォルトの名無しさん
2019/12/30(月) 01:51:51.24ID:LhIy/9Y8 >>880
お前のせいでオブジェクト指向はクソと言えなくなった
お前のせいでオブジェクト指向はクソと言えなくなった
882デフォルトの名無しさん
2019/12/30(月) 02:26:03.65ID:9SID2b3Z まあ落ち着きな。オブジェクト指向の採用例が沢山ある、というのは「このスレでは」明らかに証拠として挙げられないよ
Java/Rubyを使っているからオブジェクト指向!という論理が成り立たないからね
これはOO肯定派から出てきた理屈だし、否定派もそれは認めている
あと、建設的になりたいなら、もう一度「OOとは何か?」を棚卸ししてみたほうが良い
昔は盛んに吹聴されていたOOのメリットの多くは、OO以外の方法でやることが増えている
継承はアンチパターンになっているし、多相性はむしろ関数型の方が得意だったりするから余計に
Java/Rubyを使っているからオブジェクト指向!という論理が成り立たないからね
これはOO肯定派から出てきた理屈だし、否定派もそれは認めている
あと、建設的になりたいなら、もう一度「OOとは何か?」を棚卸ししてみたほうが良い
昔は盛んに吹聴されていたOOのメリットの多くは、OO以外の方法でやることが増えている
継承はアンチパターンになっているし、多相性はむしろ関数型の方が得意だったりするから余計に
883デフォルトの名無しさん
2019/12/30(月) 03:08:30.50ID:zGgGf8ov オブジェクト指向の継承など特徴的な性質を考えると評価が分かれる
Cの構造体をクラスにまとめて名前の重複等を回避する
パッケージ補助機能と捉えると悪くないと思う
Cの構造体をクラスにまとめて名前の重複等を回避する
パッケージ補助機能と捉えると悪くないと思う
884デフォルトの名無しさん
2019/12/30(月) 03:59:26.48ID:LhIy/9Y8885デフォルトの名無しさん
2019/12/30(月) 08:34:31.56ID:OhoL7ro8 たくさん採用されているからだ
886デフォルトの名無しさん
2019/12/30(月) 09:27:05.14ID:dEVU/G9P なぜたくさん採用されているのかを聞いておるのだ
887デフォルトの名無しさん
2019/12/30(月) 12:44:42.94ID:QHPQM7tO 難しい問題はどんな方法論を使って書いても難しいままだし
能力のない人にはどんな優秀な方法論を与えてもぐちゃぐちゃにする
この二点だけは間違えないな
能力のない人にはどんな優秀な方法論を与えてもぐちゃぐちゃにする
この二点だけは間違えないな
888デフォルトの名無しさん
2019/12/30(月) 13:24:27.37ID:wq5pXYrb889デフォルトの名無しさん
2019/12/30(月) 15:06:49.40ID:kxZAGmZ8890デフォルトの名無しさん
2019/12/30(月) 15:40:49.90ID:ULrUlSay パッケージツール化というのは、他人がしょんべんをしていても自分はしないということ。
チンポはチンポでも、他人のチンポと自分のチンポは違うからだ。
チンポはチンポでも、他人のチンポと自分のチンポは違うからだ。
891デフォルトの名無しさん
2019/12/30(月) 15:43:41.10ID:ULrUlSay チンポは俺というパッケージの中の、名前空間に属する固有のオブジェクトなのだ。
892デフォルトの名無しさん
2019/12/30(月) 15:54:34.26ID:ULrUlSay チンポは俺自身でありかつ俺の肉片であり、かつ独立した生き物である!
893デフォルトの名無しさん
2019/12/30(月) 16:01:14.78ID:fFRqMrLq894デフォルトの名無しさん
2019/12/30(月) 16:08:04.78ID:fFRqMrLq >>886
JavaやC#といったオブジェクト指向型の言語のシェアが高くて
書ける人が多いから人を集めやすかったり
作られたものが多かったりするんじゃないかろうかと
ではなぜJavaが高いシェアを得るに至ったかというと
それ以前に覇権を握っていたC言語と文法が似てたからじゃないかなと
あと理解しやすかったとか少なくともC言語から関数型言語に移行するよりはハードルが低かった
しかもオブジェクト指向はなんか良いものらしいぞという
風潮が当時あって受け入れやすさがあったのだろうと思う
JavaやC#といったオブジェクト指向型の言語のシェアが高くて
書ける人が多いから人を集めやすかったり
作られたものが多かったりするんじゃないかろうかと
ではなぜJavaが高いシェアを得るに至ったかというと
それ以前に覇権を握っていたC言語と文法が似てたからじゃないかなと
あと理解しやすかったとか少なくともC言語から関数型言語に移行するよりはハードルが低かった
しかもオブジェクト指向はなんか良いものらしいぞという
風潮が当時あって受け入れやすさがあったのだろうと思う
895デフォルトの名無しさん
2019/12/30(月) 18:04:51.08ID:40sR847p >>894
マイクロソフト製品以外では、Javaくらいしか代替製品がなかった時代があったんだよ。
マイクロソフト製品以外では、Javaくらいしか代替製品がなかった時代があったんだよ。
896デフォルトの名無しさん
2019/12/30(月) 21:24:15.27ID:wq5pXYrb897デフォルトの名無しさん
2019/12/30(月) 21:57:28.40ID:XjiFHqdD いわゆる業界標準(デファクトスタンダード)だな
え、死語?
え、死語?
898デフォルトの名無しさん
2019/12/30(月) 22:03:51.44ID:hlIL3yka >>896
だから引きづられて使うことになってるだけってことだ
だから引きづられて使うことになってるだけってことだ
899デフォルトの名無しさん
2019/12/30(月) 22:24:40.56ID:uzhGO+Dy 偉い人が採用したオブジェクト指向に
引きづられってこと?
結局採用するんだ。オブジェクト指向を
引きづられってこと?
結局採用するんだ。オブジェクト指向を
900デフォルトの名無しさん
2019/12/30(月) 22:27:34.14ID:zIIaeCaW901デフォルトの名無しさん
2019/12/30(月) 22:47:43.62ID:waAjnYXT >>900
「オブジェクト指向」を何に置き換えても通じるなw
「オブジェクト指向」を何に置き換えても通じるなw
902デフォルトの名無しさん
2019/12/30(月) 23:13:11.96ID:fFRqMrLq 悪魔の証明ではないけれども
オブジェクト指向がダメな理由を指摘できる人は
オブジェクト指向を使いこなしてる人に限られるんじゃないかな
限界を知らないと否定することは難しい
ろくにコード書かないで本だけ読んでわかった気になって
オレオレオブジェクト指向で無駄に複雑なコードを書く人が
出てくるのはどうにかならんもんかなと思う
まあかくいう僕もその道をしっかり歩んで来たわけですが
オブジェクト指向がダメな理由を指摘できる人は
オブジェクト指向を使いこなしてる人に限られるんじゃないかな
限界を知らないと否定することは難しい
ろくにコード書かないで本だけ読んでわかった気になって
オレオレオブジェクト指向で無駄に複雑なコードを書く人が
出てくるのはどうにかならんもんかなと思う
まあかくいう僕もその道をしっかり歩んで来たわけですが
903デフォルトの名無しさん
2019/12/30(月) 23:22:02.92ID:uzhGO+Dy904デフォルトの名無しさん
2019/12/31(火) 01:44:39.23ID:II4RvmaH >>903
頭がおかしいのか?
頭がおかしいのか?
905デフォルトの名無しさん
2019/12/31(火) 03:41:57.44ID:A86Rtjpl 有名なソフトをいくつか言えばいいのに
こういうレスしか返せないわけだ
こういうレスしか返せないわけだ
906デフォルトの名無しさん
2019/12/31(火) 04:25:17.43ID:II4RvmaH >>905
Windows APIはオブジェクト指向ではない。
Windows APIはオブジェクト指向ではない。
907デフォルトの名無しさん
2019/12/31(火) 04:44:14.07ID:A86Rtjpl908デフォルトの名無しさん
2019/12/31(火) 07:13:03.09ID:0N6ZsyYE Win32はC言語でオブジェクト指向を実践する良い例だね
909デフォルトの名無しさん
2019/12/31(火) 07:46:10.44ID:sY8LeJLU910デフォルトの名無しさん
2019/12/31(火) 08:11:05.62ID:A86Rtjpl CreateWindowとか見るとオブジェクト指向やなってわかる
第一引数が、ClassNameだったりするし、引数にhInstanceってあるし
オブジェクト指向を踏まえてるとしか思えない
第一引数が、ClassNameだったりするし、引数にhInstanceってあるし
オブジェクト指向を踏まえてるとしか思えない
911デフォルトの名無しさん
2019/12/31(火) 08:12:33.56ID:sY8LeJLU >>910
それ個人の感想ですよね?
それ個人の感想ですよね?
912デフォルトの名無しさん
2019/12/31(火) 08:20:35.82ID:A86Rtjpl ClassNameもhInstanceも事実だけど?
913デフォルトの名無しさん
2019/12/31(火) 08:34:55.41ID:SaQXAZ0t とりま「オブジェクト指向」の定義…というか
暗黙のうちに前提にされがちな歴史的経緯を共有しとかないと
お互いに欠けてる部分の揚げ足取りの応酬に終始して議論なんか無理
たとえば定番の↓に書かれてることなんかは全て常識…ってくらいじゃなきゃダメだろう
https://qr.ae/TWsn7X
暗黙のうちに前提にされがちな歴史的経緯を共有しとかないと
お互いに欠けてる部分の揚げ足取りの応酬に終始して議論なんか無理
たとえば定番の↓に書かれてることなんかは全て常識…ってくらいじゃなきゃダメだろう
https://qr.ae/TWsn7X
914デフォルトの名無しさん
2019/12/31(火) 08:42:47.82ID:II4RvmaH Windows SDKでの開発はオブジェクト指向というわけではない。
915デフォルトの名無しさん
2019/12/31(火) 08:51:05.36ID:sY8LeJLU win32がオブジェクト指向とか言われちゃうとね
916デフォルトの名無しさん
2019/12/31(火) 08:58:45.29ID:pGtU2IyD オブジェクト指向って、文字通り「指向」なのだから、
指向しているかしていないかなんて正確に判定できんだろ
人によって違う
例えばfopenはオブジェクト指向と言う人もいれば言わない人もいる
そこに正解はないよ
指向しているかしていないかなんて正確に判定できんだろ
人によって違う
例えばfopenはオブジェクト指向と言う人もいれば言わない人もいる
そこに正解はないよ
917デフォルトの名無しさん
2019/12/31(火) 12:38:24.30ID:ZumonSRm 雑多な実装を雑多なまま扱わないでオブジェクトに落とし込んで扱うって事やろ?
雑多なまま扱った方が速くて解りやすければそうすればいい
それだけの話じゃないのか
雑多なまま扱った方が速くて解りやすければそうすればいい
それだけの話じゃないのか
918デフォルトの名無しさん
2019/12/31(火) 13:52:59.26ID:Ja8RsyWS Boochの定義が広く一般に使われてるオブジェクト指向の定義
「OBJECT-ORIENTED ANALYSIS AND DESIGN」
Object-oriented programming is a method of implementation in which programs are organized
as cooperative collections of objects, each of which represents an instance of some class,
and whose classes are all members of a hierarchy of classes united via inheritance relationships.
「OBJECT-ORIENTED ANALYSIS AND DESIGN」
Object-oriented programming is a method of implementation in which programs are organized
as cooperative collections of objects, each of which represents an instance of some class,
and whose classes are all members of a hierarchy of classes united via inheritance relationships.
>>906
仕方がないですよ、あれは C からコールすることを前提に作られているのだから…
仕方がないですよ、あれは C からコールすることを前提に作られているのだから…
920デフォルトの名無しさん
2019/12/31(火) 14:06:30.54ID:yv9yhyfZ >>911
ピロシキにあこがれてるん?
ピロシキにあこがれてるん?
921デフォルトの名無しさん
2019/12/31(火) 14:08:55.33ID:yv9yhyfZ >>918
英語過ぎるぞ
英語過ぎるぞ
922デフォルトの名無しさん
2019/12/31(火) 14:54:00.63ID:RX6ZYKJe >>918
プーチは後にSmalltalkを経験してメッセージング寄りに宗旨替えしている
プーチは後にSmalltalkを経験してメッセージング寄りに宗旨替えしている
923デフォルトの名無しさん
2019/12/31(火) 15:30:10.73ID:Ja8RsyWS いい悪いは別にしてカプセル化、継承、ポリモーフィズムの3原則が広まったのもBoochの本によるもの
Boochの定義は「継承を使わずADTを使うだけではオブジェクト指向とは言わない」と明記してるところに価値がある
あとは英語版のWikipediaの定義は平易でいいと思う
(また英語で悪いが日本語版の記述は駄目なので)
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects",
which can contain data, in the form of fields (often known as attributes or properties),
and code, in the form of procedures (often known as methods).
A feature of objects is an object's procedures that can access and often modify the data fields of the object
with which they are associated (objects have a notion of "this" or "self").
In OOP, computer programs are designed by making them out of objects that interact with one another.
Boochの定義は「継承を使わずADTを使うだけではオブジェクト指向とは言わない」と明記してるところに価値がある
あとは英語版のWikipediaの定義は平易でいいと思う
(また英語で悪いが日本語版の記述は駄目なので)
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects",
which can contain data, in the form of fields (often known as attributes or properties),
and code, in the form of procedures (often known as methods).
A feature of objects is an object's procedures that can access and often modify the data fields of the object
with which they are associated (objects have a notion of "this" or "self").
In OOP, computer programs are designed by making them out of objects that interact with one another.
>>923
継承は要らない子といわれて久しいと思うのですが…継承、要らないんじゃないですか?
継承は要らない子といわれて久しいと思うのですが…継承、要らないんじゃないですか?
925デフォルトの名無しさん
2019/12/31(火) 15:39:58.31ID:sY8LeJLU つーか、そいつ正しいの?
926デフォルトの名無しさん
2019/12/31(火) 15:44:24.56ID:yv9yhyfZ 英語に逃げるな
927デフォルトの名無しさん
2019/12/31(火) 15:55:19.87ID:RX6ZYKJe928デフォルトの名無しさん
2019/12/31(火) 16:02:44.29ID:yv9yhyfZ929デフォルトの名無しさん
2019/12/31(火) 16:03:32.10ID:sY8LeJLU 英語ばっかりだし
アメ公バカだから他人の商売邪魔しないじゃん(それが例え詐欺でも)
イスラム圏の方の意見とかも聞きたい
アメ公バカだから他人の商売邪魔しないじゃん(それが例え詐欺でも)
イスラム圏の方の意見とかも聞きたい
930デフォルトの名無しさん
2019/12/31(火) 16:06:52.51ID:M+c7v3Ij インターフェースに頼りきりだから無理だわ
931デフォルトの名無しさん
2019/12/31(火) 16:12:23.12ID:yv9yhyfZ >>925
オブジェクト指向プログラミングは、「オブジェクト」の概念に基づいたプログラミングパラダイムです。
オブジェクトにはデータを含めることができます。
オブジェクトにはコードを含めることができます。
オブジェクトの特徴は、オブジェクトのデータにアクセスするコードです。
OOPでは、プログラムは相互に作用するオブジェクトで設計されます。
言ってることはまとも
オブジェクト指向プログラミングは、「オブジェクト」の概念に基づいたプログラミングパラダイムです。
オブジェクトにはデータを含めることができます。
オブジェクトにはコードを含めることができます。
オブジェクトの特徴は、オブジェクトのデータにアクセスするコードです。
OOPでは、プログラムは相互に作用するオブジェクトで設計されます。
言ってることはまとも
932デフォルトの名無しさん
2019/12/31(火) 16:16:11.09ID:yv9yhyfZ 貧血ドメインがーとかクラス名は名詞がーとか
オブジェクトに知性をもたせるんだーとか俺のちんぽがーとか
そういう設計論が入り乱れてオブジェクト指向が闇鍋みたいになってる
オブジェクト指向自体はシンプルなんだよね
オブジェクトに知性をもたせるんだーとか俺のちんぽがーとか
そういう設計論が入り乱れてオブジェクト指向が闇鍋みたいになってる
オブジェクト指向自体はシンプルなんだよね
933デフォルトの名無しさん
2019/12/31(火) 17:00:17.32ID:9+YIWQbo >>928
>むしろリスコフの置換原則がいらんのですよ
驚きました、継承にするか移譲にするかの重要な判断基準そのものを否定するとは、私には暴挙にみえますね
>継承といっても
>・型の継承
haskell の型クラスを思い浮かべましたが、これにはリスコフが厳密に当てはまりますね、というかリスコフが当てはまらない型クラスなんて使えない…
>・実装の継承
最近、簡単なお題で、移譲と実装継承の両方をやって比較してみましたが、継承による実装の継承では、基底クラスへのキャストという無様な記述が排除できないことがわかりました
これは継承より移譲の方が紛れが少ない、やっぱり継承は要らない子なのではないでしょうか?
https://mevius.5ch.net/test/read.cgi/tech/1573094136/943,960 https://ideone.com/y3ROXS
https://ideone.com/CeQlSq
>・状態の継承
これはコードで記述するとなればどのようになりますか?
>むしろリスコフの置換原則がいらんのですよ
驚きました、継承にするか移譲にするかの重要な判断基準そのものを否定するとは、私には暴挙にみえますね
>継承といっても
>・型の継承
haskell の型クラスを思い浮かべましたが、これにはリスコフが厳密に当てはまりますね、というかリスコフが当てはまらない型クラスなんて使えない…
>・実装の継承
最近、簡単なお題で、移譲と実装継承の両方をやって比較してみましたが、継承による実装の継承では、基底クラスへのキャストという無様な記述が排除できないことがわかりました
これは継承より移譲の方が紛れが少ない、やっぱり継承は要らない子なのではないでしょうか?
https://mevius.5ch.net/test/read.cgi/tech/1573094136/943,960 https://ideone.com/y3ROXS
https://ideone.com/CeQlSq
>・状態の継承
これはコードで記述するとなればどのようになりますか?
935デフォルトの名無しさん
2019/12/31(火) 18:04:49.54ID:hySeZCft936デフォルトの名無しさん
2019/12/31(火) 18:30:21.61ID:M+c7v3Ij 否定する理由にオブジェクト指向でも避けられている
実装の継承、状態の継承をあげて叩きまくる記事を見ると
使いこなしているのかなと何とも言えない気持ちになる
実装の継承、状態の継承をあげて叩きまくる記事を見ると
使いこなしているのかなと何とも言えない気持ちになる
937デフォルトの名無しさん
2019/12/31(火) 19:53:48.92ID:yv9yhyfZ >>934
君は継承は要らないって立場なのだから継承か移譲かの判断をリスコフの置換原則で行っているとするならば
継承が要らないものならばその判断基準であるリスコフの置換原則も要らなくなると思うのだけれども
Javaで話をするけど
型の継承はインターフェースの実装が例
AbstractListがListインターフェースを実装してるような
実装の継承はArrayListがAbstractListを継承してるのが例
indexOfなどのコードを引き継いでる
状態の継承はHashMapがAbstractMapを継承してるのが例
keySetやvaluesといったデータを引き継いでる
継承の目的は型の継承を使うことでそれを使用するオブジェクトに
影響を与えないようにすることと、実装の継承を使って差分プログラミングで
コードを共通化して管理しやすくすることの2つに大別されると思ってて
リスコフの置換原則は型の継承では必要だろうけど差分プログラミングでは
必要ないと思うんだよね
君は継承は要らないって立場なのだから継承か移譲かの判断をリスコフの置換原則で行っているとするならば
継承が要らないものならばその判断基準であるリスコフの置換原則も要らなくなると思うのだけれども
Javaで話をするけど
型の継承はインターフェースの実装が例
AbstractListがListインターフェースを実装してるような
実装の継承はArrayListがAbstractListを継承してるのが例
indexOfなどのコードを引き継いでる
状態の継承はHashMapがAbstractMapを継承してるのが例
keySetやvaluesといったデータを引き継いでる
継承の目的は型の継承を使うことでそれを使用するオブジェクトに
影響を与えないようにすることと、実装の継承を使って差分プログラミングで
コードを共通化して管理しやすくすることの2つに大別されると思ってて
リスコフの置換原則は型の継承では必要だろうけど差分プログラミングでは
必要ないと思うんだよね
938デフォルトの名無しさん
2019/12/31(火) 20:08:29.66ID:yv9yhyfZ 僕はBtoBのWebアプリをいくつか作った経験がある
開発の規模は20人程度
プロプラなフレームワークを使って誰が担当してもある程度の
品質は担保されるようにはなってはいるのだけれども
プロジェクト固有のデータや共通の処理があって
そのために抽象クラスを作って各担当者に継承してもらうってことやった
修正があってもコードは集約されてるから修正しやすかった
リスコフの置換原則は意識してなくても継承が役に立つことは
あるんであまり原則とか気にするものじゃないと思った
状況に応じて良い悪いは変わってくるので
継承は良いものだ悪いものだって考え方ではなくて
どういう目的で継承を使うかってことを考える方が大事だと思う
開発の規模は20人程度
プロプラなフレームワークを使って誰が担当してもある程度の
品質は担保されるようにはなってはいるのだけれども
プロジェクト固有のデータや共通の処理があって
そのために抽象クラスを作って各担当者に継承してもらうってことやった
修正があってもコードは集約されてるから修正しやすかった
リスコフの置換原則は意識してなくても継承が役に立つことは
あるんであまり原則とか気にするものじゃないと思った
状況に応じて良い悪いは変わってくるので
継承は良いものだ悪いものだって考え方ではなくて
どういう目的で継承を使うかってことを考える方が大事だと思う
939デフォルトの名無しさん
2019/12/31(火) 20:30:32.83ID:CtOcqjds940デフォルトの名無しさん
2019/12/31(火) 20:43:38.69ID:kgxxaEgP >>928
チンポは随意筋であり不随意筋であり、これはオブジェクトの多重継承だ。
チンポは随意筋であり不随意筋であり、これはオブジェクトの多重継承だ。
941デフォルトの名無しさん
2019/12/31(火) 20:55:26.15ID:sY8LeJLU 今年もオブジェクト指向にメリットなし
942デフォルトの名無しさん
2019/12/31(火) 21:06:20.88ID:kgxxaEgP >>941
オブジェクト指向は俺の股間に付いている!
オブジェクト指向は俺の股間に付いている!
943デフォルトの名無しさん
2019/12/31(火) 21:15:48.34ID:sY8LeJLU >>942
メリットなし!
メリットなし!
944デフォルトの名無しさん
2019/12/31(火) 22:56:41.31ID:yv9yhyfZ >>934
素数のプログラム例について
Javaだとsuperというキーワードが使えますよ
https://paiza.io/projects/_vWOZhOW1Qsbn1-DTxVqfQ
この例だと僕も委譲を使いたいです
委譲なら間違って状態を破壊する恐れがありませんから
多態性が必要ならSieveのインターフェースを切ればいいだけですからね
素数のプログラム例について
Javaだとsuperというキーワードが使えますよ
https://paiza.io/projects/_vWOZhOW1Qsbn1-DTxVqfQ
この例だと僕も委譲を使いたいです
委譲なら間違って状態を破壊する恐れがありませんから
多態性が必要ならSieveのインターフェースを切ればいいだけですからね
945デフォルトの名無しさん
2019/12/31(火) 22:57:06.02ID:kgxxaEgP >>943
繋がっているけれども独立している、これがオブジェクト指向。
繋がっているけれども独立している、これがオブジェクト指向。
>>944
ありがとうございます。java コードをみました!C++ の知識だけでも十分に理解できます
C++ にはない super は便利ですね、ただ super は一行目/最初にしか書けないのは残念なところです
static class SieveExt extends Sieve {
private static int size(int n) {
for (var i = n; i > 0; i--) {
var r = index(i);
if (r != 0) {
return r;
略
これは、もとの C++ 関連スレへの質問と関連があります。
このプライベートメソッドは、私はメソッドとして書きたくない、という意向があり、C++11 では私はメソッドを立てずラムダ式で書いておきました
なぜならば、この部分は一箇所(SieveExtコンストラクタ)からしかコールされないから、その一箇所にまとめて書くべきだと思っているのです
ありがとうございます。java コードをみました!C++ の知識だけでも十分に理解できます
C++ にはない super は便利ですね、ただ super は一行目/最初にしか書けないのは残念なところです
static class SieveExt extends Sieve {
private static int size(int n) {
for (var i = n; i > 0; i--) {
var r = index(i);
if (r != 0) {
return r;
略
これは、もとの C++ 関連スレへの質問と関連があります。
このプライベートメソッドは、私はメソッドとして書きたくない、という意向があり、C++11 では私はメソッドを立てずラムダ式で書いておきました
なぜならば、この部分は一箇所(SieveExtコンストラクタ)からしかコールされないから、その一箇所にまとめて書くべきだと思っているのです
947デフォルトの名無しさん
2019/12/31(火) 23:24:51.13ID:yv9yhyfZ948デフォルトの名無しさん
2020/01/01(水) 00:39:30.70ID:rBYnZ9im チンポは俺の体のコンポーネントであり、かつ独立している!
949デフォルトの名無しさん
2020/01/01(水) 01:10:14.33ID:rBYnZ9im カプセル化というのはオブジェクトの独立性であり、チンポが勃起してシコシコするのは本人の意思ではない!
950デフォルトの名無しさん
2020/01/01(水) 09:57:23.98ID:8N8gBJv/ お前らのちんこはカプセル被ってんだろ
951デフォルトの名無しさん
2020/01/01(水) 11:53:40.74ID:0sRfQiD4 皮をかぶってるよ
952デフォルトの名無しさん
2020/01/01(水) 12:53:08.08ID:jjn6CnVO953デフォルトの名無しさん
2020/01/01(水) 13:34:16.06ID:rBYnZ9im >>952
システム開発経験なぞ無くても、オブジェクト指向は俺の股間に付いているんだよ!
システム開発経験なぞ無くても、オブジェクト指向は俺の股間に付いているんだよ!
954デフォルトの名無しさん
2020/01/01(水) 13:36:29.61ID:J+09Ut26 >>950
パンツ穿いてるが?
パンツ穿いてるが?
955デフォルトの名無しさん
2020/01/01(水) 13:47:39.18ID:fvR1GV/z 荒らしってアク禁にできんの?
956デフォルトの名無しさん
2020/01/01(水) 15:36:02.34ID:ADodxX72957デフォルトの名無しさん
2020/01/01(水) 16:39:09.51ID:AV+0j7FA なんでも動的にやることが偉いと思う馬鹿が増えただけ。
958デフォルトの名無しさん
2020/01/01(水) 17:33:53.41ID:rBYnZ9im >>957
オシッコは本体と繋がっている静的メソッド、勃起は独立した自己完結型の動的メソッド。
オシッコは本体と繋がっている静的メソッド、勃起は独立した自己完結型の動的メソッド。
959デフォルトの名無しさん
2020/01/01(水) 17:44:06.55ID:rBYnZ9im 膀胱の中にオシッコが溜まって尿意がする、それはグローバル変数である。
960デフォルトの名無しさん
2020/01/01(水) 17:52:37.07ID:rBYnZ9im オブジェクト指向の無いシステム開発は、勃起しないチンポと同じだ!
961デフォルトの名無しさん
2020/01/02(木) 01:29:21.34ID:ZgXvL7GY 今年もオブジェクト指向にメリットなし
962デフォルトの名無しさん
2020/01/03(金) 20:56:18.57ID:83I730Po <オブジェクト指向>
宇宙間に存在する千万無量の物体がけっして各個別々に独立自存するものではなくて、
たがいに相依り相待ってひとつの組織体をなしていることを表示するものである。
宇宙間に存在する千万無量の物体がけっして各個別々に独立自存するものではなくて、
たがいに相依り相待ってひとつの組織体をなしていることを表示するものである。
963デフォルトの名無しさん
2020/01/03(金) 22:07:40.74ID:83I730Po チンポは自らの意思で勃起するが、勃起することをそのまま関数オブジェクトとして扱うこともできる。
964デフォルトの名無しさん
2020/01/05(日) 13:20:42.78ID:gMznNrOe 「チンポがシコシコする」とは、釈尊によって見出された普遍の道理なのである!
965デフォルトの名無しさん
2020/01/05(日) 16:16:44.64ID:97/gcjOR 半年前位からPythonをネットで勉強し始めたんだけど(PG未経験)
最初は手続き型でコード書いて、途中からオブジェクト指向もやってみましょう 的な流れ
今迄は 短く簡潔に を意識してきたつもりなのに・・・何でこうなるん?抵抗がある
少し間を間置いてやって、再度やってみたけどイマイチ理解しづらい
途中から切り替えるんじゃなく、最初からオブジェクト指向で習い始めれば良いんじゃネ
最初は手続き型でコード書いて、途中からオブジェクト指向もやってみましょう 的な流れ
今迄は 短く簡潔に を意識してきたつもりなのに・・・何でこうなるん?抵抗がある
少し間を間置いてやって、再度やってみたけどイマイチ理解しづらい
途中から切り替えるんじゃなく、最初からオブジェクト指向で習い始めれば良いんじゃネ
966デフォルトの名無しさん
2020/01/05(日) 16:40:02.96ID:c9ynaIM0 PythonやRubyのライブラリは強力だからね
オブジェクト指向じゃなくても大体のことはシンプルに解決可能
オブジェクト指向じゃなくても大体のことはシンプルに解決可能
967デフォルトの名無しさん
2020/01/05(日) 16:52:17.38ID:MBjOiaqb >>965
プログラミングのスタイルっていうのはいくつもあるんだよ
場合によって違うし、どれでも使える場合もあるし、どれかが最適な場合もある
必ずしもオブジェクト指向が適切なわけではない。ただしオブジェクト指向が適切な場合が多い
だから複数のスタイルを学ぶことには意味がある。
なんで最初手続き型からやってオブジェクト指向なのかというと
オブジェクト指向の方が覚えることが多いから。いろんな機能が増え
歴史的にもオブジェクト指向の方があとで登場した
30年ぐらい前はほぼ手続き型といっていいし、そこから新しく登場した
オブジェクト指向を導入するという流れで、オブジェクト指向を後で勉強するという流れを
今までの人はずっとやってきた。それを受け継いでいるから、
みんな手続き型をやってオブジェクト指向をやるのが当たり前になってる。
オブジェクト指向でも短く簡潔に書くとういことは変わらない。
君はまだコードの行数でしか簡潔かどうかを判断できないのだろう
短く簡潔に書くべきものは動く処理。テストする対象。オブジェクト指向で増えてるのは
処理ではなく定義。関数定義やクラス定義など。これらは動かない。
そういう定義があることで人間が理解しやくなり大きく複雑な構造を持ったシステムが作れる。
だからオブジェクト指向で短く簡潔だったものが複雑になったわけではない。
新たに構造を表す概念が増えた。概念が増えるというこは勉強するものも増えるので
オブジェクト指向の学習があとになるのは必然
プログラミングのスタイルっていうのはいくつもあるんだよ
場合によって違うし、どれでも使える場合もあるし、どれかが最適な場合もある
必ずしもオブジェクト指向が適切なわけではない。ただしオブジェクト指向が適切な場合が多い
だから複数のスタイルを学ぶことには意味がある。
なんで最初手続き型からやってオブジェクト指向なのかというと
オブジェクト指向の方が覚えることが多いから。いろんな機能が増え
歴史的にもオブジェクト指向の方があとで登場した
30年ぐらい前はほぼ手続き型といっていいし、そこから新しく登場した
オブジェクト指向を導入するという流れで、オブジェクト指向を後で勉強するという流れを
今までの人はずっとやってきた。それを受け継いでいるから、
みんな手続き型をやってオブジェクト指向をやるのが当たり前になってる。
オブジェクト指向でも短く簡潔に書くとういことは変わらない。
君はまだコードの行数でしか簡潔かどうかを判断できないのだろう
短く簡潔に書くべきものは動く処理。テストする対象。オブジェクト指向で増えてるのは
処理ではなく定義。関数定義やクラス定義など。これらは動かない。
そういう定義があることで人間が理解しやくなり大きく複雑な構造を持ったシステムが作れる。
だからオブジェクト指向で短く簡潔だったものが複雑になったわけではない。
新たに構造を表す概念が増えた。概念が増えるというこは勉強するものも増えるので
オブジェクト指向の学習があとになるのは必然
968デフォルトの名無しさん
2020/01/05(日) 16:54:05.67ID:MBjOiaqb オブジェクト指向は大きく複雑なシステムを完結にするものだから
学習最初レベルの短いコードではオブジェクト指向が理解できないのはよくある話。
一人で作ってるシステムを作るのではなくその何倍も大きな物を
複数の人が協力して作ると考えれば、少しでは負担を彫らすために
あったら良い機能ばかりであることに気づくだろう
学習最初レベルの短いコードではオブジェクト指向が理解できないのはよくある話。
一人で作ってるシステムを作るのではなくその何倍も大きな物を
複数の人が協力して作ると考えれば、少しでは負担を彫らすために
あったら良い機能ばかりであることに気づくだろう
969デフォルトの名無しさん
2020/01/05(日) 17:20:21.89ID:97/gcjOR >概念が増えるというこは勉強するものも増えるのでオブジェクト指向の学習があとになるのは必然
>学習最初レベルの短いコードではオブジェクト指向が理解できないのはよくある話
誰でも通る道なんですね
先に進むと見えるものがあるかも知れないので もう少し頑張ってみます ありがとうございました
>学習最初レベルの短いコードではオブジェクト指向が理解できないのはよくある話
誰でも通る道なんですね
先に進むと見えるものがあるかも知れないので もう少し頑張ってみます ありがとうございました
970デフォルトの名無しさん
2020/01/06(月) 02:04:16.01ID:kkK411tU >>969
ttps://i.imgur.com/Y1JgMDU.gif
ttps://i.imgur.com/Y1JgMDU.gif
971デフォルトの名無しさん
2020/01/06(月) 21:24:01.71ID:AofNeSVL たとえばGUIのクラスライブラリって
継承によってうまく表現されてる例じゃないかな?
おまえらどうおもう?
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JButton
継承関係の無い状態にくらべて
ある場合の上記のような構造が
コード全体を理解する助けになってる気がする
継承によってうまく表現されてる例じゃないかな?
おまえらどうおもう?
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JButton
継承関係の無い状態にくらべて
ある場合の上記のような構造が
コード全体を理解する助けになってる気がする
972デフォルトの名無しさん
2020/01/06(月) 22:05:53.10ID:5+K8WCzC イベントリスナを持つことと、
他のGUIを複数載っけてリスナ集約することを上手に設計してると思うよ
他のGUIを複数載っけてリスナ集約することを上手に設計してると思うよ
973デフォルトの名無しさん
2020/01/06(月) 22:18:27.66ID:NtfTHL6y974デフォルトの名無しさん
2020/01/06(月) 23:12:01.08ID:OM+tF+eC 継承関係の階層構造って、整理した気になるだけで実態把握には使えない
元のクラスを一部改変した派生クラスを楽に作りたい、というのは分かるんだけど、それ以上の意味(is-a関係とか)を提示しちゃうのは良いの?ってなる
例えば>>971で言えば、JButton <: Containerだけど、本当にそれでいいの?ってなるし、
ボタンの特性だと万人が想像する「クリックしたときに何か起こせる」って、他のComponentでもできる
でよく見るとActionを介して制御できるってあるけど、Actionに関する機能は>>971の継承関係とほとんど関係が無い
他にActionが使えるコンポーネント、どこにどれだけあるかすぐ分かる?俺には分からない
「継承でこんなにシンプルに表現できる!OOP凄い!」って思ってる頭で、同時に「奥深い!こんなこともできるなんて!」と思ってない?
俺はそんな分裂症気味の精神を持ちたくないし、traitを知ってしまったのでいよいよ利点が分からない
元のクラスを一部改変した派生クラスを楽に作りたい、というのは分かるんだけど、それ以上の意味(is-a関係とか)を提示しちゃうのは良いの?ってなる
例えば>>971で言えば、JButton <: Containerだけど、本当にそれでいいの?ってなるし、
ボタンの特性だと万人が想像する「クリックしたときに何か起こせる」って、他のComponentでもできる
でよく見るとActionを介して制御できるってあるけど、Actionに関する機能は>>971の継承関係とほとんど関係が無い
他にActionが使えるコンポーネント、どこにどれだけあるかすぐ分かる?俺には分からない
「継承でこんなにシンプルに表現できる!OOP凄い!」って思ってる頭で、同時に「奥深い!こんなこともできるなんて!」と思ってない?
俺はそんな分裂症気味の精神を持ちたくないし、traitを知ってしまったのでいよいよ利点が分からない
975デフォルトの名無しさん
2020/01/07(火) 04:30:06.77ID:tLIimsUP >>974
意味がわからんっていうか、お前が分かってないだけじゃないか
> 元のクラスを一部改変した派生クラスを楽に作りたい、というのは分かるんだけど、
派生クラスという用語を使うのはやめろ。それは差分プログラミングだ。
そこでお前が言うべき言葉は「元のコードを一部改変した差分プログラミングをしたい」だ
派生クラスは差分プログラミングに含まれるが、派生クラス=差分プログラミングではない
> それ以上の意味(is-a関係とか)を提示しちゃうのは良いの?ってなる
差分プログラミングをした結果is-a関係ができてしまう、のは間違いに決まってるだろ
派生クラスを作った結果、is-a関係になるのではない。因果関係が逆になってる。
is-a関係を提示したいときに派生クラスを作るんだよ
オブジェクト指向というのは「この何を提示したいか?」を(より多く)コードの中に記述することができる
お前はまず動きそうなコードを書いてしまってる。
何をしたいのか(設計)をコードで記述するというレベルに達していない。
意味がわからんっていうか、お前が分かってないだけじゃないか
> 元のクラスを一部改変した派生クラスを楽に作りたい、というのは分かるんだけど、
派生クラスという用語を使うのはやめろ。それは差分プログラミングだ。
そこでお前が言うべき言葉は「元のコードを一部改変した差分プログラミングをしたい」だ
派生クラスは差分プログラミングに含まれるが、派生クラス=差分プログラミングではない
> それ以上の意味(is-a関係とか)を提示しちゃうのは良いの?ってなる
差分プログラミングをした結果is-a関係ができてしまう、のは間違いに決まってるだろ
派生クラスを作った結果、is-a関係になるのではない。因果関係が逆になってる。
is-a関係を提示したいときに派生クラスを作るんだよ
オブジェクト指向というのは「この何を提示したいか?」を(より多く)コードの中に記述することができる
お前はまず動きそうなコードを書いてしまってる。
何をしたいのか(設計)をコードで記述するというレベルに達していない。
976デフォルトの名無しさん
2020/01/07(火) 04:35:27.11ID:tLIimsUP >>974
> 例えば>>971で言えば、JButton <: Containerだけど、本当にそれでいいの?ってなるし、
お前が設計を読み取れてないだけ
オブジェクト指向は現実を表現するためのものじゃない
それを見れば(現実ではなく)「Javaのswingでは」JButtonはContainerの一種として
作られていることが、設計から読み取れる。
例えばHTMLでは、<input type="button">はコンテナの一種ではないが
<button>その他</button>はコンテナの一種だろう
同じボタンでもコンテナタイプと非コンテナタイプが考えられる
お前は現実世界のボタンはどうなんだろうか?って考えてそれでいいの?って思ってるんだろうが
オブジェクト指向は現実世界を表現するためのものじゃない
継承関係から「JButtonはContainerの一種として設計されてる」という事実が読み取れる。
これが重要なこと
> 例えば>>971で言えば、JButton <: Containerだけど、本当にそれでいいの?ってなるし、
お前が設計を読み取れてないだけ
オブジェクト指向は現実を表現するためのものじゃない
それを見れば(現実ではなく)「Javaのswingでは」JButtonはContainerの一種として
作られていることが、設計から読み取れる。
例えばHTMLでは、<input type="button">はコンテナの一種ではないが
<button>その他</button>はコンテナの一種だろう
同じボタンでもコンテナタイプと非コンテナタイプが考えられる
お前は現実世界のボタンはどうなんだろうか?って考えてそれでいいの?って思ってるんだろうが
オブジェクト指向は現実世界を表現するためのものじゃない
継承関係から「JButtonはContainerの一種として設計されてる」という事実が読み取れる。
これが重要なこと
977デフォルトの名無しさん
2020/01/07(火) 04:52:45.84ID:tLIimsUP 念のために言っておくが
「ボタンはコンテナの一種として設計するのは正しいのだろうか?」という話はしてない
「継承関係から設計が読み取れる」という話をしてる
「継承関係から設計が読み取れる話」と
「継承関係から設計を読み取った結果、この設計は正しいのだろうか?」というのは全く別の話
設計が間違ってるなら設計が間違ってるってだけの話だろ。
それは継承関係を用いた「設計の一例」の話であって
継承関係で設計が表現できるという事実とは何の関係もない
そもそも継承関係で設計が表現からこそ、その継承関係だけを見て設計の正しさを議論ができわけで
継承関係をコードとしてかけるというのは、素晴らしいことの証明になってるだろ
「ボタンはコンテナの一種として設計するのは正しいのだろうか?」という話はしてない
「継承関係から設計が読み取れる」という話をしてる
「継承関係から設計が読み取れる話」と
「継承関係から設計を読み取った結果、この設計は正しいのだろうか?」というのは全く別の話
設計が間違ってるなら設計が間違ってるってだけの話だろ。
それは継承関係を用いた「設計の一例」の話であって
継承関係で設計が表現できるという事実とは何の関係もない
そもそも継承関係で設計が表現からこそ、その継承関係だけを見て設計の正しさを議論ができわけで
継承関係をコードとしてかけるというのは、素晴らしいことの証明になってるだろ
978デフォルトの名無しさん
2020/01/07(火) 16:59:14.59ID:PuPIfAOU 長方形正方形問題から察するに、実装の継承は問題点が多い。
979デフォルトの名無しさん
2020/01/07(火) 17:21:16.73ID:hfId9fDJ980デフォルトの名無しさん
2020/01/07(火) 18:46:35.84ID:UOpWbGAG 「現実を表現するためのもの」である
と主張して憚らない人たまにいるよね
マジなんかネタなんか最後までわからんけど
と主張して憚らない人たまにいるよね
マジなんかネタなんか最後までわからんけど
981デフォルトの名無しさん
2020/01/07(火) 19:05:58.19ID:BsHoEUh2 オブジェクト指向ではカモノハシを表現できないとかなw
カモノハシを表現するための道具じゃないからwww
カモノハシを表現するための道具じゃないからwww
982デフォルトの名無しさん
2020/01/07(火) 19:23:34.86ID:VQksduWK 僕オブジェクト演算子を作った人だけど
恩師に褒められた部分は
開発環境でのプロパティのアシストが便利で楽
だけ
恩師に褒められた部分は
開発環境でのプロパティのアシストが便利で楽
だけ
983デフォルトの名無しさん
2020/01/07(火) 19:35:33.44ID:MkSf+UQ1 恩師って無名の素人やろ?w
あ、大学で有名とかそういうのはいいから
ソフトウェア業界で名前が知られてるかどうか
あ、大学で有名とかそういうのはいいから
ソフトウェア業界で名前が知られてるかどうか
984デフォルトの名無しさん
2020/01/07(火) 19:54:07.82ID:VQksduWK 恩師はC89の開発者の一人
名前を知られているかはわからない
名前を知られているかはわからない
985デフォルトの名無しさん
2020/01/07(火) 22:47:41.56ID:+L6qE003 結局必要だったのはネームスペースの閉じ込めだけだったのに
余計なことしてくれたという感想しかない。
余計なことしてくれたという感想しかない。
986デフォルトの名無しさん
2020/01/08(水) 00:44:37.39ID:9117F55y 正しさを人が議論しなくちゃいけない、それが継承の限界だよ。俺はフツーに数学とコンピュータの力を借りる。
987デフォルトの名無しさん
2020/01/08(水) 03:56:49.03ID:tu5ughcT >>976
Sunが作ったGUIフレームワークという事前情報があるから
安心してクラス階層から設計を読み取れるんだと思う
例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
継承の使い方が間違っていてそのフレームワークが実現したいことは
そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
考慮されたクラス階層ですという保証がない限り、
クラス階層から設計を読み取っても疑念が残る、
または、バグに繋がるケースがある
>>971 はそういうことを言いたいんだと思う
単純な例だとC#のApplicationExceptionとか、
昔はユーザが作る例外はApplicationExceptionを継承するべき、
現在はMSのライブラリチームの人がクラス階層間違って使ったせいで継承するべきでないという方針転換してるが
クラス階層は互換性からそのままになってる
Sunが作ったGUIフレームワークという事前情報があるから
安心してクラス階層から設計を読み取れるんだと思う
例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
継承の使い方が間違っていてそのフレームワークが実現したいことは
そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
考慮されたクラス階層ですという保証がない限り、
クラス階層から設計を読み取っても疑念が残る、
または、バグに繋がるケースがある
>>971 はそういうことを言いたいんだと思う
単純な例だとC#のApplicationExceptionとか、
昔はユーザが作る例外はApplicationExceptionを継承するべき、
現在はMSのライブラリチームの人がクラス階層間違って使ったせいで継承するべきでないという方針転換してるが
クラス階層は互換性からそのままになってる
988デフォルトの名無しさん
2020/01/08(水) 05:35:56.16ID:0mytWgwM >>987
> 例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
> 継承の使い方が間違っていてそのフレームワークが実現したいことは
> そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
継承に限らないよね?
お前が書いたコードがクソで、そのやり方ではうまく動かないかもしれないし
メンテナンス性が悪いかもしれない
そして>>977の話に戻す
> 念のために言っておくが
>
> 「ボタンはコンテナの一種として設計するのは正しいのだろうか?」という話はしてない
> 「継承関係から設計が読み取れる」という話をしてる
お前のクラス階層が正しいかどうかの話はしてない
「継承関係から設計が読み取れる」という話をしてる
> 例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
> 継承の使い方が間違っていてそのフレームワークが実現したいことは
> そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
継承に限らないよね?
お前が書いたコードがクソで、そのやり方ではうまく動かないかもしれないし
メンテナンス性が悪いかもしれない
そして>>977の話に戻す
> 念のために言っておくが
>
> 「ボタンはコンテナの一種として設計するのは正しいのだろうか?」という話はしてない
> 「継承関係から設計が読み取れる」という話をしてる
お前のクラス階層が正しいかどうかの話はしてない
「継承関係から設計が読み取れる」という話をしてる
989デフォルトの名無しさん
2020/01/08(水) 12:30:33.00ID:9117F55y 何を読み取れるのって話をしてるんじゃないの?
YはXのサブクラスとしたとき、「YはXの状態と振る舞い全てを持っている」以上の意図は込められないのに、「いやY is a Xだ!」って余計な意図を撒き散らしてる
まずどういう視点でis-a関係なのかの説明が必要だし、別の視点で見るときにそのis-a関係は無価値になる
提示できているかどうかが疑われる方法を使って、提示している知識の価値が低い。そんな不便な道具を使っちゃ駄目だ
YはXのサブクラスとしたとき、「YはXの状態と振る舞い全てを持っている」以上の意図は込められないのに、「いやY is a Xだ!」って余計な意図を撒き散らしてる
まずどういう視点でis-a関係なのかの説明が必要だし、別の視点で見るときにそのis-a関係は無価値になる
提示できているかどうかが疑われる方法を使って、提示している知識の価値が低い。そんな不便な道具を使っちゃ駄目だ
990デフォルトの名無しさん
2020/01/08(水) 13:14:27.43ID:0mytWgwM > YはXのサブクラスとしたとき、「YはXの状態と振る舞い全てを持っている」以上の意図は込められないのに、「いやY is a Xだ!」って余計な意図を撒き散らしてる
だから因果関係が逆。
自分でサブクラス作ったことないでしょ?
他人が作ったサブクラス見て、あーだこーだいってるだけでしょ?
はじめに世界がありました。はじめにサブクラスがありました。じゃないんだからさ
最初はなにもない。なにもない所にサブクラスを作り出す。
Y is a Xとしたいと思ったときに、YをXのサブクラスにするんだよ
そうすると状態と振る舞いもついてくる
なんで、とりあえずサブクラスでなんて考えるのかな?
理由なしにサブクラスになんかしないだろ
だから因果関係が逆。
自分でサブクラス作ったことないでしょ?
他人が作ったサブクラス見て、あーだこーだいってるだけでしょ?
はじめに世界がありました。はじめにサブクラスがありました。じゃないんだからさ
最初はなにもない。なにもない所にサブクラスを作り出す。
Y is a Xとしたいと思ったときに、YをXのサブクラスにするんだよ
そうすると状態と振る舞いもついてくる
なんで、とりあえずサブクラスでなんて考えるのかな?
理由なしにサブクラスになんかしないだろ
991デフォルトの名無しさん
2020/01/08(水) 13:25:00.58ID:0mytWgwM > まずどういう視点でis-a関係なのか
そんなもん、(自作、既存問わず)フレームワークやライブラリがあって
そのフレームワークやライブラリはクラスを親クラスとして扱う。
それをサブクラスで拡張やカスタマイズできる。
そういうことをしたいときにサブクラスにするに決まってるじゃん
それ以外に理由なんかあんの?理由なんてたった一つなのにそれを説明しろだなんて
お前がその一つの理由を知らないだけとしか思えんが
そんなもん、(自作、既存問わず)フレームワークやライブラリがあって
そのフレームワークやライブラリはクラスを親クラスとして扱う。
それをサブクラスで拡張やカスタマイズできる。
そういうことをしたいときにサブクラスにするに決まってるじゃん
それ以外に理由なんかあんの?理由なんてたった一つなのにそれを説明しろだなんて
お前がその一つの理由を知らないだけとしか思えんが
992デフォルトの名無しさん
2020/01/08(水) 15:32:35.96ID:5eql497N オブジェクト指向とか便利かもしれないけど
普通にクラスのデザインが不味いとオブジェクト指向とか関係なく放棄されるから
オブジェクト指向であっても普通にクソコードは生まれる
免罪符的な何かを期待してもむりじゃね?
普通にクラスのデザインが不味いとオブジェクト指向とか関係なく放棄されるから
オブジェクト指向であっても普通にクソコードは生まれる
免罪符的な何かを期待してもむりじゃね?
993デフォルトの名無しさん
2020/01/08(水) 18:20:38.49ID:0mytWgwM >>992
当たり前だろ。なんでできないやつ、素人用の道具だと思ってるんだ?
当たり前だろ。なんでできないやつ、素人用の道具だと思ってるんだ?
994デフォルトの名無しさん
2020/01/08(水) 19:06:01.97ID:jWR4zIzC OOPの概念 ←難しくない
クラス設計 ←難しい
クラス設計が難しい事を自覚すること ←不可能レベルで難しい
クラス設計が難しい事を自覚することなくOOPを批判 ←ありがち
クラス設計 ←難しい
クラス設計が難しい事を自覚すること ←不可能レベルで難しい
クラス設計が難しい事を自覚することなくOOPを批判 ←ありがち
995デフォルトの名無しさん
2020/01/08(水) 19:10:26.55ID:9117F55y 逆じゃねえよ作らねえと分からないのがソフトウェア開発だよ
最初に考えた設計じゃすぐに駄目になるから身軽じゃないといけないし、想定外の使われ方をするから防衛的にしなきゃいけないんだ
そんな世界で、後から変更しづらいことが作る前から分かってる道具を使う理由は何だ?
クラス階層は時間で腐る。最初のロクでもない思いつきがずっと残る。作った奴の意図がコードに込められないから用途も目的もブレる。
継承の階層構造から読み取れる意図なんて幻想だファンタジーだフィクションだ。嘘じゃねえよどれだけ世の中にそびえ立つクソがあるか知ってるだろ?
最初に考えた設計じゃすぐに駄目になるから身軽じゃないといけないし、想定外の使われ方をするから防衛的にしなきゃいけないんだ
そんな世界で、後から変更しづらいことが作る前から分かってる道具を使う理由は何だ?
クラス階層は時間で腐る。最初のロクでもない思いつきがずっと残る。作った奴の意図がコードに込められないから用途も目的もブレる。
継承の階層構造から読み取れる意図なんて幻想だファンタジーだフィクションだ。嘘じゃねえよどれだけ世の中にそびえ立つクソがあるか知ってるだろ?
996デフォルトの名無しさん
2020/01/08(水) 19:28:35.60ID:0mytWgwM クラス使っていても特に変更しづらいことはないし何いってんだこいつ?
997デフォルトの名無しさん
2020/01/08(水) 20:42:23.62ID:2scEGSHx998デフォルトの名無しさん
2020/01/08(水) 20:52:21.66ID:0mytWgwM >>995みたいなのって、設計もせずにいきなりコード書くんでしょ?
だから、コードを共通化したい=サブクラスじゃぁっていきなりサブクラスが出てくる。
そしてYはXの状態と振る舞いを全部持ってるだけだ、Y is a Xという意図はない!
あとから意図を聞かれてごまかしてる。
最初に設計(意図)をして、それがY is a Xであるときにサブクラスにする
コードを共通化したいときにサブクラスにするのではない
だから、コードを共通化したい=サブクラスじゃぁっていきなりサブクラスが出てくる。
そしてYはXの状態と振る舞いを全部持ってるだけだ、Y is a Xという意図はない!
あとから意図を聞かれてごまかしてる。
最初に設計(意図)をして、それがY is a Xであるときにサブクラスにする
コードを共通化したいときにサブクラスにするのではない
999デフォルトの名無しさん
2020/01/08(水) 20:56:07.55ID:0mytWgwM 設計もせずにいきなりコード書くから作らないとわからない
すぐにだめになる。全部書き直し、それはクラスだからみたいな意味不明な結論を持ってくる
最初の設計が破綻してるだけ。そもそも設計してないんだろうがな
最初のロクでもない思いつきでコードを書いてるからそうなる
自分が意図を込めてないから、用途も目的もブレる。
そして相手も意図を込めてないと思ってる。
何も意図を込めてないコードから、意図なんて読み取れるわけがない。
意図が読み取れないのは、書いたやつがクソだけ
世の中にあるクソコード一つが>>995が書いたコード
すぐにだめになる。全部書き直し、それはクラスだからみたいな意味不明な結論を持ってくる
最初の設計が破綻してるだけ。そもそも設計してないんだろうがな
最初のロクでもない思いつきでコードを書いてるからそうなる
自分が意図を込めてないから、用途も目的もブレる。
そして相手も意図を込めてないと思ってる。
何も意図を込めてないコードから、意図なんて読み取れるわけがない。
意図が読み取れないのは、書いたやつがクソだけ
世の中にあるクソコード一つが>>995が書いたコード
1000デフォルトの名無しさん
2020/01/08(水) 21:24:19.44ID:kS+vn00V そもそも汎用的な雪渓は存在しない
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 92日 5時間 37分 22秒
新しいスレッドを立ててください。
life time: 92日 5時間 37分 22秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 生活保護廃止、公務員の給与に最低賃金を適用⇦これをやるだけで国民の9割の不満が解消されるのにやらない理由 [218488394]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
