「オブジェクト指向」は愚かな考え

1 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:27:15.72 ID:VloW4LSc0

■危険性

かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。

一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性(RFC 3439)」として「カプセル化は絶対にやめろ」としている。

大雑把にいうと、教科書の上では素晴らしく、開発を始めた最初のうちは良いが、将来的な改修の際に隠蔽されたデータにアクセスできないと解決できない問題が出てきて、非常に高確率でデスマーチに陥るというのである。

オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」などという概念はない。

ソースコードが存在し改修が可能であればカプセル化しても問題ない。ソースコードがあってもライセンス的に改修できない場合や、そもそもバイナリのライブラリしかない場合などは絶望的である。

https://www.google.com/search?q=%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96%E3%81%AF%E6%84%9A%E3%81%8B%E3%81%AA%E8%80%83%E3%81%88

2 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:27:25.99 ID:VloW4LSc0
■ 実例

XNA(MonoGame)では標準で3Dモデルを手軽に扱えるModelクラスが用意されている。 1行で読み込み、1行で描画できる素晴らしいものだ。

ただしこのModelクラスを使うと頂点データは遮蔽されておりアクセスできない。 物理演算エンジンに食わせるのにどうしても頂点データが必要なのにだ。

世界中の誰もが同じ問題で悩んでいるようでstackoverflowに回避策が書いてあった。内部でGPUへ送信したときに使用したGPUにアクセスする関数ポインタは公開されているのでGetData関数でそのまま返してもらうトリッキーなコードでめでたく回避できた。

しかし、時は流れこの方法では動かない環境が登場した。iOSやAndroidだ。こいつらが採用するOpenGL ESはGPUとの通信が一方通行だ。そこで事前に3Dモデルから頂点データを抜き出し別ファイルに保存しておくという一段とトリッキーな方法で回避する。みごと1モデルのファイルが2個になりました。

さらに時は流れた。あるとき謎の不具合が発生。連日連夜のデバッグ作業。原因は片方のファイルの更新を忘れていただけでした。

カプセル化は恐ろしいね!!

