実は「オブジェクト指向」ってクソじゃね?これデスマーチの原因じゃね?

Category

1 :名無しさん@涙目です。:2018/08/24(金) 19:29:03.98 ID:GPtxw3E30.net ?PLT(12015)
http://img.5ch.net/ico/folder1_03.gif
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。

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

一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。

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

https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96

703 :名無しさん@涙目です。:2018/08/26(日) 05:15:27.58 ID:BvjtuJNP0.net

自治体が担う業務は総務省とか国の指示
によるところが大きいんだろうから
他の自治体のシステムを担当していて
ベンダ側の知識や技術があれば実現できたんじゃね?

なんでそのベンダはその仕事を受けたのか?

あと要求変更も合意したんじゃないの?

ベンダ側の能力不足も実現できなかった要因じゃね?

333 :名無しさん@涙目です。:2018/08/24(金) 23:02:21.11 ID:/Qf3wA5E0.net

>>309
内製基板にLinuxポーティングしてGUIアプリ載せて製品化とかやるからアセンブラ、C、C++までカバーしてるし既成ライブラリとか極力避ける組み込みの原野で戦ってるけど、C++が一番生産性高いのは間違いない。
メモリ容量から言えばC++とか超贅沢なんだけどこれは外せん。

447 :名無しさん@涙目です。:2018/08/25(土) 00:53:48.63 ID:MWOapd1P0.net

>>445
あってる
ちなみにC++が最高にクソ

467 :名無しさん@涙目です。:2018/08/25(土) 01:14:44.74 ID:QNDiM/qu0.net

すぐスパゲティー言う奴いるけどクラス分割された
クラス数が多いpjにもスパゲティー言うからどうしようもない
単にコード読解力や追跡能力がなく開発ツールを十分扱えず
メンバーを信じず他人のコードに文句言いたいだけ
それが日本のプログラマー

69 :名無しさん@涙目です。:2018/08/24(金) 19:56:10.38 ID:O0rmMUIk0.net

>>58
お前>>1一切読んでないだろw
無ければそもそもアクセスするなって隠ぺいしてるデータがあるから大規模改修に耐えられずデスマーチが発生するって書いてるよ
まさにその通りだと思うけどね

603 :名無しさん@涙目です。:2018/08/25(土) 12:27:55.37 ID:zHqmzKPo0.net

関数型ってつまり手続き型ってこと?
ずっと手続き型で作ってきてやっとオブジェクト指向覚えたのに

133 :名無しさん@涙目です。:2018/08/24(金) 20:27:00.27 ID:jxBGcth10.net

>>105
偏差値の低い学校では「絶対使え」で、高い学校では「絶対使うな」になるのが不思議
「絶対使え」と指導しないといけない低偏差値特有の理由があるのかなと

306 :名無しさん@涙目です。:2018/08/24(金) 22:40:41.96 ID:81kNYTue0.net

>>301

段違いで C の方がいいよ

602 :名無しさん@涙目です。:2018/08/25(土) 12:25:25.65 ID:scR4upUb0.net

>>601
プライベートに隠蔽してたモノをpublicにすればデスマーチ始まるよ

331 :名無しさん@涙目です。:2018/08/24(金) 23:00:22.48 ID:oNgoazCz0.net

>>325
出来ない

648 :名無しさん@涙目です。:2018/08/25(土) 19:51:04.01 ID:zJVYP3vc0.net

>>645
今でもその状態なのが、京都市

456 :名無しさん@涙目です。:2018/08/25(土) 00:59:45.10 ID:EMQBwBwZ0.net

68000のアセンブラしかわからん

674 :名無しさん@涙目です。:2018/08/25(土) 22:01:51.12 ID:/HTcTRSi0.net

 
つーか、ObserverパターンにしろReactiveXにしろ、配信者と購読者はそれぞれ独立してるから意味がある

つまり配信者は配信者の仕事をすれば良いだけで、購読者がエラーになろうがなんだろうが関係ねーってのが今の流れでーす。

もちろん配信者がエラーになった場合、購読者側の処理は独立して一緒になってエラーになるとかありえないし。

イベントが繰り返されるような場合にそなえてFluxのようなパターンもある。

なに複数の構造体に値をコピーとかwww寝言言っちゃってんだよwwwwwww
 
 

160 :名無しさん@涙目です。:2018/08/24(金) 20:47:09.99 ID:JOlUDTiA0.net

>>150
あー分かりやすいかも
「一定の範囲で」なんて大型PJではあり得ない縛りだけどなw

流用改善しやすいハズなのになww

483 :名無しさん@涙目です。:2018/08/25(土) 03:10:32.40 ID:xdLQZsvN0.net

