18/10/23 08:14:31.62 7cV3/X2S.net
まさによくも悪くも便所の落書き
236:デフォルトの名無しさん
18/10/23 08:17:07.54 7cV3/X2S.net
>>227
オブジェクト指向言語でGCもあるJavaでGUIをプログラミングするとわかりやすいよ、では?
237:デフォルトの名無しさん
18/10/23 08:18:49.16 7cV3/X2S.net
前スレ後半はまあ面白かったけどな
半角以外
238:デフォルトの名無しさん
18/10/23 08:32:50.85 XwNO0njr.net
>>230
なにそれ?
オブジェクト指向のメリットを説明するのに必要なの?
239:デフォルトの名無しさん
18/10/23 09:15:47.48 CzrOcnli.net
チンポがシコシコしてるぜ!
240:デフォルトの名無しさん
18/10/23 10:25:19.72 3TiX0PAR.net
手続きこそが中心である!
いやいやデータを処理するための手続きっしょ?
つーかそれセットでいいんじゃね?
オブジェクト指向誕生の瞬間である
241:デフォルトの名無しさん
18/10/23 11:12:44.39 IkVs3Cds.net
オブジェクト指向のメリットは
可読性だろ 作ったやつがバカだろうと
バカなりの考え方が追える
242:デフォルトの名無しさん
18/10/23 11:17:31.46 3v/S9uve.net
>>231
話題も面白くもない、
馬鹿すぎて皆の勉強にもならない、
Goをスクリプト言語と言ったり知識も少ない、
知識レベルが少なすぎて回答(質問スレ)やサンプルコードに嘘が入ってる、
煽りマシンとしても無能で煽りで誤字する、
困ったら精神崩壊。
ホント無益かつ有害だよね。
243:デフォルトの名無しさん
18/10/23 18:40:16.35 ZznWH4m8.net
>>235
うそやんむしろ下がるんじゃないか?
244:デフォルトの名無しさん
18/10/23 18:57:34.78 D52xSNtE.net
なんでもクラスに突っ込んで、それほとんどstatic変数使ってんのと一緒じゃん
ってコードになる。
245:デフォルトの名無しさん
18/10/23 21:36:28.96 yaz2LPbT.net
>>236
ならこのスレに来るな
246:デフォルトの名無しさん
18/10/23 22:04:49.36 +Sb0MP+K.net
図星低学歴知恵遅れが発狂してんのか
オレの正確無比なワルクチに耐えられないのはわかる
オレは正確無比なレスしかしてないからな
247:デフォルトの名無しさん
18/10/23 23:05:06.22 1Aazo7+K.net
何かの障害なんだろうね
248:デフォルトの名無しさん
18/10/23 23:10:26.99 PGQOpxAM.net
オブジェクト指向のメリットを知りたかったら
侍エンジニア塾がいいゾ
249:デフォルトの名無しさん
18/10/24 00:24:36.45 SiA3Fsmj.net
ちらっと見たけど
良くある入門書とそんなに変わらないような感じ
記事が多いみたいだから殆ど見てはいないけど
何か決め手になる記事ページとか有るのかね?
250:デフォルトの名無しさん
18/10/24 00:35:54.16 q5lBFUWb.net
マジレスやめて
251:デフォルトの名無しさん
18/10/24 00:51:30.96 SiA3Fsmj.net
良い解説サイトが出現するのを
結構期待している
それにしてもなかなかそういうのが出てこない
252:デフォルトの名無しさん
18/10/24 01:18:43.21 1mhY0v1d.net
>>239
半角さんなの?
253:デフォルトの名無しさん
18/10/24 01:20:30.75 pUZreFeO.net
ま、説明できるもんならやってみろって感じだな
254:デフォルトの名無しさん
18/10/24 09:13:11.88 MG+UNz2l.net
メリットが何か知らないまま
使っているわけか…
255:デフォルトの名無しさん
18/10/24 09:58:23.38 GbMFsb9F.net
設計ろくにできないやつは何指向だろうがくそなものしか作れないよ
256:デフォルトの名無しさん
18/10/24 12:07:28.04 Ol8Fx4pZ.net
普通に書いていれば、c言語よりc++の方が可読性は上だけど、インターフェースが~、細分化が~、とかなってきたら途端に複雑怪奇なデスマコードが出来上がる。
257:デフォルトの名無しさん
18/10/24 15:43:54.70 QiyZ4GKB.net
>>250
インターフェースが~細分化が~をC言語でやったも
複雑怪奇なデスマコードになるんだろ?
お前が作った場合は
258:デフォルトの名無しさん
18/10/25 01:38:38.71 N1Orwdhp.net
>>251
別人だが、
お前が作れば大丈夫なの?
本質的に抱える問題を
お前だけは回避できるというの?
259:デフォルトの名無しさん
18/10/25 01:57:53.86 2GgdBrg6.net
>>252
同じものを作るという前提なら何を使おうが一緒
むしろC言語でオブジェクト指向するほうが大変
260:デフォルトの名無しさん
18/10/25 02:09:11.01 N1Orwdhp.net
>>253
しなきゃいいだろそんなMotifみたいな変なこと
261:デフォルトの名無しさん
18/10/25 06:11:52.64 2GgdBrg6.net
Motifと同じことをMotifみたいなことをしないで実現するって話?
どうぞどうぞw
262:デフォルトの名無しさん
18/10/25 08:03:36.75 /tZ1df3y.net
誰もそんなこと言っていないのに、
釣り針も付けて無いのになぜか変な魚がつれたよ
263:デフォルトの名無しさん
18/10/25 08:07:38.99 2GgdBrg6.net
? 単に一方では数行で終わるCLIツール
もう一方はGUIアプリで比べてオブジェクト指向は大変と
いうような間抜けを排除してるだけですよw
264:デフォルトの名無しさん
18/10/25 17:41:00.00 f241ss3k.net
プログラムの実力は筋肉量で決まる
265:デフォルトの名無しさん
18/10/25 18:54:16.79 2x94q/go.net
OOPがそんなにもクソで
諸悪の根源だと言うんなら
お前らはどんな環境で
どんな幸せを享受してんだ
266:デフォルトの名無しさん
18/10/25 19:02:32.21 6CwUNa2j.net
>>259
たまにはC言語チックに組んで見ろよ
267:デフォルトの名無しさん
18/10/25 19:18:00.16 2x94q/go.net
OOPLを捨てたらそんなに幸せになれるのか?
>>260
チックじゃなくてCそのもので書けば良いんだよな?
だってOOPはクソでOOPLなんて不要なんだから
268:デフォルトの名無しさん
18/10/25 19:38:12.50 1GpSKcHU.net
オブジェクト指向は諸悪の根源
ちけえねぇやっぱり関数型がナンバーワン
269:デフォルトの名無しさん
18/10/25 20:12:13.12 oo/AJ/05.net
おまえ本当は手続き型しかできないじゃん
270:デフォルトの名無しさん
18/10/25 20:22:18.55 0Y6f+7Qa.net
>>263
おまえ本当はプログラムできないじゃん
271:デフォルトの名無しさん
18/10/25 21:46:14.12 PLDh1J4G.net
チンポがシコシコする!
272:デフォルトの名無しさん
18/10/25 21:52:02.45 0Y6f+7Qa.net
シコシコするのはチンボやで間違えるなカス
273:デフォルトの名無しさん
18/10/25 22:08:46.98 GbvQq0+8.net
相対性理論や進化論と同じで一見簡単そうに見えるからアホが寄ってくる
274:デフォルトの名無しさん
18/10/25 22:32:52.78 egM/0rEz.net
構造化プログラミングからのオブジェクト指向が理想的
275:デフォルトの名無しさん
18/10/26 00:06:34.60 7cGNdWT7.net
�
276:サもそもこの板はアホしかおらんやん 低学歴知恵遅れにオブジェクト指向なんかムリだからな
277:デフォルトの名無しさん
18/10/26 01:46:49.67 zqmCYDLg.net
自己紹介を頼んだ覚えはないのに
278:デフォルトの名無しさん
18/10/26 07:23:34.89 WgzTS9Bd.net
>>266
『チンポ』を、チンコと呼ぶかチンボと呼ぶかについて。
チンコ→チンポは俺の『ムスコ』だ!
チンボ→チンポが棒のように硬くなった!
実に奥深いだろう?
279:デフォルトの名無しさん
18/10/26 07:30:27.32 WgzTS9Bd.net
>>105
>夏目くんのチンポは何にも触れていないのにシコシコしている!
ムスコがボーになってしまった!
280:デフォルトの名無しさん
18/10/26 07:37:44.64 EejPhSvl.net
このつまらんチンポネタいつまで続くんかね
どーせやるなら笑わしてくれや
281:デフォルトの名無しさん
18/10/26 07:39:56.87 ARPyruX4.net
基地外や信者に荒らされるのも便所の落書きの宿命か
282:デフォルトの名無しさん
18/10/26 07:44:32.13 ARPyruX4.net
なぜ荒らすのか、荒らしなりに理由はあるんだろうな
オブジェクト指向を標的にしてるとか、
病的な信者のなれの果てか
283:デフォルトの名無しさん
18/10/26 07:50:56.14 WgzTS9Bd.net
珍妙な生き物だなぁ!
284:デフォルトの名無しさん
18/10/26 07:57:26.36 WgzTS9Bd.net
・独立性が高い
・独立性が高い
・独立性が高い
1)影響範囲を局所化する
プログラムの世界で「独立性を高める」というのはどういう意味があるかと言うと、
例えばバグが発生した場合に「その処理はこのクラスで行っている処理なのでこのクラスだけ修正すればいい」とか、
仕様変更が発生した場合に「その機能をまとめているクラスはこのクラスなので、
このクラスのインタフェースを修正すればいい」というように、何らかの変更が発生した場合に、
すでに作成した特定のクラスのみ修正すれば対応できるようにうまく設計されていることを、オブジェクト指向では
・独立性が高い
という。
URLリンク(simizuna.exblog.jp)
285:デフォルトの名無しさん
18/10/26 08:02:09.29 WgzTS9Bd.net
オブジェクトは独立した機械と見なせるため、それに対してメッセージを送り、自ら持つデータの責任は自らが負う。
Smalltalkの実行環境もまた仮想機械として作られている。
URLリンク(qiita.com)
286:デフォルトの名無しさん
18/10/26 08:36:25.58 WgzTS9Bd.net
でもオシッコを我慢する時は、チンポに力を入れて小便が出ないようにコマンドするけどな。
287:デフォルトの名無しさん
18/10/26 08:44:32.01 WgzTS9Bd.net
俺にとっての『オナニー』は、するしないではなくて気がついたらしていたのであり、
オナニーはそこにあったのだ。それはチンポがそこに付いていたのと全く同じだ。
288:デフォルトの名無しさん
18/10/26 09:24:29.21 2f9aOx33.net
真性の基地外ならそれはそれで面白いけどただの無能だからつまらんな
289:デフォルトの名無しさん
18/10/26 19:59:34.32 FAD476aH.net
>>281
俺はただパソコンに向かって独り言ブツブツ言って、チンポがシコシコしてるだけだが?
290:デフォルトの名無しさん
18/10/26 20:05:31.67 E+2rE/Ml.net
目的はブツブツ言う(スレに書き込む)ことか
291:デフォルトの名無しさん
18/10/26 20:17:21.38 JAAKpPz/.net
つまらない人
292:デフォルトの名無しさん
18/10/26 22:00:01.87 FW99y0io.net
どうせクソスレだから、荒れろ荒れろ!!!
293:デフォルトの名無しさん
18/10/26 22:19:23.51 FAD476aH.net
チンポがシコシコするぜ!
294:デフォルトの名無しさん
18/10/26 22:25:53.40 m4fmtxfO.net
自発的勃起射精型チンボやね
295:デフォルトの名無しさん
18/10/26 22:30:09.50 FAD476aH.net
>>287
オブジェクトの独立性が大事だってことだよな。
296:デフォルトの名無しさん
18/10/26 22:33:05.07 m4fmtxfO.net
>>288
せやね、いらん時にもシコシコするけどな
297:デフォルトの名無しさん
18/10/27 00:23:06.07 PtUYqbOY.net
>>105
>夏目くんのチンポは何にも触れていないのにシコシコしている!
チンポがシコシコしてしまったら、
>>277
>その処理はこのクラスで行っている処理なのでこのクラスだけ修正すればいい
急いでトイレに駆け込め!!!
298:デフォルトの名無しさん
18/10/27 00:25:22.59 PtUYqbOY.net
あるいは学校へ行く前にズリネタを探してチンポがシコシコしてからオナニーしておくとか。
299:デフォルトの名無しさん
18/10/27 00:28:45.43 PtUYqbOY.net
チンポは独立した生き物なので勝手にシコシコしてしまうが、素早く検知してトイレに駆け込めばセーフ!
300:デフォルトの名無しさん
18/10/27 09:58:41.69 ZWpnR1MN.net
口座残高管理や在庫管理のようなイベント主体のドメインはOOPではどう実装しますか?
一般的な方法だと↓のようにDBにドメインロジックを書くと思います
追記型のテーブル(入金テーブル, 出金テーブル)に行を挿入→トリガでスナップショット(口座テーブル.残高)を更新
アプリケーションは単にテーブルへの挿入とスナップショットの取得を行うだけです
これは非常にクリーンな構造だと思います
OOPの場合はDBにドメインロジックを置かないので必然的にトリガを使わない実装になりますが
その場合にクリーンな実装が想像つきません
301:デフォルトの名無しさん
18/10/27 10:27:21.75 4RrrP6U6.net
>>293
違うレイヤーの話がごっちゃになってるね
ぶっちゃけDBにドメインロジックなんか普通は置かないんだがw
まずドメインロジックをDBに置くかどうかって話はOOPかどうかとは無関係
前提としてDBは(オブジェクト指向ではない)RDBと
(オブジェクト指向の)OODBとがある
RDBしかないと思いこんじゃってるだろうけど
ドメインロジックをDBに置くかどうかの話は、前提として使ってるDBに
ドメインロジックを置く機能が存在しているかどうかそれを使うかどうかで決まる。
そしてDBがOODBであればドメインロジックはオブジェクト指向になるだろう
つまりだ、キミが言っている
> 一般的な方法だと↓のようにDBにドメインロジックを書くと思います
というのは、
(オブジェクト指向でない)RDBに以下のようにドメインロジックを置けば
(オブジェクト指向でないものとして)クリーンな構造だ
と言ってるに過ぎないんだよ。キミがクリーンな構造だと思ってるのはRDBだから
逆にOODBを使ってドメインロジックをDBに置けば
これは非常にクリーンなオブジェクト指向の構造になるわけだ
まあ、ここまでは理想論的な話。それをクリーンな構造だと思うのは
単にRDBを使ったからだろというツッコミ
302:デフォルトの名無しさん
18/10/27 10:27:54.84 4RrrP6U6.net
現実的な話としては、OOPを使ってDBはRDBを使って、ドメインロジックをDBに
置かないってことはよくあるね。
その場合、言語はOOPなのにDBはオブジェクト指向でない。
これはOOPとRDBのインピーダンスミスマッチと言われている有名な話
それを解決する一般的な方法はO/Rマッパーを使うということだよ
ほぼすべてのフレームワークにあるからO/Rマッパーは自作する必要はないぞ。
O/Rマッパーを使うことで、オブジェクト指向でないRDBの詳細を隠して
オブジェクト指向として使うことができる。背後のRDBの存在は忘れていい。
Bにドメインロジックを置かないとか、トリガを使わないとか関係ないんだよ
だから別のレイヤーの話
OOPの場合はO/Rマッパーを使うことで、データをオブジェクト指向で扱える。
すべてオブジェクト指向でプログラミングできるクリーンな実装なわけだ
303:デフォルトの名無しさん
18/10/27 10:44:18.20 dWq9Hx8p.net
Hibernateを使おうが、何使おうが、業務ロジックでオブジェクト指向が銀の弾になることはないぞ
あと、DBMSのトリガーと整合性制約でDB更新なんて保守性が落ちるからやめた方がいい
バッチだと普通に対象レコードでカーソル回すしかないんじゃないの?
オンラインのイベントはそもそもキー指定できるだろ?
304:デフォルトの名無しさん
18/10/27 10:46:09.38 4RrrP6U6.net
オブジェクト指向でなくても、銀の弾なんてないからなぁ
より良いものが、オブジェクト指向ってだけで。
305:デフォルトの名無しさん
18/10/27 10:50:13.85 ZWpnR1MN.net
なにを言ってるのかよくわかりません
イベントが主体となるドメインをOOPで実装する場合の最適解を模索してます
ORMの利用は当たり前のはなしであって今はそんなレベルの話はしてません
306:デフォルトの名無しさん
18/10/27 10:56:45.13 CO70PLsl.net
>>297
オブジェクト指向でどのへんが助かった?
俺の回り(メガバンク案件)ではメインフレーム以外ではPL/SQLでやってた頃のほうがよかったねって
ファイナルアンサーになってるんだけど、たの業種はどうなんだろ?
307:デフォルトの名無しさん
18/10/27 11:01:14.48 4RrrP6U6.net
>>298
> イベントが主体となるドメインをOOPで実装する場合の最適解を模索してます
だからOODBを使えばイベントが主体となるドメインをOOPで実装できる
それともイベントが主体となるものをDBの機能を使わないで
実装するにはどうすればいいのですかって話ですか?
手続き型ならどうやるのよ?これ重要なところだから
考えてみなさい(できれば答えてみなさい。)
質問のレイヤーが違ってるのよ
オブジェクト指向の話とDBの機能の話はレイヤーが違う話
308:デフォルトの名無しさん
18/10/27 11:03:18.37 4RrrP6U6.net
>>299
> オブジェクト指向でどのへんが助かった?
バッチ処理以外全般
309:デフォルトの名無しさん
18/10/27 11:03:58.50 CO70PLsl.net
オンラインはServret一辺倒で必然的にJavaで書くけど、
業務ロジックなんてバリエーションくらいで後はホストに投げるだけだし、
Javaだから楽ってこともないな
310:デフォルトの名無しさん
18/10/27 11:04:16.67 S4VvuAVS.net
ただのデータの永続化の問題
しかも永続化の方法をなんらかのDBに限定してる話だからな
コレが低学歴知恵遅れのオブジェクト思考
311:デフォルトの名無しさん
18/10/27 11:09:36.45 CO70PLsl.net
>>301
バッチ処理以外って例えばWebだとして、
JavaのほうがCよりはずっと書きやすい読みやすいけど、
オブジェクト指向だから書きやすいのではなくて、
単にメモリ管理や文字列などが分かりやすいだけだわ、俺の場合
312:デフォルトの名無しさん
18/10/27 11:11:10.55 2OuJiKuO.net
なんだよクリーンな構造って何が聞きたいんだ
313:デフォルトの名無しさん
18/10/27 11:11:37.47 4RrrP6U6.net
>>300に自己レス
どうせ消え去りそうだからw
> 手続き型ならどうやるのよ?これ重要なところだから
> 考えてみなさい(できれば答えてみなさい。)
これどういう意味かというと、
イベント(トリガー)が主体となる処理をDBでやる場合
RDBの機能で行う・・・手続き型
OODBの機能で行う・・・オブジェクト指向
ってことで、手続きもオブジェクト指向もどちらもあり得るんだよ
で、トリガーが主体となる処理を、アプリ側で行う場合、
手続き型・・・どうやるの?(できません)
オブジェクト指向・・・どうやるの?(できません)
ってことで、手続き型でもできないってことなんだよ。
手続き型でもクリーンな実装は思いつかない
ようするに>>293が卑怯(あえて卑怯という言葉を使うw)なのは
アプリ側でできない処理を手続き型ならDBで実装して
オブジェクト指向では、DBで実装してはいけないと言ってること
オブジェクト指向でも、DBで実装すりゃいいじゃん。
どうせそこでしかできない処理なんでしょ?
それがアプリ側でオブジェクト指向使うのと何の関係があるの?
レイヤーが違うでしょという話
314:デフォルトの名無しさん
18/10/27 11:14:08.89 4RrrP6U6.net
>>304
> 単にメモリ管理や文字列などが分かりやすいだけだわ、俺の場合
俺の場合、フレームワークが使いやすいだけ
だけどそのフレームワークでオブジェクト指向が使われてる
なぜか?オブジェクト指向が作りやすいからだろう
オブジェクト指向っていうのはフレームワークを
作るためのものと言っても過言じゃないよ
直接オブジェクト指向を使ってなくても、
その使いやすい環境(フレームワーク)が作れるのは
オブジェクト指向だから
315:デフォルトの名無しさん
18/10/27 11:16:59.64 S4VvuAVS.net
低学歴知恵遅れが設計するようなデータ構造では
なにを使おうがゴミにしかならない
透明なゴミ袋になるか中身がみえないゴミ袋になるかの違いしかない
詰まってるものは同じゴミ
316:デフォルトの名無しさん
18/10/27 11:20:09.47 ZWpnR1MN.net
結局のところ
OOPは万能ではなく苦手な分野もある
業務の多くはOOPの苦手な分野とかぶっている
ということなんでしょうか
OOPはリソースの扱いと相性がいいですが
業務はOOPと相性が悪いイベントのほうが圧倒的に多いんですよね
317:デフォルトの名無しさん
18/10/27 11:21:34.94 4RrrP6U6.net
そりゃ、万能なものはなにもないんだから、
手続き型もオブジェクト指向も苦手な分野はある
> 業務の多くはOOPの苦手な分野とかぶっている
そんなことは一言も言ってない
> 業務はOOPと相性が悪いイベントのほうが圧倒的に多いんですよね
全然そんなことはない。
単にお前の「業務」がそうってだけだろう
318:デフォルトの名無しさん
18/10/27 11:32:14.75 dWq9Hx8p.net
イベント駆動に相性がいいからGUIに多様されてるんだろ?
DBMSのイベント駆動ならOracleに閉じた世界でもできるけど、流行らないだけ
319:デフォルトの名無しさん
18/10/27 11:33:44.31 io741/EL.net
イベントドリブンとオブジェクト指向は相性良いじゃん
320:デフォルトの名無しさん
18/10/27 11:35:53.89 4RrrP6U6.net
>>312
今の話は、DB側への操作によるトリガーを
どうやってアプリ側に伝えるかという話で
それは手続き型でも難しい事で全く関係ない話だけどねw
321:デフォルトの名無しさん
18/10/27 11:36:14.62 ZWpnR1MN.net
>>310
事実ですよ
業務システムの大部分は事実の正確な記録を重視します
つまり何がおこったのかという記録==イベントの記録ですね
322:デフォルトの名無しさん
18/10/27 11:38:48.36 S4VvuAVS.net
そんなもんイベントが発生するたびに
DBなら特定のログ(履歴)テーブルに書き込む(記録する)だけでおしまい
しょうもない
さすが低学歴知恵遅れ。。。
323:デフォルトの名無しさん
18/10/27 11:39:30.23 7e4UH6L0.net
OOPがクソなら
何ならクソじゃないの?
324:デフォルトの名無しさん
18/10/27 11:40:46.36 S4VvuAVS.net
もしかして低学歴知恵遅れが作ったシステムでは
あちこちのテーブルにユーザーの客の行動履歴みたいなもん保存してんの?
あったまわるう。。。
325:デフォルトの名無しさん
18/10/27 11:40:54.05 4RrrP6U6.net
>>314
ようするに「データの保存」のことを
語ってるだけですよねw
> つまり何がおこったのかという記録==イベントの記録ですね
DBのトリガーのことをイベントといっていたかと思えば
今度はデータの保存のことをイベントというのですか
そうやっていろんなことをごちゃまぜにして考えるから
お前はいつになっても理解できないんやで
326:デフォルトの名無しさん
18/10/27 11:45:23.16 S4VvuAVS.net
まずそんな作りになってたら
データ分析にすらまともに使えない
低学歴知恵遅れがシステム作ると
データを分析するデータを作るのも大変になるのがよく分かったわ
327:デフォルトの名無しさん
18/10/27 11:45:57.00 zMT6Eu0F.net
半角さん、いよいよレスも返してもらえなくなったんだw
328:デフォルトの名無しさん
18/10/27 11:49:41.89 zMT6Eu0F.net
半角さんは職歴の事語らないけど、多分ド底辺四次受けとかなんだろうな。
それぐらいの知識も無いんだけど。
329:デフォルトの名無しさん
18/10/27 11:52:35.80 S4VvuAVS.net
この板にいるような低学歴知恵遅れが作ったOODBなんかで保存された日には
まずデータ分析で使えるシロモノになってないことは断言できる
つまり業務システムとして動いてるようにみえてれば
なんでもいいという世界で間違いない
RDBなら致命傷にならずにまだなんとかなる
330:デフォルトの名無しさん
18/10/27 11:54:28.54 p3Z91K38.net
なぜオブジェクト指向で作るのかって本ではジャンケンゲームの例があったな。
CPUvsユーザーの2人(?)版を作って、それを3人4人と増やしたい時、オブジェクト指向の方がコード修正しやすいみたいな。
その時はそうかと思ったけど、後から考えたら別に構造化プログラミングでもそんなに修正しないで済んだ。
パッと浮かびにくいとか、そういう問題だったのかも?とは思いもするが、オブジェクト指向の例を先に見せられたからかもだし、うーん。。。
331:デフォルトの名無しさん
18/10/27 11:55:43.66 CO70PLsl.net
なぜみんな華麗にスルーしてるのに、以下略
332:デフォルトの名無しさん
18/10/27 11:56:33.10 S4VvuAVS.net
低学歴知恵遅れたちに図星のレスだからな
333:デフォルトの名無しさん
18/10/27 11:57:29.94 CO70PLsl.net
>>323
マルチインスタンスのメリット説ね。
実は全然ありがたくないというのに気づくのけっこうかかったわ
334:デフォルトの名無しさん
18/10/27 11:57:38.61 S4VvuAVS.net
まずオブジェクト指向も構造化プログラミングも
どっちもまともに理解できてないのが
知ったかでテキトーに書いてんのがバレバレなワケ
335:デフォルトの名無しさん
18/10/27 11:59:11.11 ZWpnR1MN.net
>>318
私は最初からイベントをデータとして認識してレスしてますよ
リソースとイベントを意識してテーブルを構成するのは基本中の基本なのであえて説明してから議論するまでもないと思っていましたが
まさかこの文脈でイベントドリブンのイベントと勘違いする人がいるとは予想外でした
336:デフォルトの名無しさん
18/10/27 12:04:16.63 S4VvuAVS.net
低学歴知恵遅れは目の前の作業しかみえないからな
その作業でなにをしてるかという感覚すらないからな
動けばいい
それだけだ
337:デフォルトの名無しさん
18/10/27 12:10:26.26 dWq9Hx8p.net
>>328
レコードの更新をハンドリングすることと同じじゃね?
イベントドリブンBeanとDAOを連携させる試みは流行らなかったけど
338:デフォルトの名無しさん
18/10/27 12:11:57.18 S4VvuAVS.net
それぜんぜん違う
やばいわ
DBトリガーの意味すら分かってない
マジで低学歴知恵遅れしかいない
339:デフォルトの名無しさん
18/10/27 12:12:13.85 RkY7jvte.net
頭の悪い人が何か勘違いしてオブジェクト指向を使った
変なコードを書いていることがよくあるという意味では
半角と同意だな
340:デフォルトの名無しさん
18/10/27 12:13:14.82 RkY7jvte.net
>>332
ただし、それに半角も含まれているけど
341:デフォルトの名無しさん
18/10/27 12:14:10.46 S4VvuAVS.net
この板では
基本的なことが分かってないようなのがドヤ顔でレスしてるワケ
珍妙なコードができあがるのも必然
342:デフォルトの名無しさん
18/10/27 12:16:13.04 RkY7jvte.net
>>334
にわかオブジェクト指向厨は
べつにこの板に限らず世に広く
ナンセンスなことを言う人が多いよ
半角様も含めてね
343:デフォルトの名無しさん
18/10/27 12:22:16.77 S4VvuAVS.net
むしろオレレベルでないとオブジェクト指向はムリ
なんどもいうが
低学歴知恵遅れとオブジェクト指向は
キチガイに刃物
344:デフォルトの名無しさん
18/10/27 12:23:55.10 RkY7jvte.net
そうかもしれないが
ブーメランが突き刺さってるぜ
345:デフォルトの名無しさん
18/10/27 12:28:48.03 S4VvuAVS.net
残念なことにまともな教育を受けてれば
低学歴かどうかなんかレスからすぐに分かってしまう
低学歴なうえに著しく知能が低い
その自覚がない
そして自己評価だけは高い
つまりこの板の低学歴知恵遅れは救いようがない
346:デフォルトの名無しさん
18/10/27 12:30:17.69 4RrrP6U6.net
>>328
> 私は最初からイベントをデータとして認識してレスしてますよ
誰も「お前がイベントをデータとして認識してない」なんて
言ってないんだが? あたま大丈夫か?文章読めるか?
お前は、
DBのトリガーのことを "イベント" といってたのに
データの保存のことを "イベント" と言い出した
そういうことを俺は言った
なんで俺が言ってないことに、話すりかえてんの?
347:デフォルトの名無しさん
18/10/27 12:30:54.71 RkY7jvte.net
>>39
って良書?
もしかしたら昔原書を買ったまま本棚に積読してあるかもだけど、
良書なら暇があったらめくってみようかなって気になった。
やっぱオブジェクト指向を使ったソフトウエアの表現て、
実践の場では意外と難しい局面があって煩わされることもしばしばで、
方法の模索が続いて終らない
348:デフォルトの名無しさん
18/10/27 12:31:46.92 4RrrP6U6.net
ID:ZWpnR1MN ってまともに話しているふりして
ただのアンチだろうなw
でなければ、こうも関係ない話にすり替えたりしない
349:デフォルトの名無しさん
18/10/27 12:38:42.17 io741/EL.net
>>328
で結局何の話したいの?
そのクリーンな実装とやらのアーキテクチャの話?
350:デフォルトの名無しさん
18/10/27 12:39:08.49 2OuJiKuO.net
何かをトリガーに何かしたいなら関数オブジェクトなりデリゲートなりなんなりぶちこんで何か起きたら呼べ
そんなんオブジェクト指向だろうが関数型だろうか変わらん
351:デフォルトの名無しさん
18/10/27 12:45:49.91 RkY7jvte.net
>>340
本棚の奥から
蒼い表紙に眼鏡をかけたカモノハシが見得のポーズを切って卵を守っている絵の
An Introduction to Object-Oriented Programming
Timothy Budd
が発掘できたぜよ。でも1991年のfirst editionだた…orz
羽部さんの訳ってどうよ?
良ければ3rd Editionの訳を書店で眺めてみるけど。
352:デフォルトの名無しさん
18/10/27 12:56:30.18 4RrrP6U6.net
>>343
でもなぁ、こいつが言っていたイベントはRDBのトリガーで
(途中でイベントの意味を変えてきやがったが
353:w) RDBのトリガーの内容をアプリ側から知るのは(オブジェクト指向じゃなくても) 手続き型言語で知るのは難しいぜ。RDBにそういう機能はないからな
354:デフォルトの名無しさん
18/10/27 12:58:23.60 S4VvuAVS.net
オレは書籍の内容について批評はしない
確かなことは書籍は読む人間を選ぶとことになる
頭ワルイのがいくら本読んでもムダだからな
なにが書いてあるかを理解するのは自分自身だからな
355:デフォルトの名無しさん
18/10/27 13:03:02.03 E4+ZR5KW.net
T字型ERデータベース知らん人って思ったより居るんだね
オブジェクト指向の最大の弱点は学んだ人がオブジェクト指向は銀の弾丸だと勘違いして他のテクノロジをおろそかにしてしまうことだな
356:デフォルトの名無しさん
18/10/27 13:03:20.83 RkY7jvte.net
>>346
訳は上手いか聞いたんだよ。日本語OK?
first editionをぱらぱらめくってみたけどほとんど基本的な内容だった。
Chapter 15のVisibiility and dependenmcyは80年代後半の
ソフトウエア工学の話題とOOPの関連性が書いてあって多少面白そう
357:デフォルトの名無しさん
18/10/27 13:08:02.52 S4VvuAVS.net
日本語は知らない
358:デフォルトの名無しさん
18/10/27 13:10:51.56 RkY7jvte.net
正直でよろしい。
3rd ed訳を立ち読みしてみようかと思ったが
そのへんの店舗では扱っているところが少なそうだな…
359:デフォルトの名無しさん
18/10/27 13:16:03.98 RkY7jvte.net
訳は2002年の2nd edまでなんだな、しかも¥4,723 て
ぼるなあ
360:デフォルトの名無しさん
18/10/27 13:28:14.73 KIIskOQo.net
チンポがシコシコするぜ!
361:デフォルトの名無しさん
18/10/27 13:40:33.66 CO70PLsl.net
半角さんとちんぽさんはコテ付けてくれよ
362:デフォルトの名無しさん
18/10/27 14:06:02.77 zMT6Eu0F.net
低スペだからコテなんか付けれないだろw
363:デフォルトの名無しさん
18/10/27 14:20:55.23 COSIUYbm.net
ハイ、ここまでオブジェクト指向のメリットなしのクズ男
364:デフォルトの名無しさん
18/10/27 14:22:11.98 +tHchtmr.net
おつかれさまでした
365:デフォルトの名無しさん
18/10/27 15:42:15.57 7e4UH6L0.net
半角さんの言うことは正しいよ
> 低学歴なうえに著しく知能が低い
> その自覚がない
> そして自己評価だけは高い
その場にいるほかのメンツの力量判断できないから
一人だけ調子に乗ってしょーもないことを得意げに演説
一人だけ周回遅れの子ってのは滑稽であり悲しくもある
自分が賢いかのような口調で演説するからいたたまれない
366:デフォルトの名無しさん
18/10/27 16:05:14.75 +tHchtmr.net
なるほど、おつでーす
367:デフォルトの名無しさん
18/10/27 17:49:04.63 RkY7jvte.net
>>357
「頭の悪い人はバカ」って、何の話してんだよ、
オブジェクト指向がクソか どうかだろ
そういうのを頭が悪いと言うんだよ
368:デフォルトの名無しさん
18/10/27 19:23:43.65 FFMC2/bw.net
第三回バーチャルYouTuber人気投票リベンジ募集中(全287名、2018年10月27日~)
あなたの好きなVtuberは?(一人十票)
URLリンク(script.google.com)
・前回(2018/8/22)は不正投票が行われた為、投票を途中で中止させていただきました。大変申し訳ありませんでした。
・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。
・2018/10/27時点でチャンネル登録数10,000人以上のVtuberを対象としています。
・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。
・一人十票です。(全287名の中からお好きなVtuber10名を選んでください。)
・このフォームに投票するにはグーグルアカウントでログインする必要はありません。
・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。
・今回も1,000人の方が投票するまで継続します。
なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。
また【概要】と【詳細】でシートを分けております。
URLリンク(docs.google.com)
▽過去の投票結果はこちら
第二回バーチャルYouTuber人気投票結果(2018年6月5日~8月6日、全投票数1,000票)(スプレッドシート)
URLリンク(docs.google.com)
第一回バーチャルYouTuber人気投票結果(2018年5月7日~5月30日、全投票数1,000票)(スプレッドシート)
URLリンク(docs.google.com)
369:デフォルトの名無しさん
18/10/27 20:09:40.96 if75aWaZ.net
ここまでオブジェクト指向のメリットも挙げられないクズ
早く死んで欲しい
370:デフォルトの名無しさん
18/10/27 20:12:26.50 9XazvJsa.net
バグコードを内包するクラスを多重継承させてたりしたら結局何のためのカプセル化なんですかって話になるんだよね
371:デフォルトの名無しさん
18/10/27 20:18:12.71 Eqi8BIlY.net
多重継承するバカ発見
372:デフォルトの名無しさん
18/10/27 20:21:12.23 4RrrP6U6.net
>>362
それバグを内包するクラスが悪いって話ですか?多重継承は関係なく
373:デフォルトの名無しさん
18/10/27 20:32:22.95 8vLGwI12.net
まぁ一人で作ってるわけじゃなくて何十人も絡むプロジェクトだと「どのモジュールが悪いのか」って
切り分けは必要だから仕方ないんだけど効率悪いよね
374:デフォルトの名無しさん
18/10/27 21:06:19.63 9XazvJsa.net
>>364
継承を通じてバグコードの影響が複雑に伝染することや、多重継承によってクラス間の依存度が高まることでデバッグが難しくなってしまうのが問題の本質なんだから、純粋に多重継承の問題だよ
375:デフォルトの名無しさん
18/10/27 21:08:20.34 4RrrP6U6.net
>>366
でもバグがなければ、何も問題ないですよね?
えと、バグが無いという前提で、
何が問題かを語ってくれませんか?
どうもバグに話をすり替えているようにしか見えませんから
376:デフォルトの名無しさん
18/10/27 21:16:06.32 9XazvJsa.net
>>367
そもそもバグコード生成や不具合発生が避けられないものであるという前提で話が出来ないのかな?
377:デフォルトの名無しさん
18/10/27 21:51:44.06 r8YaGOoY.net
デバッグが困難になる(特に>>366みたいなアホには)って言うのはまあわかるとして
> 結局何のためのカプセル化なんですか
にどうやって繋げるつもりなんだ? w
378:デフォルトの名無しさん
18/10/27 21:54:09.25 JpRu0mgz.net
>>242
今ニュース系サイトで見たんだけど
そこ炎上してたんだwww
379:デフォルトの名無しさん
18/10/27 22:13:20.04 p3Z91K38.net
どっちもどっち。
大元のクラスライブラリにバグがある事もあるし、100%バグの無いコードは事実上不可能だから、バグが無い前提は流石にあかん。
然りとてバグコード含んだクラスを継承というのも行き過ぎで、十分なデバッグやテストを通してから継承するもの。
理想と現実の狭間で最善尽くすだけ。
上でも何度も言われてるが、オブジェクト指向は銀の弾丸では無い。
380:デフォルトの名無しさん
18/10/27 22:33:52.71 7e4UH6L0.net
>>371
みたいなしょーもないシッタカ意見を排除することからはじめたい
381:デフォルトの名無しさん
18/10/27 22:37:37.79 Eqi8BIlY.net
>十分なデバッグやテストを通してから継承するもの
?????????????????????????????
382:デフォルトの名無しさん
18/10/28 01:14:01.05 qArEjd5e.net
そもそも関数で組んでれば依存がないものを
メソッドにすることでメソッド同士でメンバ変数を共有することになるのだが
これはいいことなのか?
383:デフォルトの名無しさん
18/10/28 02:00:49.16 PnJQ4LJT.net
>>368
> そもそもバグコード生成や不具合発生が避けられないものであるという前提で話が出来ないのかな?
はい。だから問題はバグってことですね
384:デフォルトの名無しさん
18/10/28 02:01:43.41 PnJQ4LJT.net
>>371
> 上でも何度も言われてるが、オブジェクト指向は銀の弾丸では無い。
それどころか、手続き型も構造化も関数型も銀の弾丸ではない
なぜオブジェクト指向だけを違うと主張するのか?
385:デフォルトの名無しさん
18/10/28 03:32:02.39 heugqVbH.net
>>376
あふぉか、
なんらかの弱点があるから、どの方法も無意味だとでも言いたいのか
オブジェクト指向には、
特に問題があったのではないだろうかって
いままでさんざ議論してきて
何だそのレスは
386:デフォルトの名無しさん
18/10/28 04:19:38.38 ntMMh/Va.net
中身のないことを議論とは言わない
387:デフォルトの名無しさん
18/10/28 04:43:07.45 heugqVbH.net
それはオブジェクト指向の有効性の議論は
中身はなかったと同義だぞ
388:デフォルトの名無しさん
18/10/28 04:52:49.27 vBzuIBdi.net
>>376
誰もオブジェクト指向だけがなんて言ってないし。
そういうのは、それぞれのスレでお願いします。
もしくは異種格闘技的なスレ建てて下さい。
389:デフォルトの名無しさん
18/10/28 04:53:59.71 vBzuIBdi.net
>>376
誰もオブジェクト指向だけがなんて言ってないし。
そういうのは、それぞれのスレでお願いします。
もしくは異種格闘技的なスレ建てて下さい。
390:デフォルトの名無しさん
18/10/28 07:12:49.71 PnJQ4LJT.net
>>377
> あふぉか、
> なんらかの弱点があるから、どの方法も無意味だとでも言いたいのか
無意味なわけ無いじゃんw
あぁ、もちろんオブジェクト指向がってことだよ。
391:デフォルトの名無しさん
18/10/28 07:36:23.63 MrnoigLK.net
チンポがシコシコするぜ!
392:デフォルトの名無しさん
18/10/28 07:47:13.80 9S8iKrwU.net
>>374
そこに疑問を持たないチンカスばっかりなんだよね
393:デフォルトの名無しさん
18/10/28 07:53:29.84 JSYSCVAX.net
共有できるメソッドが制限できているので・・・カプセル化全否定?
副作用副作用言うならimmutableにでもすれば?
394:デフォルトの名無しさん
18/10/28 08:31:13.63 q5KpZg+C.net
>>374
フィールドの共有がなかったら全てのフィールドを引数でバケツリレーするようなプログラムになる
引数の数が大爆発して意味不明になるぜ
そもそもフィールドを共有してるから依存があるというのは正しくない
片方のメソッドを消去してももう片方のメソッドは独立に使用し続けられる
なのでそこには依存はないんだぜ
395:デフォルトの名無しさん
18/10/28 08:38:18.12 A1A18Cj4.net
オブジェクトに対しての作用としてメソッドが存在するのに、メソッドが同じ変数を共有するって発想自体が意味不明だよな。
396:デフォルトの名無しさん
18/10/28 08:47:35.25 q5KpZg+C.net
フィールドの共有で依存が発生すると主張するのは
引数の共有で依存が発生すると主張するようなものだな
397:デフォルトの名無しさん
18/10/28 09:04:48.97 A1A18Cj4.net
相手のメソッド記述するって結合度気にするなら、全部メッセージでやりとりすれば良い。
宛先と送受信の共通の関数さえあれば結合度気にする必要が無いぞ。
398:デフォルトの名無しさん
18/10/28 09:58:02.87 q5KpZg+C.net
案外、難しく考えない方がいいのかもしれないね
なんか同じこと何度も書いとるなー👉関数
同じ組み合わせの引数ばかりわたしとるなー👉構造体
構造体と関数の組み合わせっていつも同じだなー👉クラス
フィールド直接弄るとバグ出やすいなー👉カプセル化
これでも十分なメリットを享受できる
まずは体感としてこれらのメリットを感じれるまでコードを書く
それから本格的な議論に参加すればいい
逆にこれらのメリットに体感的にすら気付いてないレベルで議論しても時間の無駄だろう
399:デフォルトの名無しさん
18/10/28 10:07:49.72 9S8iKrwU.net
>>390
そっか、お前らサルってメリットがどういうものか知らないんだな
メリットってのはお金を産まなきゃ意味がないんだぞ
具体的には工数削減と品質向上だ
工数削減はわかると思うが、さらに品質向上には基準が必要だ
これらの数字を具体的に変更して初めてメリット足りうる
おk?
400:デフォルトの名無しさん
18/10/28 10:08:23.71 9S8iKrwU.net
このスレにいるのは
俺にはサルしか見えない
メリットも見えない技術を使って悦にいってるような雑魚は
そもそも技術者でもプログラマでもなくてサルだろ
401:デフォルトの名無しさん
18/10/28 10:15:58.76 PnJQ4LJT.net
>>391
> 工数削減はわかると思うが、さらに品質向上には基準が必要だ
> これらの数字を具体的に変更して初めてメリット足りうる
> おk?
結論を言ってしまうと、コードメトリクスだね。
ツールを使って客観的に計測できる
402:デフォルトの名無しさん
18/10/28 10:22:50.11 q5KpZg+C.net
>>391
計測すればわかるけど俺が書いたことをやればスコア普通に良くなるよ
誰とは言わないけど感情が全てのサルには理解できないかもしれない
けど計測手段を持ってる人間にとってはオブジェクト指向のメリットは明白なんだよね
403:デフォルトの名無しさん
18/10/28 10:27:04.29 9S8iKrwU.net
>>394
じゃあ、具体的に何がどういう理由でそうなるの?
404:デフォルトの名無しさん
18/10/28 10:31:53.41 q5KpZg+C.net
>>395
コードの重複が減る
変数や引数が減る
分岐やループが減る
不正な操作が減る
危険な操作が減る
したがってスコアが良くなる
405:デフォルトの名無しさん
18/10/28 10:40:16.34 9S8iKrwU.net
>>396
具体的にどうして?
関数と比べて増える要素はあっても減る要素ないよ
406:デフォルトの名無しさん
18/10/28 10:46:09.61 9S8iKrwU.net
局所的なグローバル変数を使ってるに過ぎないのにメリットなんかねーよ
バカって結論を俺は持ってるけどね
オブジェクト指向のデメリットはグローバル変数のデメリットと同じなんだよ
407:デフォルトの名無しさん
18/10/28 10:49:54.17 PnJQ4LJT.net
>>398
お前が言ってるのは、グローバル関数のデメリットのことだろ?
408:デフォルトの名無しさん
18/10/28 10:52:05.99 PnJQ4LJT.net
グローバル変数が悪だからって
グローバルクラスも、同じグローバルがついてる
悪に違いない!って考えるのは単なる短絡思考
409:デフォルトの名無しさん
18/10/28 10:53:27.65 oBRWPPCT.net
グローバル変数は丸出しでかつ一個じゃん?
メンバ変数は隠すこともできてかつ複数じゃん?
あと、まとめて隠しとくメリットもでかくね?
int cap = 32, size = 0, data[cap]; // こーいうのより
vector<int> v; // こっちがスッキリじゃね
410:デフォルトの名無しさん
18/10/28 10:56:23.17 q5KpZg+C.net
局所的なグローバル変数で爆笑した
コメディアンの才能あるんじゃないか?
411:デフォルトの名無しさん
18/10/28 11:01:33.11 oBRWPPCT.net
というよりもよく考えたら
> 局所的なグローバル変数
というのが単に誤解なんだよな
struct data {int value;}
void method(struct data *this) {}
っていう単なるパラメータなんだから
412:デフォルトの名無しさん
18/10/28 11:03:35.69 A1A18Cj4.net
おまえら、オブジェクトの意味を知ってて言ってるのか?
知ってりゃグローバル変数なんて意味不明な話しないかw
413:デフォルトの名無しさん
18/10/28 11:13:27.53 B8FJbCxl.net
ここだけ30年前かよ
ぽっくんの業務では当てはまりませんでしたー
ってCOBOLでも書いていたらいいよ
別に困ってないだろ?
414:デフォルトの名無しさん
18/10/28 11:46:39.03 WEhY2ED3.net
>>396
で、なっぜJavaやC++でたコード書くと
あんなことになるんだw
415:デフォルトの名無しさん
18/10/28 12:58:44.66 9S8iKrwU.net
>>386
それで爆発するならメンバ変数の把握できない状態爆発のが問題
状態を複数持つオブジェクトをクラス内に内包すると単純に乗算でその数が増えていく
状態を10個持つクラスと状態を5個持つクラスがあるだけで取りうる状態数は
50個
ウォーズマンの超人パワー波に状態が増えていく
グローバル変数のまずさはこの把握できない状態爆発が本当の問題
問題の本質もわからないサルがオブジェクト指向なんてありがたがってるだけ
416:デフォルトの名無しさん
18/10/28 13:07:28.41 Ok+RtHZ3.net
ローカル・グローバル・ヴァリアブルwwwwwww
417:デフォルトの名無しさん
18/10/28 13:33:22.60 +hej1rjz.net
>>386
それは別に構造体定義して引数で渡せばいいだけだね。
>片方のメソッドを消去してももう片方のメソッドは独立に使用し続けられる
>なのでそこには依存はないんだぜ
メソッドを消去したらみたいな静的なことは問題にしていない。
メソッドの呼び出し順で動作が異なる点について言及している。
つまり状態を共有しているってことについて。
コードベースで見れば確かに構造体の型とそれにひもづく関数を結びつけとくのは
管理しやすいってのはそうだが上記のデメリットをどれだけ上回っているか。
418:デフォルトの名無しさん
18/10/28 13:58:58.05 Ok+RtHZ3.net
>>409
そうそう
第一段階: 構造体にして渡せばいいだけじゃん(クラス的発想のスタート地点)
第二段階: っていうか構造体と関数っていつもセットだから一緒に管理しよ(メソッド)
第三段界: 管理されたメソッド以外から弄るとバグでやすいから禁止しよ(カプセル化)
キミが言うように「〜すればいいだけだよね」ってのを素直に実践するとOOPに到達するんだよ
キミも後少しで議論のスタート地点にたてるかもね
キミの考え方だと
funcA(pState);
funcB(pState);
これはfuncAとfuncBが状態を共有しているということになるネ
419:デフォルトの名無しさん
18/10/28 14:03:43.02 9S8iKrwU.net
>>410
funcAに特定のpStateを入れて必ず同じ結果が返るならそれはいいコード
異なる結果が返るならさいっこうにクソ
ボディブロー100連発
420:デフォルトの名無しさん
18/10/28 14:06:00.57 +hej1rjz.net
>キミの考え方だと
>funcA(pState);
>funcB(pState);
>これはfuncAとfuncBが状態を共有しているということになるネ
ならねーよ。
普通に見ればpStateが状態を共有してるってことになるだろ。
どんな馬鹿な見方をするとこんな考え方になるんだろうか。。
421:デフォルトの名無しさん
18/10/28 14:06:10.12 Ok+RtHZ3.net
補足すると
funcB(pState);
funcA(pState);
にかえると動作が異なるからキミの言い分だと常態を共有しているということだね
さらに最悪なことにカプセル化されてない場合
funcB(pState);
pState->x = 10;
funcA(pState);
みたいなアドホックなコードから状態を変更されるリスクがあるから
事実上プログラム全体で状態を共有しているようなものだね
422:デフォルトの名無しさん
18/10/28 14:07:31.98 Ok+RtHZ3.net
>>412
>>413でも補足したけどキミが言ったことをそのまま引用したんだよ
呼び出し順で動作が変わるなら状態を共有してるってね
423:デフォルトの名無しさん
18/10/28 14:13:50.08 9S8iKrwU.net
>>413
だからいいんだって
テメーのコードは
pState.funcA()
ってやっても
pStateの中身が見えないのが問題なんだよ
424:デフォルトの名無しさん
18/10/28 14:25:39.53 9S8iKrwU.net
funcA(pState)「僕が変更したのはpStateだけです、グローバル変数なんて使ってませんよ」
pState.funcA()「あああああ!!!!!!!!
(ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)」
425:デフォルトの名無しさん
18/10/28 14:29:45.55 i0t9ojwl.net
オブジェクト指向でも副作用って無くすべきだよなぁ
こういうのって手続きかオブジェクト指向しか触ってこなかった人は気づかないもんかな
426:デフォルトの名無しさん
18/10/28 14:37:41.79 JSYSCVAX.net
pState.func()、funcA(pState)
どちらもpStateを渡して呼び出しているし、pStateを変更しただけです!と言えるのでは
副作用が嫌ならimmutable objectにすれば?
427:デフォルトの名無しさん
18/10/28 14:39:53.29 86INTnoC.net
>>418
nimではどっちも同じ意味だな…
428:デフォルトの名無しさん
18/10/28 14:43:01.09 WEhY2ED3.net
もうしっちゃかめっちゃかだな
ホント都市伝説なオブジェクト指向
429:デフォルトの名無しさん
18/10/28 14:47:10.20 9S8iKrwU.net
>>418
private無ければな
430:デフォルトの名無しさん
18/10/28 15:03:12.30 JSYSCVAX.net
>>421
privateはデータに直接アクセスできる関数を制限するだけなのに
それを無くしたいは何で?
431:デフォルトの名無しさん
18/10/28 15:42:48.94 q5KpZg+C.net
>>417
ValueObjectからAggregate Rootまで全部イミュータブルにする派閥もあるよ
432:デフォルトの名無しさん
18/10/28 16:02:29.47 1gIkUjQ9.net
あるメソッドがどのスーパークラスで定義されてて、
それがどのスーパークラスでオーバーライドされてて、
結果的にいま自クラスで呼んでるこのメソッドはどこで定義されたものなのかが
わかりにくいのが非常にイライラすることがあるけどお前らどうしてんの?
真面目にクラスライブラリのリファレンスを愚直に辿ってんの?
433:デフォルトの名無しさん
18/10/28 16:09:00.49 q5KpZg+C.net
>>424
どれが呼ばれて何をやってるかを気にしなくていいように作るのが正解
434:デフォルトの名無しさん
18/10/28 16:15:39.00 1gIkUjQ9.net
>>425
そもそも一つ上のスーパークラスで定義されてないメソッドを呼んでるコードを見た時
そのメソッドってどのクラスで定義されてるのかがわからないと、どういう機能のメソッド
なのかわからなくね?
スーパークラスから継承したメソッドはオーバーライドしていなくても全て下位のサブクラスの
リファレンスマニュアルに書いてくれるならいいんだがそうなってないのがイラつくって話
435:デフォルトの名無しさん
18/10/28 16:25:39.62 vBzuIBdi.net
オブジェクト指向と関係あるか不明だけど、一時期関数型言語に嵌って、オブジェクト指向よりも依存性を抑えられて保守性が上がって良いとは思ったんだが、そればかりだとCPUパワーが発揮出来ないんだよね。
(ほぼキャッシュに収まらず、メモリアクセスが増える)
んで、対極のCやアセンブラに手を出した。
今度はグローバル変数が多くなる。
(逆に如何に変数(メモリアドレス)へのアクセス減らしてレジスタ使い回すかで速さが違ってくるから、それはそれで楽しい。ただし8/16ビットに限る。それ以上はハードが複雑になり過ぎる)
結局オブジェクト指向って、その間をとったんじゃ無いかと思うんだよね。(メモリアクセス減らしつつグローバル変数減らす苦肉の策+責任分担)
実際、CからC++への移行期はまだCPUも遅くて、オブジェクト指向にすると遅くなると言う意見が多かった。
(C++やJava、C#、Delphiで一応オブジェクト指向も勉強したけど、効率と言うより保守性や多人数での開発が前提な気がする。コードは全体じゃ増えるけど、このクラスはお前ね。みたいに割り振り易い)
(特にC#は1つのクラスを複数ファイルに分けられるので、メソッド単位で人に任せ易い。個人では逆に分かりにくくて迷惑な機能)
tcl/tkとかある通り、必ずしもGUIはオブジェクト指向じゃ無いと使い難いって事はない。
Haskellだって(関数的じゃないから気持ち悪いだけで)向いてないとは思わなかった。
ただ既にIDEの整っているのがオブジェクト指向ってだけだが、それだけで十分オブジェクト指向を勧める価値はあるんじゃないかな。
436:デフォルトの名無しさん
18/10/28 16:31:22.24 q5KpZg+C.net
C#のpatialは分業のためじゃない
コード生成のためだ
437:デフォルトの名無しさん
18/10/28 16:39:33.30 WEhY2ED3.net
>>427
スピードをとても重視するなら不便でも強い最適化のかかる言語を選ぶしかないだろ
突き詰めればCかFortranかアセンブラしかなくなる
逆にvm上やインタプリタでもスピード敵に問題なければ生産性、保守性、可読性、
依存抑制、独立性、局所性、階層化構造、拡張性を重視していいだろ
ほとんどは後者
438:デフォルトの名無しさん
18/10/28 16:40:53.22 9S8iKrwU.net
>>422
値が見えないから
439:デフォルトの名無しさん
18/10/28 16:42:51.19 JSYSCVAX.net
>>430
getterとかプロパティ作って
440:デフォルトの名無しさん
18/10/28 16:44:46.79 WEhY2ED3.net
そうやってwebみたいにくもの巣状態になるんだよな
441:デフォルトの名無しさん
18/10/28 16:45:09.74 9S8iKrwU.net
>>431
publicでええよ
442:デフォルトの名無しさん
18/10/28 16:46:44.13 WEhY2ED3.net
いやいっそclassの外に出せよw
443:デフォルトの名無しさん
18/10/28 16:51:06.47 vBzuIBdi.net
>>429
いあ、だから。。。
その中間を目指したんじゃないかと。
関数型言語ほど目指すと遅くなる。
最適化目指し過ぎると大規模開発に対応出来ない。
オブジェクト指向は現実解だったんじゃないかと。
444:デフォルトの名無しさん
18/10/28 16:56:20.42 oLhbCszz.net
チンポがシコシコするぜ!
445:デフォルトの名無しさん
18/10/28 16:57:12.44 WEhY2ED3.net
>>435
結果として性能的にそういう位置づけに当たることがあるかもしれないが
スピードのための折衷案を目指して作り出された物ではなく
あくまでソフトウエアの構造を表現する新しいパラダイムを目指していたと思うよ。
少なくとも1990年代初期ころまでは。
あとhaskelやMLの生成するnativeコードは結構早い(といわれている
446:デフォルトの名無しさん
18/10/28 17:01:57.75 JSYSCVAX.net
>>433
何処からでも変更できるようにしたいのか
それって…
447:デフォルトの名無しさん
18/10/28 17:08:22.93 Ok+RtHZ3.net
ネットワークとデータアクセスがあるからパフォーマンス上げるなら水平スケールするように設計する
スケール前提だと細かい最適化は非効率的だし最適化のためにメンテナンス性が悪くなって設計ミスってスケールしなくなったら最悪
448:デフォルトの名無しさん
18/10/28 17:13:06.13 vBzuIBdi.net
>>437
うい。
折衷案を目指したのではなく、悪魔で手続き型言語(構造化プログラミング)の延長として保守性を高めた結果だと思う。
代入が(殆ど)無い関数型言語と違って、代入前提で保守性高めた結果。
因みにMLとOcamlはC並みだと言われるが、少なくともHaskellはLL並みよ?
(C並みにするには先行評価しまくるしか無いので、遅延評価のHaskellは「速くできるけど面倒臭い」)
それでも大規模開発に強いから良いんだろうけど、結局どこぞの銀行にはOcamlが採用されてたね。
Haskell好きだけど、現実はそうだよねーって思うよ。
割と前から言ってるけど、関数型言語はアルゴリズムを読むだけで分かる言語なので学習には向く。
アルゴリズムが分からなかったら関数型言語で理解して、オブジェクト指向言語で書くのが現実的じゃ無いかな。
449:デフォルトの名無しさん
18/10/28 17:17:31.62 WEhY2ED3.net
>>440
haskelの生成コードの性能については俺の記憶違いかな。
そうなんだよねC++やjavaは基本的には構造化の延長でstructの
instanceのscopeにmethodを結びつけるscopeingで
ソフトウエアを表現しようとして、非階層的extent, scopeの依存の
ネットワークのわなにはまるんだよ
450:デフォルトの名無しさん
18/10/28 17:30:27.68 vBzuIBdi.net
>>441
いあ、記憶違いでは無いと思う。
Haskellも実行速度ランキングで一時期一位取ってた。
ただ、それはソースを読むとゴリゴリに最適化したもので、一般には普通に書くとLL並み。
ランキングは言語の速さだけでなく、信者の意地も含めての結果だと思った。
451:デフォルトの名無しさん
18/10/28 17:31:12.68 rXYAu0j5.net
クギと板がある
クギをうち込んで板と板をくっつける
板と板をくっつけるだけの単純なオブジェクトの依存関係でも
それが増えるにつれ、その単純な依存関係ですら低学歴知恵遅れの手にかかると
だれも手に負えないシロモノになってる
オブジェクト指向でも構造化プログラミングでも、低学歴知恵遅れの手にかかれば結果は同じ
ありえないデータ構造になってるというより規格化された構造の痕跡すらない状態になってる
構造化プログラミングでも要求されるまともなデータ構造の設計ができるという前提条件がなければ
当然オブジェクト指向でクラスの設計なんかそもそもムリだからな
ペンギンが空飛ぶとか飛ばないとかまずどうでもいいワケ
それ以前の問題だからな
452:デフォルトの名無しさん
18/10/28 17:35:35.29 WEhY2ED3.net
半角ちゃん、たとえ話がくどいよ
人のことをどうこうじゃなく
オブジェクト指向がどうか なぜそういう話をできないんだあんたは
453:デフォルトの名無しさん
18/10/28 17:36:35.53 86INTnoC.net
いやペンギンが空飛んだら大事件だろ。
世界中でトップニュースになるぞ。
454:デフォルトの名無しさん
18/10/28 17:44:43.42 rXYAu0j5.net
オレは明確なコタエを一貫して書き込んでる
オレの�
455:セ説の正しさを補強したレスにちゃんとなってるからな 一切ムダがない 低学歴知恵遅れにオブジェクト指向は キチガイに刃物 低学歴知恵遅れにオブジェクト指向はムリ 当然、この板にいるような低学歴知恵遅れにオブジェクト指向はムリ わかった? 低学歴知恵遅れには分かんないか、やっぱり
456:デフォルトの名無しさん
18/10/28 17:59:29.84 vBzuIBdi.net
>>446
半分合ってて半分間違い。
知恵遅れに刃物は合ってるけど、だからこそオブジェクト指向でその影響を局所化してる。
構造化プログラミングとかだとグローバル変数が多い分、全体まで影響しかねない。
オブジェクト指向でも構造化プログラミングでも知恵遅れにまともなプログラミングは出来ないのは同意。
だが、周りにかける迷惑の範囲が違う。
457:デフォルトの名無しさん
18/10/28 18:03:38.75 rXYAu0j5.net
低学歴知恵遅れの理解では
構造化プログラミングはグローバル変数を使うことになるのか
オブジェクト指向なら使わないですむと
やっぱり低学歴知恵遅れがいうことは
一味違うわ
458:デフォルトの名無しさん
18/10/28 18:11:37.14 vBzuIBdi.net
>>448
程度問題だよ。
特にGUIでは顕著に違う。
初期化関数とイベントの関数で共通の変数とかね。
イベント関数内で初期化する訳にはいかないって場面は意外と多いよ。
459:デフォルトの名無しさん
18/10/28 18:13:14.02 rXYAu0j5.net
こんどは程度とな。。。。
クラスを全部構造体にかえてみ
なにが違うわけ?
460:デフォルトの名無しさん
18/10/28 18:18:05.08 Ok+RtHZ3.net
構造体にデータと関数ポインタを持たせてOOPってのはC言語でも昔から知ってる人はやってた
言語でサポートしてミスできないようにしただけで中身は同じなんだよな
ということはアンチOOPの人たちも実質OOPを使っていたと言えなくもないな
461:デフォルトの名無しさん
18/10/28 18:45:19.42 oLhbCszz.net
でも俺はパソコンに向かって独り言ブツブツ言って、チンポがシコシコしてるだけだ!!!
462:デフォルトの名無しさん
18/10/28 19:02:09.50 vBzuIBdi.net
>>450
馬鹿なの?
全部構造体にしたらどこからでも参照し放題でしょ?
全部じゃないが、ある程度の変数がクラス内のメソッドでしか使われないから影響が構造化プログラミングよりはマシなんだよ。
自分の作った構造体を知恵遅れに弄られたいの?
次関数呼んだら、弄られてて予定してた値と違うとかあるんだよ?
(そして、それが自分のせいじゃないとか)
関数型言語は代入が基本的に無いから、同じグローバル変数を使っても、そっちはそっちで勝手にバグ作っててもこっちに影響が無いってだけ。
変数を書き換えることが基本だからオブジェクト指向は生まれたんじゃないかと思うし、それはそれで一つの正解だとは思うよ。
463:デフォルトの名無しさん
18/10/28 19:09:04.54 vBzuIBdi.net
と言うか最初から関数型言語ほど徹底するとメモリアクセスが増えて遅くなるし、最適化目指すと大規模開発に対応出来ないって書いてる通り、
最初から程度問題の話しかしてないよ。
464:デフォルトの名無しさん
18/10/28 19:27:29.98 MrnoigLK.net
チンポがシコシコするぜ!
465:デフォルトの名無しさん
18/10/28 19:27:32.77 rXYAu0j5.net
いじられたくないなら
構造体のポインタにconstつけて入力の引数でわたせばおしまい
いじられたくないのに
なんでグローバルスコープでなんでもありでわたそうとすんの?
どうしてそんなに低学歴知恵遅れは頭ワルイの?
もしかして低学歴知恵遅れは
引数の入力となる状態が変更されないクラスのインスタンスにconstつけたり
クラスのインスタンスが変更されないメソッドにconstをちゃんとつけたりもしないの?
どうしてもグローバルスコープにおきたいなら
最低でもconstの構造体ポインタでアクセスできるようにでもしとけば
知恵遅れが想定外の記述をしないかぎり変更されることはないからな
やっぱりな低学歴知恵遅れにオブジェクト指向はムリ
466:デフォルトの名無しさん
18/10/28 19:34:00.47 vBzuIBdi.net
>>456
お前、Win32APIでプログラミングしたこと無いだろ。
467:デフォルトの名無しさん
18/10/28 19:38:58.32 rXYAu0j5.net
こんどはwin32APIとな。。。
win32APIってmicrosoftがmicrosoft windowsで提供するただのアプリケーションインターフェースのことだが
それがどうかしたのか。。。
ホントなこんなのがオブジェクト指向()とかなんとかいっちゃってるワケだからな
468:デフォルトの名無しさん
18/10/28 19:41:44.86 Niq+/yqY.net
どういう問題を示唆されてるかわからなければ半角は黙ったほうが良いよ。
また恥晒すの?
低スペだから?
469:デフォルトの名無しさん
18/10/28 19:43:54.73 rXYAu0j5.net
また低学歴知恵遅れがしゃしゃりでてきてるわ
大体分かるwindowsでイベントの処理で
470:データをうまく渡すことが 低学歴知恵遅れのオツムではまともにできない
471:デフォルトの名無しさん
18/10/28 19:45:20.34 1gIkUjQ9.net
自分だけはバカじゃないという前提
472:デフォルトの名無しさん
18/10/28 19:45:50.75 rXYAu0j5.net
それが低学歴知恵遅れの程度
473:デフォルトの名無しさん
18/10/28 19:46:34.49 rXYAu0j5.net
マジでキミラって低学歴知恵遅れ自覚がないの?
474:デフォルトの名無しさん
18/10/28 19:49:16.31 rXYAu0j5.net
こんなのが偉そうに講釈たれてんのがこの板だからな
相当に低学歴で
相当に知能が低い
まずコイツラをこの板から排除しないと板が正常化しない
475:デフォルトの名無しさん
18/10/28 19:53:41.93 MrnoigLK.net
米国で上位1%が富の独占をしている大きな理由は、労働者をスキルや成果で大きく選別しているからだ。
しかしながらそうでもしないと、ドラクエ10の下請けのように、コードの質が大きく落ちてしまう。
俺はドラクエ一筋なんてのはむしろゴミなコードを入れてしまう『有害な』働き者なのだ。
それは中小企業のデスクワークによくありがちな、要らない書類ばかり作って俺は仕事ができるみたいなものだ。
提案広場でよく『そう思わない』される理由
URLリンク(dragon-quest.me)
このゲームすぐ持ち物いっぱいになるな
URLリンク(dragon-quest.me)
【ドルボードGP】おいwデスルーラ作戦晒すなやwwwww
URLリンク(dragon-quest.me)
でも月額千円では、下請けプログラマーの選別なんて出来っこないだろう?
>このゲームすぐ持ち物いっぱいになるな
ゲームの仕様について意見を出すと、必ずといっていいほどに『そう思わない』で真っ青。
つまり準廃プレイヤー=下請けプログラマーには、ゲームの仕様を変える能力が欠如しているのだ。
アルバイトの賃金が低いのはスキルを必要としない単純作業だからで、労働者にスキルを求めるのであれば、
アルバイトよりも高い賃金を上乗せして払わなければならず、更に成果に応じた報酬も必要となる。
476:デフォルトの名無しさん
18/10/28 19:56:46.74 vBzuIBdi.net
constとか書いてるからさ。
作ってみりゃわかるけど、const付けて~とか事実上無理。
子Windowの値を親Windowに反映させる時点でグローバル変数が出て来るし、代入不可避。
(別々のコールバック関数が必要)
const~で済んでりゃMFCや.netは出てない。
477:デフォルトの名無しさん
18/10/28 20:12:41.22 rXYAu0j5.net
低学歴知恵遅れにはムリ
それがコタエ
478:デフォルトの名無しさん
18/10/28 20:16:59.94 1gIkUjQ9.net
他人に対してバカしか言えないやつって頭が悪い可能性が高い
479:デフォルトの名無しさん
18/10/28 20:17:58.05 rXYAu0j5.net
しっかり低学歴知恵遅れの理由を書いてあるからな
残念なことに
480:デフォルトの名無しさん
18/10/28 20:50:15.29 MrnoigLK.net
登り棒してたらチンポがシコシコしてきた、小学生時代にそういう経験したか?
481:デフォルトの名無しさん
18/10/28 21:05:42.65 tuMGnEVB.net
>>456
素人露にすんなよw
482:デフォルトの名無しさん
18/10/28 21:12:11.91 GjeNS8O7.net
>>446
>一切ムダがない
ほとんど無駄話ばっかしやがって
なに言ってやがるw
483:デフォルトの名無しさん
18/10/28 21:44:33.61 MrnoigLK.net
>>472
>ほとんど無駄話ばっかしやがって
>なに言ってやがるw
俺はもとよりパソコンに向かって独り言ブツブツ言って、チンポがシコシコしてるだけだが?
484:デフォルトの名無しさん
18/10/28 21:54:03.67 GjeNS8O7.net
局面が変わると融通が効かない複合型データ構造を元にscopeを持たせるから
データ構造のinstanceが依存ネットワークのhubみたいな役割を果たしてしまう。
private/protectedでメンバごとのscopeを人間が制御しようとしても、
一旦中に隠したものを、別の場面では外に見せなきゃいけなくなったりして
少し規模が大きくなると急激に複雑さをます。
また内部scopeからは幅広くすべてがglobal変数みたいに丸見え
局面に応じたscopeやextentの管理がしにくい
カプセル化1つとっても
485:これだけ欠点があるよ
486:デフォルトの名無しさん
18/10/28 22:00:04.44 GjeNS8O7.net
でもカプセル化の一番の弱点というか欠点は
人間が把握しやすい階層的で入れ子なextent, scope管理としにくく
非階層的でランダムグラフ的な依存ネットワークを形成して
かつ本来状態が不要なところまでもinstanceを状態変数みたいにして
getter/setterで頑張って状態管理しちゃおうとしてカオスに向かうこと
487:デフォルトの名無しさん
18/10/28 22:02:38.88 9S8iKrwU.net
何言ってるのかさっぱりわからんかった
オブジェクト指向のメリットの説明はできたん?
488:デフォルトの名無しさん
18/10/28 22:02:55.82 L1fR1kUz.net
a.foo()
foo(a)
どちらもaを渡してfooを呼んでいるのに
a.fooの方はグローバル変数と言うらしい
489:デフォルトの名無しさん
18/10/28 22:04:11.51 GjeNS8O7.net
継承にいたっては目も当てられない
コードの実装レベルの類似性に基づく共有のための手段として利用されがちで
論理的な構造、モジュラリティーを破壊し
クロスファイルで静的依存ネットワークを形成する。
その静的コードから動的にどのような依存を持ったインスタンスネットワークが
形成されるのかもはやカオスとなる
あフォトしか言いようがない
490:デフォルトの名無しさん
18/10/28 22:05:25.52 qArEjd5e.net
>>477
とりあえずそのfooの実装においてaがどんなふうにアクセスされるのか意識して
プログラムしてみたら?
少しはコードがマシになると思うよ。
491:デフォルトの名無しさん
18/10/28 22:12:05.45 1CEqWH54.net
>>476
とりあえず、インポートで名前がぶつかりにくい
ぶつかるのクラス名ぐらいだから
492:デフォルトの名無しさん
18/10/28 22:41:05.36 3n4eNDQn.net
>>478
継承元のクラスのコードだけを見てもコード変更の影響が推測できないのが本当に邪悪だよな
493:デフォルトの名無しさん
18/10/28 22:53:27.92 oBRWPPCT.net
>>464の意見は正しい
アホなやつほどシッタカレスに努力する
知ってることだけ言うんじゃなくて
知ってることを総動員して精一杯背伸びしたフワフワ文書を書き込むよね
初心者の子はカキコまんでいい
半年ROMれ
494:デフォルトの名無しさん
18/10/28 23:01:01.96 88TeNCm3.net
グローバル変数との区別もできないようなので
話すだけ無駄かと
495:デフォルトの名無しさん
18/10/28 23:05:48.86 1gIkUjQ9.net
リファレンスのドキュメントを継承元スーパークラスから継承したメンバ(フィールド、メソッド)を含めて全部書いてもらえればもうおれはそれ以上は望まない
それだけでいい。。
496:デフォルトの名無しさん
18/10/28 23:06:03.23 9S8iKrwU.net
そもそもオブジェクト指向のメリットだけ説明すればいい
497:デフォルトの名無しさん
18/10/28 23:08:22.68 9S8iKrwU.net
自分が使ってる技術のメリットも説明できんやつはサルだろ
キーボード折って便所掃除でもしてろ
498:デフォルトの名無しさん
18/10/28 23:10:16.04 1gIkUjQ9.net
いちいち表現が大げさで過激なのは芸風?
499:デフォルトの名無しさん
18/10/28 23:26:53.50 1CEqWH54.net
>>484
inheritedで一覧出てくるのはあるよね
500:デフォルトの名無しさん
18/10/28 23:43:18.92 rXYAu0j5.net
オレの正確無比でムダのないワルクチに耐えられないのは分かる
低学歴知恵遅れが射精できる今の板の状態はゆゆしき問題
まずコイツラに射精させないようにしないといけない
著しい低学歴知恵遅れのオマエ含めてな
低学歴知恵遅れに強いストレスを与え続けて排除することが板の正常化につながるということは
もうだれもが気付き始めてる
もう後戻りはない
501:デフォルトの名無しさん
18/10/28 23:55:19.05 Ho+tawR1.net
射精くらいさせてやれよ、基本的人権にかかわるぞ
つかお前の書くレスもチンポちゃんレベルのゴミだな
502:デフォルトの名無しさん
18/10/29 03:33:54.12 cH/HmFkL.net
今時継承とか使わないし
マジ包含だし
503:デフォルトの名無しさん
18/10/29 06:35:34.63 aSZfpFql.net
継承は、サブタイピングの目的では使わないけど
差分プログラミングの目的では使う
504:っしょ ケースバイケースだよ
505:デフォルトの名無しさん
18/10/29 07:25:07.42 PWKZ4BcT.net
>>478
>継承にいたっては目も当てられない
>コードの実装レベルの類似性に基づく共有のための手段として利用されがちで
戦神のベルトが倉庫を圧迫。仕分けましょう【DQ10】
URLリンク(okirakudq10.com)
506:デフォルトの名無しさん
18/10/29 07:34:29.07 PWKZ4BcT.net
299 その名前は774人います (ワッチョイ db8e-7PZ0) sage 2018/10/24(水) 06:21:12.94 ID:U7GhzgwH0
ドラゴンクエストテン
~目覚めし5つの倉庫整理~
507:デフォルトの名無しさん
18/10/29 07:37:42.87 PWKZ4BcT.net
187 その名前は774人います (バットンキン MMe3-9smq) 2018/10/28(日) 20:26:05.00 ID:+SX2t0AiM
新規さんに俺から質問。
仮にオフラインのゲームであれば「拾った」ことを検知して、プレイヤーの手にそれを持たせるなどの処理をかけば目的が達成できます。
(もちろん、ゲーム的に意味を付けるならもっと色んなことを書かないとダメですが)
しかし、オンラインゲームの場合、その「拾ったオブジェクト」はサーバおよび全クライアントで表示されています。
そしてその位置を動かした場合。誰の位置を信頼したらいいでしょうか。
サーバ側? でも、位置のアップデートはたった今拾ったプレイヤーの位置や行動によって変更されます。
URLリンク(edom18.hateblo.jp)
『キラキラマラソン金策』やってますか? 儲かるキラキラアイテムがアストルティアのあちこちにありますか?
ドラクエ10 キラキラの復活時間に仕様変更!
URLリンク(serious-takacchi.blog.so-net.ne.jp)
キラキラオブジェクトの復活時間、意識してますか?
508:デフォルトの名無しさん
18/10/29 07:48:44.66 PWKZ4BcT.net
正式名称は分からないが、死亡ラグとは症状としては既に死んでしまっているが自分の視点ではまだ動けている状態となる。
俗に言う「赤ピン」と呼ばれる症状が長く続くことでダメージ判定が遅れてやってくる。
他のプレイヤー視点では既に倒れている。しかし、遅れているので自分では分からないためいきなり何もないところで死ぬ。
また、デスマッチなどでは既に死んでいるため、自分が動けてもリスポンされていたりして無敵時間が無くなり、
復活した瞬間に倒されることもある。自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。
その結果キルログを注視してしまいゲームを楽しめなくなってくる。
国内のゲームではこの「赤ピン」という症状が発生し、移動以外の全ての行動が遅れて同時にやってくる。
射撃も投擲も全て赤ピン状態が解除された瞬間に行われるが、射撃の弾丸は飛ばず音だけ重なって発生する。しかし、
投擲は投げたはずが飛ばす、赤ピン状態が解除された瞬間に投擲開始するため、
銃を構えていても突然投擲してしまい味方を巻き込んだり自爆したりしてしまう。
URLリンク(gamingpcs.jp)
プログラミング言語の性能差
主な言語とスループット
言語 スループット 特性
C/C++ 100 静的言語ネイティブコード
Java 1~10 静的言語VMバイトコード
Ruby/Python 0.1~1 動的言語
オンラインゲームのサーバではC/C++が最も使われ
る
URLリンク(www.wata-lab.meijo-u.ac.jp)
メインとなるのはC++で書かれたゲーム関連のプログラムなんですけれども、他にもWebですね、
こちらはJavaで書かれていますし、他にもToolsとかスクリプトとか、実はいろいろなゲームがデータベース
に接続します。この時にある処理を全ての言語で同じように実装していくというのは非常に冗長なので、
Oracle側にSQL言語で書かれたAPIを実装して、どんな言語からでも、全くその実装のことが分からなくても、
同じ処理が呼び出せるという手法を取っています。
URLリンク(gigazine.net)
509:デフォルトの名無しさん
18/10/29 08:05:48.40 PWKZ4BcT.net
俺にとっての『オナニー』はするしないではなくて気がついたらしていた、オナニーはそこにあったのだ!
510:デフォルトの名無しさん
18/10/29 08:08:02.95 PWKZ4BcT.net
328 その名前は774人います (バットンキン MMe3-9smq) 2018/10/28(日) 21:03:44.64 ID:+SX2t0AiM
>>327
>桁直しは直すのは簡単。直ったか確認するのがすげーめんどくさい(金かかる)。
オブジェクト指向によるアプリケーション開発は、変更されない箇所を軸に、
頻繁に変更されるであろう箇所をクラスに抽出するプログラミングスタイルです。
例えば、店舗がどんどん増えていくファーストフードのシステムを開発することになったとしましょう。
店舗が増えていくということは、そこは「頻繁に変更される箇所」なのでクラスに抽出して設計する必要があります。
そうすると近い将来起こる「店舗が増える変更」に対して柔軟に対応できるようになります。
URLリンク(qiita.com)
511:デフォルトの名無しさん
18/10/29 08:12:33.59 QZvcvvpv.net
半角さん、いろんなところで論破されて、ついには相手に低学歴と言う機能しか無くなってたんだな
512:デフォルトの名無しさん
18/10/29 08:36:03.61 WYy8uN+t.net
win32apiでは無理なんだーというのは論破なんですかね
513:デフォルトの名無しさん
18/10/29 08:51:11.68 PWKZ4BcT.net
>>474
>private/protectedでメンバごとのscopeを人間が制御しようとしても
集約と汎化、制御と独立の使い分けが大切なんだよな。
514:デフォルトの名無しさん
18/10/29 08:58:50.49 PWKZ4BcT.net
>>475
>でもカプセル化の一番の弱点というか欠点は
チンポは独立した生き物、とは考えられないか?
515:デフォルトの名無しさん
18/10/29 09:05:50.09 PWKZ4BcT.net
>>366
>多重継承によってクラス間の依存度が高まることでデバッグが難しくなってしまうのが問題の本質なんだから
シコシコするチンポは不随意筋だが、オシッコをするときのチンポは随意筋だろ?
516:デフォルトの名無しさん
18/10/29 09:09:30.28 PWKZ4BcT.net
2013-05-17 00:04
チンコの随意筋と不随意筋
URLリンク(d.hatena.ne.jp)
517:デフォルトの名無しさん
18/10/29 09:34:03.09 532STKfj.net
>>492
差分にこそ使うなよ
518:デフォルトの名無しさん
18/10/29 09:42:25.11 532STKfj.net
>>498
単に同じ種類のデータが増えるのは変更とは呼ばんだろ
519:デフォルトの名無しさん
18/10/29 19:05:03.88 nnLR5iCS.net
DBがカオスなのでオブジェクト指向でいくら頑張っても無駄
520:デフォルトの名無しさん
18/10/29 19:43:48.51 aSZfpFql.net
>>505
なんで?
521:デフォルトの名無しさん
18/10/29 22:31:26.97 PWKZ4BcT.net
「りっきーのなんでもおコタえしまショー!」 当日のプレイバック
URLリンク(hiroba.dqx.jp)
質問 11
アイテム・装備欄がキツキツなのに
春イベでナスの衣装券5ワクをくれたり しかも人に渡せなかったり。
この件に関して 開発は何を考えているのか 教えてください。
【回答】 齋藤力
アイテム枠の軽減についてはできる限りのことをしたいと思い
日々スタッフが総力戦で取り組んでいるというのが正直な現状です。
一方で 新しいアイテムが まったく増えないようなゲームにもするわけにはいかない思っております。
↑これに対するありがたいお言葉
いま目の前にあるもんをちゃんと使ってそれを面白くするほうが先
URLリンク(i.imgur.com)
宮本
いま、若いデザイナーがゲームをつくってる時、
面白くないから、ついつい新しい材料を追加して
面白くしようとするんですよ。
実は、いま目の前にあるもんをちゃんと使って
それを面白くするほうが先やのに、
新しいものを持ってくるという。
岩田
新しい材料をどんどん増やして
面白さを導き出そうとするんですね。
522:デフォルトの名無しさん
18/10/29 22:34:06.97 PWKZ4BcT.net
>>366
>多重継承によってクラス間の依存度が高まることでデバッグが難しくなってしまうのが問題の本質なんだから
随意筋 不随意筋
↘ ↙
チンポ
523:デフォルトの名無しさん
18/10/29 23:32:40.68 LL+W6ENh.net
随意筋←implements─チンポ─implements→不随意筋
524:デフォルトの名無しさん
18/10/30 00:22:04.00 t1FWEUWr.net
関数型言語のやり方がそれなりに普及しちゃったんで、全てオブジェクト指向でプログラムを書くメリットはそんなに残ってないんだよ
オブジェクト指向が唯一の抽象化の手段になってる言語ばっかりだった時代はもう過ぎ去ったんだよ
525:デフォルトの名無しさん
18/10/30 00:32:22.39 J+0nEgfQ.net
オブジェクト指向に対比するものは関数型なんだろうか?
オブジェクト指向や関数型は「抽象化」なんていうすごいことを
本当にしているんだろうか?
オブジェクト指向の「抽象化」は似たメソッドがあったら
スーパークラスを設けて継承、
「抽象化」とはそんなものなんだろうか?
526:デフォルトの名無しさん
18/10/30 00:35:20.31 J+0nEgfQ.net
インチキマンセーなオブジェクト指向よさらば
527:デフォルトの名無しさん
18/10/30 00:52:27.86 WPZpU4UL.net
何かswiftでpostする時クッキーオブジェクトなるものを複数使って
ただデータ投げたいだけなのにクソ面倒臭い段取り組んだけど
関数型というかクロージャ使うというもう1つの別案が出来てからこういうのでいいんだよ感はかなりあった
528:デフォルトの名無しさん
18/10/30 00:56:16.44 iPJEDoz1.net
スーパークラスとか、何でもかんでも詰め込まれた四次元ポケットみたいになってるだけの場合もあるからな
抽象化はスーパークラス生成の必要条件ではない
529:デフォルトの名無しさん
18/10/30 05:10:38.28 8OzYaVjS.net
ビジターパターンとか考えると糞だと思うーん!!
パターンマッチグーあればこんな紛らわしいパターンはいらなくてグーなのにな
530:デフォルトの名無しさん
18/10/30 06:18:44.10 2OC/bUyM.net
パターンマッチングがなければ?
悪いのはパターンではなくて、言語だろう?
531:デフォルトの名無しさん
18/10/30 07:36:22.58 LiqPRKTy.net
ああ、>>517はビジターパターンの利点をまるでわかっていないな。
ばーか
532:デフォルトの名無しさん
18/10/30 09:46:44.93 t1FWEUWr.net
横からでスマンがビジターパターンの利点って何?ExpressionProblemに対処できるってのはもう利点にならないよ
533:デフォルトの名無しさん
18/10/30 11:42:53.14 M87fl2aa.net
「助けてー!ドラえもーん!!」
それはのび太ーパターン。
534:466
18/10/30 16:39:31.71 m+t0SJNK.net
>>485
大規模開発で構造化プログラミングよりは責任分担し易いってだけ。
でも給料払う側にも貰う側にも、コレが最重要。
Linux作者や関数型言語や論理型言語信者はオブジェクト指向なぞ不要と言ってる。(のは、その個々が開発力あるから?)
>>500
コールバック関数が引数固定な以上論破は無理だろ。
他の事例なら関数型言語みたく引数増やせば良いじゃない戦法もあるが。
それだって限界ある。
(関数型言語もマルチスレッドにオブジェクト指向より向いてるだけで、銀の弾丸では無い)
>>492
そう。
ケースバイケース。
ただ、それが分からないまま使う奴も多いのがね。
案外複雑だから。
親クラスのprotectedが子クラスのprivateとか。代数重ねると新入社員には無理。
そういう言う人間の限界も含めた譲位。
クラスライブラリからの継承とか、本当一部だけが継承で有効。
535:デフォルトの名無しさん
18/10/30 16:58:47.55 bp+Jjz8r.net
継承した時点で密結合になるので特に外部作成のクラスは継承せず包含しましょうは基本
ほとんどのケースはパブリックインターフェースを使用して事が済むので
536:デフォルトの名無しさん
18/10/30 18:33:42.29 +RULmJtu.net
>>522
リーナスはC++を嫌ってるだけで、オブジェクト指向については否定してないぞ
537:デフォルトの名無しさん
18/10/30 18:41:52.81 6OfBsZVT.net
抽象化苦手な人ってどうしても居るからね
538:デフォルトの名無しさん
18/10/30 19:03:28.13 aG1tKkvM.net
>>524
いや相当否定してるぞ。
ただlinuxのファイルシステム回りはオブジェクト指向的だし、
その辺りについてはlinusも必要性を言ってた気はする。
539:デフォルトの名無しさん
18/10/30 19:14:04.91 aG1tKkvM.net
>>525
実際は抽象馬鹿で具体的なテスト内容を思いつかない馬鹿のが問題だけどな。
540:デフォルトの名無しさん
18/10/30 19:18:11.16 XuNoXE89.net
>>527
具体的に言うと?
541:デフォルトの名無しさん
18/10/30 19:23:17.43 6OfBsZVT.net
抽象化を理解してるレベル帯ならSOLIDも理解してるだろう
これができてる人はテストが非常にエレガントだ(何故なら設計がエレガントだから)
抽象化が出来ない人の方がテストよくわからんと嘆いてるね
話を聞いてみると組み合わせ爆発を起こしてパンクしてしまうんだと
542:デフォルトの名無しさん
18/10/30 19:27:37.65 RlVgLquL.net
>>526
明確にオブジェクト指向を否定してるコメントなんかあったか?
543:デフォルトの名無しさん
18/10/30 19:27:39.02 XuNoXE89.net
オブジェクト指向を理解してないやつはSOLIDも理解してない
544:デフォルトの名無しさん
18/10/30 19:30:03.47 ZgZ/9CmG.net
>>530
C++を否定するってことは、オブジェクト指向を否定してるってことなんですよ?
545:デフォルトの名無しさん
18/10/30 20:03:29.74 bp+Jjz8r.net
c++はマルチパラダイム云々なので
何でもアリ言語やぞ
546:デフォルトの名無しさん
18/10/30 20:08:42.36 RlVgLquL.net
>>532
それはない
547:デフォルトの名無しさん
18/10/30 20:10:28.83 0wy2mEm7.net
>>532
お前の母ちゃんを否定するってことは、女を否定するってことなんですよ
548:デフォルトの名無しさん
18/10/30 20:14:21.32 aG1tKkvM.net
>>530
URLリンク(srad.jp)
ほとんどの部分はc++に対するヘイトだけど
OO言語について語ってる部分がオブジェクト指向の否定と思う。
だいたい言ってることは一理あるわ。
少なくともここでの議論よりかは意味がある。
549:デフォルトの名無しさん
18/10/30 20:16:11.62 ZgZ/9CmG.net
> OO言語について語ってる部分が
それどこ?
550:デフォルトの名無しさん
18/10/30 20:57:56.92 IL+nqSpb.net
Linusがオブジェクト指向を否定する理由の一つがまさに>>536
C++やオブジェクト指向の否定とも読めるが
それはKernelというコンテキストの中での話だ
egrep "オブジェクト|C++" としたときに
Kernelというコンテキストを隠蔽しているのだ
C++は本気で嫌ってるのかもしれんが
オブジェクト指向に関してはどこまで否定的なのか読めん
551:デフォルトの名無しさん
18/10/30 21:09:06.98 ZgZ/9CmG.net
ということで結論はLinusはオブジェクト指向を
否定してないってことでいいかな
552:デフォルトの名無しさん
18/10/30 21:23:48.92 rGP4zqaC.net
>>536
相当否定してる、から一転