3 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:28:01.39 ID:VloW4LSc0
■仕様変更
それは雲の上で決まったことなので底辺社畜のITドカタにはどうすることもできない。
意見を言おうにも雲の上にいる奴らの顔すら知らない。
それこそが階層化で起きることだ。
4 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:28:21.10 ID:tprUrHZG0
staticおじさん
5 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:28:46.11 ID:9Dv+SCcd0
まじかよエドガーダイクストラ赦すまじ
160 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:05:24.97 ID:zez6g+3c0
>>5
マジレスするがそれ構造化プログラミングな
174 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:19:28.90 ID:qikK837F0
>>5
ダイクストラはいいんだが、その原理主義信者どもがjavaから積極的にgotoを
排除してヘドが出る
あいつらプロパティさえ実装できないし
6 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:28:49.31 ID:5IndXl6q0
JavaScriptの大流行でやっと認知されだしたよな。
81 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:59:30.61 ID:jSpQC2Mx0
>>6
そういう世界線もあるのか
134 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:39:25.32 ID:fdjvymRN0
>>6
今ってJavaScriptが一番人気なの?
136 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:40:59.93 ID:MLpU3fwa0
>>134
web実装が多いと言う話。
nodeでも使うけどさほどメジャーではないし。
たとデジタル放送でも使われてる。
139 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:45:10.70 ID:fdjvymRN0
>>136
なるほど
7 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:29:08.42 ID:ENk3bgPp0
union
8 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:29:56.65 ID:eSPW3y+W0
C++とJavaの全盛期に言おうものならフルボッコだったが、
PythonとJavaScriptの流行でやっと認められた感じだな。
9 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:30:11.41 ID:eSPW3y+W0
staticおじさんは元気かな
10 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:31:04.17 ID:g02MqgRF0
関数型ばかりになったな
11 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:31:05.85 ID:/CN8V0bF0
排便メソッド
12 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:31:27.52 ID:ukRQaGj70
型付の関数型ってないの?
17 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:33:18.56 ID:yVvr5QKs0
>>12
scala
13 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:31:42.15 ID:GRVbgFxS0
このスレ定期的に見るね!
14 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:32:30.77 ID:BHGBc/jT0
信教の自由
18 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:33:31.53 ID:fLacsduL0
>>14
それな
15 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:32:51.61 ID:yVvr5QKs0
プログラマ「gotoは4ね!」
57 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:48:38.21 ID:zjXD8pyS0
>>15
longjmpにするわ
72 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:54:51.82 ID:uSh8l1as0
>>15
Linuxのカーネルではめちゃくちゃ使われてる件
110 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:17:28.11 ID:fdI6S+Zv0
>>15
jumpは基本なんだけどな本当は
169 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:12:22.78 ID:zAS3vgHe0
>>15
後藤さんに謝れ!
178 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:22:23.84 ID:yVvr5QKs0
>>169
コロナ広めんなや
16 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:33:00.49 ID:GKOQE5/X0
オブジェクト指向がどうこうより、ソースいじれない構造がクソっていうだけだろ
27 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:37:04.64 ID:JWNacdqd0
>>16
せやかてAPIやライブラリなど
到底全員が全体を理解できないものをいじってろくな結果になるとも思えないけど
30 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:38:21.93 ID:w+Ke+94P0
>>16
バイナリしか提供されない市販のライブラリとか絶望的だわな
39 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:42:17.20 ID:rObI4gHO0
>>30
そんなんコストダウンのために利用するんだからデメリットがあって当然だよね
嫌なら自分で全部書けと
49 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:45:36.56 ID:c9Htp/eL0
>>39
そういうこっちゃ
42 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:42:49.17 ID:nkc7EyeW0
>>16
それ。
継承しようと思ったらfinal classだったとか。
71 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:53:27.97 ID:M91RCl6G0
>>16
ならpublicにすればいいだけじゃんジャン
19 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:33:37.27 ID:AUftg6Zi0
フラットなPHP型が最高だよ
20 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:34:21.93 ID:boL0uV0t0
日本のIT技術者が育たなかった一つの理由に間違いない
21 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:34:41.76 ID:Cvj3RMSq0
friend 100個できるかな?
117 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:22:09.82 ID:ee0WwcQX0
>>21
22 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:34:51.81 ID:d9/eOc1d0
まあ確かに
サブルーチンでいいじゃん
僕はコボラー
23 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:35:13.84 ID:+AHYpIGV0
オブジェクト指向は色々おかしいからな
24 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:36:08.24 ID:EAVlDNF70
関数型ってコボルの書き方そのものなのに驚くよね
25 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:36:35.81 ID:FBTnISjd0
じゃあ何指向がいいのよ?それ言えよ
26 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:36:45.92 ID:A3q2hrZR0
プログラマー自体がおかしいからな
買おとか臭いとか
28 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:37:26.10 ID:ZA3ZlrC70
じゃあサブジェクト思考で行くわ
29 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:37:37.03 ID:DJH5ngBj0
unityも超高速化のために「オブジェクト指向を排したc#」という方向に突撃しだしたからな。
35 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:39:30.05 ID:ys8MnAEo0
>>29
バーストコンパイラーとエンティティシステムな
31 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:38:23.37 ID:5MT+pcx+0
ちょっとなに言ってるのかよくわからない
44 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:44:12.49 ID:qQAb9DAj0
>>31
ニュースじゃねえ4ねということだ
32 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:38:49.58 ID:Gb6AQio30
最近はコンポーネント指向ってのが流行ってるんだろ
知らんけど
33 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:38:53.80 ID:zwDdSilv0
そもそもオブジェクトって何だよ?
34 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:39:12.45 ID:8ZiyWkba0
オブジェクト指向ってのが流行ってすぐ同じこと思ったわ
デバッグできないブラックボックスは使うべきじゃない
37 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:40:07.25 ID:pH9clFce0
>>34
デバッグできないのはオブジェクト指向となんの関係もなくね
41 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:42:26.62 ID:2R/r/2Cc0
>>37
正確にはそうだけど、代表的なオブジェクト指向言語にprivate属性がある以上大まかには正しい言説なんじゃないの?
64 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:51:15.48 ID:pH9clFce0
>>41
スコープの話とオブジェクト指向は話違うと思うよ
166 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:09:58.74 ID:WX+5Aj+k0
>>41
別にprivateだからデバッグできないとかないけど
36 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:39:56.70 ID:mnGdnCKC0
インターフェースは全てを解決する
コードの手間は増大する
38 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:40:48.84 ID:tw76Aiwp0
クラス内部の見えない状態変数で関数の挙動が変わるとか
デスマーチ必死だわなw
40 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:42:24.32 ID:VSSE13eu0
メンバ変数に依存してメンバ関数の挙動が変わるんだぜ?
43 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:43:15.47 ID:VSSE13eu0
データベースもフラットな方向に進んでるからな
45 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:44:18.16 ID:VSSE13eu0
privateが全ての悪の根源
46 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:44:56.89 ID:m0YxMubC0
ソースコードがないと死ぬ
51 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:46:16.09 ID:JWNacdqd0
>>46
ソースコードがあったって死ぬよ
厖大だし、他人の作った仕様書もないコードなんか読めん
93 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:05:58.34 ID:c+JRZo5s0
>>51
巨大なクラスライブラリのソースと階層構造理解しないとどこをいじればいいかわからんてのはいやん
47 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:45:15.11 ID:1lN3I8XD0
いまさら
48 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:45:17.17 ID:NhSUZ+J40
一切バグがなく美しいクラスしか存在しないならいいかもしれないけどな
50 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:46:13.64 ID:dRJ9llEo0
作った一発目はいいんだけどね。
改変が始まると一気に苦しくなる。
52 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:46:38.98 ID:Ko53l5C60
車というクラスを定義したらトラックでもSUVでも作れるというやつだろ
53 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:46:56.94 ID:dRJ9llEo0
仕様変更への耐性が激低なんだよ
54 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:47:16.28 ID:V27G2hzH0
今更何を…
55 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:48:04.03 ID:7sT10lm60
AIでディープラーニングとか出てきて加速してる気がする
tensolflowとか中でどんなことやってんのか全くわからんけどKERASとパイソンでとりあえず動くからな
微分積分すら覚えてねぇが
ほんと雲の上でだれかがなんかやってる話だよな
56 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:48:25.57 ID:lKOm2bUr0
一番の問題点は
犬小屋の設計開発方法で
高層ビルを建築しようとすること
62 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:50:24.03 ID:c9Htp/eL0
>>56
良いこと言うね
58 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:49:00.78 ID:f1pUBxRP0
試行錯誤する用途には絶望的に向いていないからな
59 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:49:28.63 ID:f1pUBxRP0
だからウェブはjs
AIではpythonが流行った
60 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:49:59.10 ID:MW7oRMVN0
Androidがまだ出始めの頃、Androidの職業訓練でオブジェクト指向習ったぞ?
61 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:50:14.97 ID:9Ouxh9qv0
単に設計ミスの事例をオブジェクト指向のせいにするのもあれかな。
適材適所ってあるので。向き不向きがあるので、一律オブジェクト指向も愚かだし。
構造化プログラミングでもオブジェクト指向でも、関数型でも何でもいいので、
きちんと目的にあった言語を選んで、正しく設計された保守しやすいコード書いてくれれば。