オブジェクト指向なのにmain()を使っちゃってる言語w
それのオブジェクト指向的な意味を結果論抜きで説明できるの?

60 :名無しさん@涙目です。:2018/08/24(金) 19:50:12.25 ID:5sBNeGzg0.net

賢い人間が一人で作るにはオブジェクト指向は最高だ
アホな他人のコードはオブジェクト指向だとイライラの元

342 :名無しさん@涙目です。:2018/08/24(金) 23:09:19.48 ID:81kNYTue0.net

>>341
あるあるだよねw

491 :名無しさん@涙目です。:2018/08/25(土) 03:31:16.13 ID:hzVCbvyd0.net

>>490
それは作ったやつがバカなだけだろ

253 :名無しさん@涙目です。:2018/08/24(金) 22:08:07.21 ID:UBEJubxA0.net

いや、別に考え方の一つとしてオブジェクト指向は悪くないだろ。万能じゃないけど。

502 :名無しさん@涙目です。:2018/08/25(土) 04:21:40.66 ID:KuVTfY+X0.net

>>501
貴方も賢い
ν速終わってなかった

617 :名無しさん@涙目です。:2018/08/25(土) 15:06:23.19 ID:njo8t2ax0.net

>>612
老朽化して人工肛門にする必要が出てきたときに手術できないという話

304 :名無しさん@涙目です。:2018/08/24(金) 22:39:54.63 ID:+h3kVkvl0.net

欧米では、アクセンチュアみたいなコンサル会社が
SE会社を持っていて、コンサル主導でプロジェクトを進める。

日本はコンピュータメーカーがSE会社を持っていて、
お客の言いなりで無理めな要件を丸呑みする。
そのあとは下請けに丸投げ。
下請けは孫請け、3次請け、4次請け、………

デスマーチはこうして作られる。

401 :名無しさん@涙目です。:2018/08/25(土) 00:08:54.32 ID:wIfy5Rnv0.net

>>392だった

129 :名無しさん@涙目です。:2018/08/24(金) 20:24:52.96 ID:zztJcSPi0.net

文書化しろ!文書文書!

542 :名無しさん@涙目です。:2018/08/25(土) 07:20:17.65 ID:ddJhcblh0.net

大混雑する駅のホーム
cxrRkP5N0が、その真ん中で爆竹を鳴らす
ホームの人々の多くが立ち止まり、ふり返る
しかし、暫くするとホームはいつもの様子を取り戻す

こんなの従来の言語等では簡単にモデル化は出来ない!
それを簡単にモデル化できるのが、オブジェクト指向の肝だ!

443 :名無しさん@涙目です。:2018/08/25(土) 00:45:23.31 ID:d0UiS20/0.net

x86用のCOBOLコンパイラ作るのはないのか?

498 :名無しさん@涙目です。:2018/08/25(土) 04:04:00.10 ID:GzCKCAFy0.net

>>494
だから>>1後からどうもそのprivateなメンバにアクセスする必要があるって必要が生じた場合の話ね

君も言うようにobject内で完結すると思って実装しているんだ
さぁ大変だ

498 :名無しさん@涙目です。:2018/08/25(土) 04:04:00.10 ID:GzCKCAFy0.net

>>494
だから>>1後からどうもそのprivateなメンバにアクセスする必要があるって必要が生じた場合の話ね

君も言うようにobject内で完結すると思って実装しているんだ
さぁ大変だ

645 :名無しさん@涙目です。:2018/08/25(土) 19:48:10.75 ID:PT/FRDmQ0.net

>>641
それってベンダが何処でも起こりうる事じゃね?
自治体側が管理してなかったって事だから
昔はITILとかいう概念がなかったから仕方ない面もあるだろうけど

33 :名無しさん@涙目です。:2018/08/24(金) 19:36:15.49 ID:+EBivtWE0.net

問題はオブジェクト指向の概念そのもの

711 :名無しさん@涙目です。:2018/08/26(日) 05:48:51.40 ID:CzlVirfc0.net

守秘義務違反って誰が誰の?

461 :名無しさん@涙目です。:2018/08/25(土) 01:06:27.84 ID:QNDiM/qu0.net

パターンやコーディングとかルールをガチガチに導入するからだな
デザインパターンもコード習熟に差があるからこういうのあると解釈しやすいね
つって作られたのに日本だと忠実にパターンに沿ってないとダメって発想になるからな
分業化するならIFだけ保障して実装は自由にすべきでしょ
人のコードを読みたいならスパゲティ言う前にコード読解力を高めるべきだ

122 :名無しさん@涙目です。:2018/08/24(金) 20:22:08.38 ID:rIJUXSu50.net

天才と、その人の仕事の邪魔になる要素を全部未然に取り除けるプロマネがいれば或いは