といってもそれが難しいんだけどね。

66 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:51:50.13 ID:f1pUBxRP0
>>61
設計ミスではない
仕様変更に弱い
63 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:50:25.98 ID:lPVtNgtR0
直接見せたくない/触らせたくないから隠蔽しているのであって

見たいなら理由込みでAPI追加してくれってのが筋だと思うがなぁ

65 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:51:32.56 ID:Cmwhg+Ge0
そうとも言えないが、万能からは程遠い
67 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:52:22.04 ID:dUjKpM3f0
カプセル化が駄目って書いてあるだけじゃん
まあレベルの高いプログラマ揃えられるんなら規約で縛るだけで足りるんじゃない?
68 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:52:22.47 ID:Pamj4GN20
10 i=i+1
20 GOTO 10
119 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:22:14.31 ID:fdI6S+Zv0
>>68
BASIC?なら変数に$要るんじゃない?
142 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:47:47.30 ID:NCs6H3hR0
>>119
文字列ならじゃね
143 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:48:01.76 ID:NhSUZ+J40
>>119
いらない
69 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:52:46.76 ID:tQzbMxVN0
アジャイルみたいなアホな開発やるならオブジェクト指向取り込んだら終わるよな
73 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:54:52.09 ID:xRiTL+w40
>>69
何で言語の特性の話しに開発手法の話しがでるの?
78 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:56:49.46 ID:tQzbMxVN0
>>73
手法に基づくからだよ
資料残せよ、ソース残せよ
馬鹿なの?
70 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:53:00.20 ID:xRiTL+w40
結構前から言われてたよな。
でも、ずっとそれでやってきてるから今更変われねぇわ。
若い世代の奴ら頼むわ。
77 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:56:08.40 ID:tQzbMxVN0
>>70
オブジェクトの設計資料とソースがちゃんと残ってりゃ問題にならないんだよ
アジャイルとか騒いで必要な資料も残さない、何処かからバイナリ借りてきても記録を残さないから訳ワカメになるんだよ
82 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:00:17.32 ID:xRiTL+w40
>>77
アジャイルさせられたよ。
最初に期限決めます。要件定義は口頭とメモ、基本設計さえなくせって言い出す始末で品質悪いってキレられてプロジェクト抜けたわ。
84 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:01:46.71 ID:VloW4LSc0
>>82
設計図なしでタワーマンション建築するくらい無謀だなw
85 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:02:04.25 ID:tQzbMxVN0
>>82
正解
90 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:04:39.41 ID:fLacsduL0
>>82
「仕様書どこですか?」ではなく「ソースのどの辺ですか?」って聞ける奴向けの開発手法
本来適当にかき集めた連中で立ち上げるようなものじゃない
92 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:05:51.44 ID:jHVve3sz0
>>82
アジャイルって内製が大前提だから
日本のはアジャイルじゃないよ
94 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:07:07.26 ID:tQzbMxVN0
>>92
派遣入場してれば業務上は正社員と同じだから(法的には)…
↑日本たけで通じる言い訳wwww
100 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:10:48.29 ID:UTohaO0h0
>>94
研修社員と派遣とフリーと下請け出向が入り乱れる現場でアジャイルとか無謀にもほどがあるよな
129 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:33:05.82 ID:tQzbMxVN0
>>100
正社員が資料作り出すと派遣のリーダ様が正社員をハブり出して、結局資料が無い物が出来上がるとかなwww
派遣のリーダー様が残らないと何も判らないwwwwww