733 :名無しさん@涙目です。:2018/08/26(日) 15:40:32.13 ID:8bibv2D60.net

>>732
波動方程式をシュレディンガー変換してエルミート解からコペンハーゲン状態を分離することでボーアモデルを構築するという理解で大丈夫でしょうか?

145 :名無しさん@涙目です。:2018/08/24(金) 20:35:40.32 ID:Qs6RdoKw0.net

>>133
「使え」と言ったのはOSI基本参照モデルを作った人たち。
由緒ある高学歴な学者たち。

「使うな」と言ったのはIP、すなわちインターネットを作った人たち。
BSDを作った野良の学生たち。

大学がどちらを教科書に採用するか

409 :名無しさん@涙目です。:2018/08/25(土) 00:15:07.71 ID:UpXXij2s0.net

所詮アドレスと値なんだよ

668 :名無しさん@涙目です。:2018/08/25(土) 21:34:32.76 ID:STE22OLy0.net

>>資料が存在してても開示しない
この場合は悪質

>>資料が無い場合、開発元に金払って作らせる
その金がもったいないから、やりたくない

どっちに転んでも施主の自治体が悪い

177 :名無しさん@涙目です。:2018/08/24(金) 21:00:51.96 ID:uY/BYlSS0.net

いや
単に営業が工数計算できずに、激安受注するのが悪いんだろ
で、会社も大喜び

298 :名無しさん@涙目です。:2018/08/24(金) 22:37:14.89 ID:M47zEKge0.net

要は汎用性持たせて使い回しや中途変更のしやすい道具って事だろ?
けどそれって基本設計がクソだとエラい事になるよな?
何でそんなもんを現場の下っ端にまで使わせるんだ?

317 :名無しさん@涙目です。:2018/08/24(金) 22:47:00.39 ID:PbstUE/70.net

Cでもオブジェクト指向はやるでしょ
mallocとstructと関数のアドレス登録で

27 :名無しさん@涙目です。:2018/08/24(金) 19:34:56.91 ID:7gDkN5DE0.net

データ捨ててるようなもんだからな

360 :名無しさん@涙目です。:2018/08/24(金) 23:21:56.48 ID:81kNYTue0.net

>>353
最近増えてるって聞いてたけどマジだったのか
若い奴が COBOL 書けなくておっさん駆り出されてるって聞いてたんで信じられなかった

291 :名無しさん@涙目です。:2018/08/24(金) 22:32:25.75 ID:3PSN2i+/0.net

>>276
オブジェクト指向のDBMSって最低だよな

700 :名無しさん@涙目です。:2018/08/26(日) 00:32:13.10 ID:/FBVKI+e0.net

>>699
久々に見る誤爆ですかw

61 :名無しさん@涙目です。:2018/08/24(金) 19:50:23.28 ID:Q+VoEjYN0.net

もう全部publicでええやん

114 :名無しさん@涙目です。:2018/08/24(金) 20:19:37.07 ID:1Dkdb5H60.net

>>8
Visual BASICをちょっと勉強してみたらわかると思うよ

203 :名無しさん@涙目です。:2018/08/24(金) 21:14:47.82 ID:oNgoazCz0.net

>>147
いじりたいデータを持つインスタンスを特定する様なクラスを追加するだけで改修できそうな気がするけどな

644 :名無しさん@涙目です。:2018/08/25(土) 19:46:20.20 ID:PT/FRDmQ0.net

>>642
自治体から聞けばいいんじゃね?
回答を得られないなら自分達で調べるとか金払って情報を買うとかするんじゃね?

577 :名無しさん@涙目です。:2018/08/25(土) 09:59:18.76 ID:3twieEP90.net

>>38
人増やせば増やすほど生産性落ちますよ無理www。

君のようなど素人じゃわからんだろうがね。

465 :名無しさん@涙目です。:2018/08/25(土) 01:08:03.57 ID:xdLQZsvN0.net

我らを愛し慈しむ聖なるスパゲティモンスター様が
己の真の姿を地上の民に思い起こさせようと現れなさるのが
大規模開発のC++のコード上なのだよ

723 :名無しさん@涙目です。:2018/08/26(日) 06:51:34.96 ID:BvjtuJNP0.net

>>719
>>656をどう解釈するかはいろいろあるだろう
それぞれの立場で解釈するだろうから

348 :名無しさん@涙目です。:2018/08/24(金) 23:13:32.56 ID:+h3kVkvl0.net

1人や2人で作る小さい案件ならソースコードの
隅から隅まで把握できるから問題も起きにくい。
でも下請けに出したり大人数になると目が届かない。
そんな中で「開発言語はC++でよろ」とかやっちゃうと
品質の担保は壊滅的に難しくなるね。
まあC++に限らないけど。

MicrosoftOfficeとかどんな体制で作ってるのか
見てみたい。

52 :名無しさん@涙目です。:2018/08/24(金) 19:45:41.41 ID:BZlys5JQ0.net

モデリングが正しく出来ない奴がオブジェクト指向設計したら必ずゴミになる
でも何が正しいモデリングが分かって無い奴が大半
だからクルマクラスはタイヤクラスとエンジンクラスとかに分割してとか無批判に考えちゃうし美少女ウンコの問題で結論が出なかったりする
関数型プログラミングのほうがはるかにましだわ

721 :名無しさん@涙目です。:2018/08/26(日) 06:44:35.58 ID:BvjtuJNP0.net

>>717
俺が選ぶ立場にいるわけないだろ
なんでそう思った?

752 :名無しさん@涙目です。:2018/08/27(月) 00:31:12.63 ID:esgnq/Uv0.net

こういうスレ多いけどコボラーを最前線に引っ張り出すフラグかなんかなのかな

134 :名無しさん@涙目です。:2018/08/24(金) 20:27:40.40 ID:YOE4N0MF0.net

確かにprivateは糞だし要らん
あとreadonlyのpublicを変数定義時に簡単に設出来る方法欲しい

750 :名無しさん@涙目です。:2018/08/26(日) 21:45:25.48 ID:GnC1Wnre0.net

関数型ってなんで流行らないの?

373 :名無しさん@涙目です。:2018/08/24(金) 23:37:20.69 ID:G3pKdeTJ0.net

頭の良いやつと悪いやつがいるのが普通
そのとき安全側に倒すと頭の悪いやつに合わせざるを得なくなる

757 :名無しさん@涙目です。:2018/08/27(月) 07:51:12.12 ID:eTqoVSf10.net

>>753
物理的な形状を持たないから誰もが簡単だと思い込みたがる

290 :名無しさん@涙目です。:2018/08/24(金) 22:31:55.76 ID:qjxOmcRK0.net

>>270
分かる

206 :名無しさん@涙目です。:2018/08/24(金) 21:17:13.81 ID:6b8hUOy50.net

>>200
Macは早いか?
普通の人がコマンド打たずに全ての機能を、使えるようにしてるからじゃね。
LinuxディストリビューションがGUIで操作できる機能は一部だけだし。

529 :名無しさん@涙目です。:2018/08/25(土) 06:50:29.96 ID:ddJhcblh0.net

何故ですマーチがあるか?
オブジェクト指向が障害?
一番の原因は
お客様の仕様変更だろ

80 :名無しさん@涙目です。:2018/08/24(金) 20:01:17.54 ID:J/Z9cIc20.net

オブジェクト指向設計が生きるのは、一からシステム開発する時くらいだな
システム改修とかなった時点で過去の設計思想とか無視されるし

701 :名無しさん@涙目です。:2018/08/26(日) 00:33:01.79 ID:HRuclTrV0.net

理解した上で使っている奴はいい。
便利だね!と言って使い倒している奴は駄目だな。

138 :名無しさん@涙目です。:2018/08/24(金) 20:31:05.44 ID:CVJYypPq0.net

>>104
単純に言えば全体の処理を分割しただけだよ
車のパーツみたないなモノ。エンジンやらフレームやらサスペンションやら
各部品ごとに役割(処理)があるじゃん

415 :名無しさん@涙目です。:2018/08/25(土) 00:19:29.64 ID:rcQ/mjVe0.net

Win32APIで窓枠作って
Direct3D初期化してポリゴンの立体文字表示しても2000行もいかない

558 :名無しさん@涙目です。:2018/08/25(土) 08:32:41.78 ID:DwafalJn0.net

iOSのアプリ開発環境が>>1の思想だよね。
「使うな」って書いてあるメソッドも叩けるけどAppStore審査で弾かれる的な

86 :名無しさん@涙目です。:2018/08/24(金) 20:03:29.89 ID:6J8X4GQk0.net

Win32の世界なら
ATLやWTLくらいの薄いラッパーのほうが書きやすいし効率もいい

231 :名無しさん@涙目です。:2018/08/24(金) 21:32:56.26 ID:Lrx5xzHu0.net

>>224
変換てーか、”中間コード(バイトコード)をJVMで直接動かしてる”が正しいかと

JVMがOSの違いをよしなに取り計らってくれてる

508 :名無しさん@涙目です。:2018/08/25(土) 04:50:23.37 ID:nXGnAUzn0.net

再利用可能な材料を作りながら家建てるようなもんなんだろ?もし利用しなきゃまるまる無駄になるもんな

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です