こんなの誰が望むんだよw

74 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:55:19.08 ID:mnGdnCKC0
カプセル化されたクラスを
リフレクションで丸裸にしてしまう背徳感
75 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:55:27.78 ID:0AZl9SjM0
自社製品の開発ならそれなりに意味はあるんじゃね?
インデントでやるのはアホだと思う
76 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:55:53.02 ID:kDXbnjsa0
答えはひとつで「馬鹿にやらせるな」
79 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:57:30.15 ID:KzRlyB+r0
結論

臨機応変

80 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 17:58:06.82 ID:pjIu4TGr0
Cからやると、Javaの記述の長さとクラスに耐えられなくて気持ち悪い
83 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:01:33.13 ID:jHVve3sz0
デスマとは直接的関係なくね?w
86 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:02:24.30 ID:7sT10lm60
日本はなんでもプロプライエタリにこだわって全部潰したよな
オーブンソースになっていたら世界を席巻できていたようなプロジェクトは腐るほどあったろうに
91 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:04:46.82 ID:tQzbMxVN0
>>86
支那やら韓国から来た連中がソース盗みまくったからオープンソースみたい物だろwww
87 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:02:55.77 ID:2Tm1Qiq+0
猫を作ると野良猫からライオンまで作れるとか言うのだっけ
88 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:03:35.69 ID:kHmILX2U0
そしてセッタとゲッタをたくさん作りました
89 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:04:11.42 ID:fFgsBdL20
確かに画像解析AIのソースコード見たらJavaスクだったりしたのを見たらな
97 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:09:56.26 ID:vOl5huFw0
リバース・エンジニアリング(`・ω・´)キリッ

仕様書作ってないことを横文字で誤魔化すな

111 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:17:59.13 ID:c+JRZo5s0
>>97
> リバース・エンジニアリング
逆アセンブラがあった時代からある言葉だが
98 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:10:04.42 ID:tsis4rnE0
オブジェクト指向は再利用が可能というけど再利用なんてしたことがない
101 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:11:49.02 ID:JWNacdqd0
>>98
わかる
再利用なんかしたことない

どっかの神が作成したかしらないライブラリを手探りで使ったことはあるけど

99 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:10:11.85 ID:DCLt/bKL0
上から下まで1人で作れりゃ問題ないがんなことできん。そんでライブラリの問題でコケるのもままありカプセルヘイト
102 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:12:12.48 ID:/aS8G9vg0
カプセル化をunpackする機能があればいいんじゃね(暴論
103 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:12:29.49 ID:pSQc6asg0
デザインセンスに落差が大きすぎて、多人数開発でとんでもない事になるのが実情ってやつだな
104 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:12:35.14 ID:ErPRF9Pf0
>頭文字にアンダースコアを付けるなどの命名規則
どういう事?
105 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:12:40.13 ID:2b8xrGc70
>>1
そんなこと考えたことなかったわ
106 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:13:39.52 ID:7MYFOQPU0
アイドルが排泄メソッドを実装できるのは云々のスレじゃないのか
107 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:14:17.41 ID:98lUQnuP0
golangは継承もないしな
108 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:15:52.22 ID:ep7jcUrG0
新型コロナ蔓延のいま、時代はGOTOプログラミングか
109 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:16:14.58 ID:JWNacdqd0
オブジェクト指向でなぜつくるのか

を読んでもなぜなのかさっぱり理解できなかったわ

112 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:18:11.51 ID:JWNacdqd0
食べてる絵をくださいって言われて仕事だから言われたとおりやってるだけやで
素人のデブが欲求のまま食ってるのとそりゃあ違って当たり前だろ
113 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:18:44.74 ID:kLFzN/wF0
再利用ゆうても単一メソッドな訳もなし、いらないもん抱き合わせされるならいらない。
コピペはするけどな。
再利用して元のが更新かかって動かなくなるとザラ。
自分で追加した部分が元のにも追加されて、せっかくだから元のを使おう、で意味のない作り直し。で、バグ。
きれいに出せてたエラーメッセージも英文になっちゃう始末。
115 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:19:23.07 ID:xN/c5vuK0
オブジェクト指向を推し進めるのは要はデータを管理しやすい為、この一点でしょ…
116 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:20:18.28 ID:ds0LrUWE0
IT土方離れて久しいけどオブジェクト指向とかまだ言ってるの?
118 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:22:11.47 ID:JWNacdqd0
>>116
コーダーなんて職業はすべてAIに取って代わってロボットが人類を滅ぼしたときいたが
120 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:25:36.98 ID:fdI6S+Zv0
>>118
正解を導き出せる完璧な仕様書が必要になってしまうわw
131 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:35:21.51 ID:tQzbMxVN0
>>120
昔のCOBOLの詳細設計書みたいに
一言一句プログラムに落とせるような物を書けって話なのかな?wwww

流石に、あのCOBOLの詳細設計書は無駄だぞw

138 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:44:12.70 ID:fdjvymRN0
>>116
俺も90年前半にバイトでCプログラマーをやってた
MS-DOS環境のC言語しか知らない
あとBASICとCOBOL
141 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:46:37.08 ID:tQzbMxVN0
>>138
実はCOBOLって今でも仕事沢山あるぞw
基本的に若い奴居ないらしいので、年齢は気にしなくて良いし
金回りのシステムなので、単価も悪くないって聞いた
149 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:56:04.88 ID:9/4krDfx0
>>141
一人月単価60万以下程度でいいなら、いいんじゃない?w
157 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:03:59.33 ID:tQzbMxVN0
>>149
1度引退したCOBOL屋さん向けだしねw
121 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:26:30.01 ID:JWNacdqd0
俺みたいなクソザコすぎてIT業界で箸にも棒にも掛からなかったような雑魚でも
ちょっとAndroidのアプリでも作ってみようって思ったら
書けるのはオブジェクト指向の恩恵なんだろ
ウィンドウのクラスとかボタンのクラスとかそういうのがいっぱい働いてるらしい
122 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:27:10.80 ID:JWsppqT+0
おっさんだけど
オブジェクト指向が悪いんじゃ無くて、イベントドリブンが出来るようになってプログラマーは頭使わなくなった
昔は、プリントアウトするか、トラップ使ってバグ探ししてた
コンパイルも8時間とか掛かったから、漏れが無いか、間違いが無いかって命ガケだったよ
便利は人をアホにするんだ
123 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:27:25.87 ID:97KXpc4N0
なんかやたらとソースが簡素に書けるとか自動的に生成してくれるようなやつって
ちょっとイレギュラーなことやろうとするとアホみたいに面倒くさくなる
124 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:27:40.65 ID:NWpqvXzs0
全部 publicにしてアンスコの数で外部向けなのか内部想定なのかを整理する派
125 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:28:14.36 ID:2q4/OB4a0
動けばいいんだよ、動けば vs 綺麗なソースコードで動くプログラムは美しい
127 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:32:43.94 ID:fdI6S+Zv0
>>125
俺はもう動けば良い派だな
複数の人が介在するプロジェクトでは最初の思想なんて時間と共にぶち壊されていく
綺麗にシステムを作れるより汚物コードを読み解くスキルの方が必要だって気付いたわ
151 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:57:50.86 ID:JWNacdqd0
>>127
そもそも途中から入ったメンバーには、最初の思想が何だったかなんて
コードの残骸から読み解くくらいでしかわからないし、分かったところでもはや意味をなさないものになってるしな

周りがもう動けば良いでしか作業してないから
スパゲッティになってなければマシな方

152 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:58:12.87 ID:2i5jrBed0
>>125
引数にパスを直書きとか増えるのだけは許せんわ。データ入力業務でもしてるのかと思うようなプログラム改修させられる。
126 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:32:38.15 ID:x8SmottF0
勘違いした輩が収集つかなくなってスパゲティにしなければ、オブジェクト指向なんてしなくても良いんだよ

構造化すら知らない、やらないで、クラス書いてればOOPと思っているアホが沢山いるか、隠蔽したくなるんだよ

128 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:32:57.03 ID:o6e4Dx+c0
開発現場の8割の偏差値は50台なので
もっと簡単に、多少無茶をしても動くようにできるやつを
偏差値70や80の人達が頑張って考えればいいと思うヨw
(ま、それがフレームワークって奴なんだろうけどね)
130 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:34:43.83 ID:9/4krDfx0
選択肢が多いほどいいってだけの話
オブジェクトの再利用によって、現実問題、生産性が著しく向上しているわけで
今の最新のゲームを、一から作り直したら、開発費用は100倍を超えるぞwww

カプセルに内包された致命的な問題があるなら、そのコードを修正すればいいだけの話
別の会社が開発していて、ソースコードをいじれないなら、その会社に通知して直してもらえ

135 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:40:14.40 ID:tQzbMxVN0
>>130
ゲームと言えば20年くらい前から世界を圧巻した韓国製MMOの元プログラムも日本から盗んだクラサバシステムのソース群だったなあwww
どこの企業のが盗まれたんだっけwww

クライアント側がwebシステムに移行しまくってる最中で盗まれた企業も騒がなかったんだよな、確かw

145 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:49:26.61 ID:9/4krDfx0
>>135
ソースコードの著作権保護って線引き難しいみたいだしね~
アルゴリズムは著作権保護されないっていうのもあるし
まぁ流石に丸パクリしたら、アウトだろうけど
156 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:03:23.98 ID:tQzbMxVN0
>>145
クライアント側にグラボメーカの支援が入り込んで画面表示部分は別物だったからねぇw
肝腎要のクラサバの通信部分とサーバサイドが丸パクリだったみたいだね
132 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:37:24.14 ID:MLpU3fwa0
別実装からあらゆるデータにアクセスできるようにせよと言うなら、いくらたってもそのモジュールは完成しないわw

極論を振りかざす前に線引きを語れよw

133 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:37:26.92 ID:UVaa5XCO0
変数確認してから関数呼べばいいだけじゃないの?
137 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:41:11.06 ID:nkc7EyeW0
カプセル化による隠蔽っていうか、「○○を意識しないで△△をすることが可能です」みたいなのは、サンプル以上のことをすると大概ハマる。
デバッガで動きを見れば、動かない原因がわかることも多々あるんだけどね。
デザインパターンを意識してスタックトレースが積み上がり過ぎてるやつとか、リフレクションですっ飛んでるやつとかも原因が探しにくくてハマる。
オブジェクト指向じゃないけど設定より規約みたいなのもハマるな。
140 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:46:16.76 ID:n8rqt3aU0
クローズドソースで内部データを追えないこととごっちゃにしてる奴がいるなw
148 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:54:55.70 ID:9/4krDfx0
>>140
>クローズドソースで内部データを追えないこととごっちゃにしてる奴がいるなw
そういう話じゃないの?
オープンソースでオブジェクト指向なら、何も問題ないと思うんだが
144 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:49:20.60 ID:Ko53l5C60
JavaScriptでプログラムを作っていたところだがthisだらけで見にくい
何か間違っている気がするが直しようもない
146 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:54:15.29 ID:2i5jrBed0
同じような処理2回も3回も記述してるアホコードよりマシ
分岐すりゃ済むだろ改修漏れるだろボケナスと思うから
147 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:54:37.62 ID:IXHYoBXI0
カプセル化は疎結合の手段に過ぎない。
手段と目的を取り違えて地獄に落ちてるだけだろ。
150 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:56:21.87 ID:vV3WyIC30
カプセル化自体は悪くなくね?
必要になったらprivateからpublicにすればいいんじゃないの
153 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:59:42.24 ID:nrpnH01B0
あんま覚えてないが
別のところに集約して大まかな条件を動かして
それを呼び出すとかそんなだっけ
あれ?これはクラスか?
154 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 18:59:48.93 ID:srehSchZ0
いたずらに複雑化し、結果、メンテナンスも相応のレベルのものでないと出来ない。

オブジェクト指向である必要のないプログラムは山程あるが、必要なプログラムはそう多くないのが現状。

155 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:02:28.18 ID:G0isdwcw0
書き直せばええだけやん
アホなの?
159 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:05:03.30 ID:tQzbMxVN0
>>155
書き直すのに必要な資料が残って無いから…www
158 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:05:01.09 ID:zcbkqLEq0
ITどかたん がんばれぃ~
161 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:05:46.55 ID:8qI3dEki0
てか最近のとにかくフレームワークって風潮なんなの
164 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:06:44.60 ID:tQzbMxVN0
>>161
EJBなんて判るPGがいないからw
162 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:05:54.08 ID:JWNacdqd0
コード規約とかもっとちゃんとしたほうがええんじゃないの?って話をしたら
テキストエディターは何を使うことにするか決めるところから会議始めててワロタ
163 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:06:05.37 ID:7VrgvGLH0
>>1
カプセル作る奴がバカだから成立しないってだけ
つまりIT後進国の日本には無理ってだけ
165 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:08:13.68 ID:BF80T2Nu0
あとからいじる奴が偉そうにって思うんだが
167 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:10:24.66 ID:G5e79p+s0
20年ほど前にVB6で仕事してたときに
Javaプログラマーにオブジェクト指向が使えないと奴はバカとぼろくそに言われたわw
168 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:10:42.67 ID:QlPT04GX0
設計の時は頑張って考えるけど結局改修で邪魔になるってのはあるあるだけど
だから要らないって話でもないよね
170 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:12:44.06 ID:iG4B59K/0
教科書こそ全て
教科書こそ真実
教科書に間違いはない
なんて主張してる人をディスってんのかw
171 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:14:09.56 ID:1G9DEwZS0
闘うプロゴルファー
172 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:15:14.85 ID:6RtsZqch0
データーレコードに関数もセットするという位しかしらんな
173 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:18:27.23 ID:JR+yxznV0
世間ではgotoが流行っているが
プログラムの世界じゃ、随分前から大流行よ
175 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:20:00.30 ID:2L4qc0Hc0
カプセル化の問題なのか?
仕様の問題じゃね?
177 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:20:26.36 ID:A/U011WE0
リフレクションとか使えばprivateくらい外せるだろ。まぁ仕事ではやらんけど
179 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:26:15.02 ID:JQ6j5PzM0
初級者「オブジェクト指向は糞」
中級者「オブジェクト指向面白い」
上級者「オブジェクト指向は糞。C++使うぐらいならCでいい」
180 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:26:33.86 ID:8MhX4Pmf0
プログラム関係のスレはいつもコメントが攻撃的。
プログラマは心が荒みすぎてる
181 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:28:06.17 ID:Ur6NrBs40
もう全部publicでいいんじゃないかな
182 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:30:25.10 ID:dHbxEoa10
最近多いんだよね、JAVAとかちょっとかじった程度で「俺プログラマーやってます」って顔する子
最初の入り口がオブジェクト指向なんだよね、最近の子って
そんなんじゃ使い物にならねぇっての
183 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:33:08.52 ID:JWNacdqd0
>>182
JAVAとかちょっとかじってるだけマシでは?
職業訓練校でHTML習っただけでの元板前とか拾ってきてプログラマーやってますって顔させてる会社とかたくさんあるけど
186 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:53:51.04 ID:pjIu4TGr0
>>182
Cかじった程度でもだめですか?
別にプログラマなんてやりたくないけど
184 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:50:12.56 ID:jl684vUu0
ヌルポインタ
185 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 19:52:39.99 ID:jouA7dce0
やろうよ、自分の仕事なんだからさ
188 名前:一般よりも上級の名無しさん 投稿日時:2020/10/29(木) 20:01:50.49 ID:CeVvYlmR0
結局これ、クローズドソフトではいつまで経ってもバグだらけでまともなソフトにならんよ
って話だろ

コメント一覧

  1. てか今思えば直感で分かるよな。
    人のコードや自分が忘れたコードを追ってjavaが一番分かりやすいだなんて思うわけない。

タイトルとURLをコピーしました