X



実は「オブジェクト指向」ってクソじゃね?これデスマーチの原因じゃね?
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@涙目です。(北海道) [US]垢版2018/08/24(金) 19:29:03.98ID:GPtxw3E30?PLT(12015)

カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。

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

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

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

https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
0002名無しさん@涙目です。(茸) [FR]垢版2018/08/24(金) 19:29:35.11ID:yoNfyOyH0
そうだよ
0009名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:32:03.09ID:6X0UAayq0
>>359-364
ハロワ!
0011名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:32:58.31ID:6X0UAayq0
>>360-365
ハロワ!
0012名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:33:15.55ID:6X0UAayq0
>>665-670
ハロワ!
0015名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:33:32.35ID:6X0UAayq0
>>643-648
ハロワ!
0016名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:33:32.35ID:4xiUZ0K80
いやならinitだけ使え
0018名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:33:49.17ID:6X0UAayq0
>>977-982
ハロワ!
0020名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:34:06.21ID:6X0UAayq0
>>943-948
ハロワ!
0022名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:34:23.39ID:6X0UAayq0
>>413-418
ハロワ!
0025名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:34:40.15ID:6X0UAayq0
>>839-844
ハロワ!
0028名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:34:57.10ID:6X0UAayq0
>>885-890
ハロワ!
0030名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 19:35:14.39ID:6X0UAayq0
>>189-194
ハロワ!
0035名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 19:38:13.03ID:uQPYhGNw0
>>8
8ビット機のBASICが最強なのにオブジェクト指向だのなんだの言って
適当な理屈をこねくり回してクソが出来た
これがデスマーチの原因
0037名無しさん@涙目です。(家) [DE]垢版2018/08/24(金) 19:39:04.64ID:ozqpXwdi0
プログラムが小規模のうちは恩恵がない
大規模になっても恩恵がかならずあるとは限らない
複雑さを整理する知恵の一つ
0040名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/24(金) 19:41:13.78ID:9VYp3cU+0
オブジェクト指向ってのは手段の1つで、手段が目的になるのは感心しない。
0041名無しさん@涙目です。(茸) [JP]垢版2018/08/24(金) 19:41:23.27ID:AUhi6vrJ0
そんなものは昔から変わらない
BASICの「定義せずに使える変数」と同じで
便利なものは馬鹿が使うと危険なトラップになる
0045名無しさん@涙目です。(愛知県) [JP]垢版2018/08/24(金) 19:42:02.48ID:EKK/unzA0
マトモにオブジェクト指向設計できる人が少ない
というかほとんどいない
これはデータ中心設計とか言ってた頃からそうだけど

マトモにモデリングできる人が本当にいない
モデリングの結果が正しいか検証できる人もいない
0046名無しさん@涙目です。(埼玉県) [GB]垢版2018/08/24(金) 19:43:16.31ID:ceNikk780
なんかそれぞれの物には特有の条件や特徴があって
それを一つの塊みたいにプログラムする感じ?
0047名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 19:43:40.85ID:uQPYhGNw0
>>36
だよな

WinアプリならC++でWindowsAPIを直叩き
GUIはもちろんリソーススクリプトを直書き
リソースエディタを使うやつは根性なし

男ならこれが基本
0049名無しさん@涙目です。(dion軍) [CY]垢版2018/08/24(金) 19:44:20.80ID:icnoaUCz0
ヘヴィーオブジェクトのおほほちゃんだいすき
0052名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 19:45:41.41ID:BZlys5JQ0
モデリングが正しく出来ない奴がオブジェクト指向設計したら必ずゴミになる
でも何が正しいモデリングが分かって無い奴が大半
だからクルマクラスはタイヤクラスとエンジンクラスとかに分割してとか無批判に考えちゃうし美少女ウンコの問題で結論が出なかったりする
関数型プログラミングのほうがはるかにましだわ
0053名無しさん@涙目です。(愛知県) [JP]垢版2018/08/24(金) 19:45:49.72ID:6rbygSrJ0
やたらめったらクラスを作ったり、親の親の親の変数を参照したり、1つのフォームを何個もの部品に細分化しまくる
1画面はともかく数十画面のマルチモニタがないと1つの処理を把握できないのはクソ
0054名無しさん@涙目です。(やわらか銀行) [CN]垢版2018/08/24(金) 19:46:42.97ID:2/ajvSWb0
それはあとから見て改修が難しいプログラム組んだやつがクソなだけでは
0056名無しさん@涙目です。(空) [US]垢版2018/08/24(金) 19:48:53.28ID:z2m93JmH0
S: 平均的な C プロジェクトの長さをおぼえているかな。だいたい6ヵ月だ。
家族を抱えた人間がまともな水準の暮らしを維持するには短すぎる。で、
同じプロジェクトを C++ でやったらどうなる? 教えてあげよう。1〜2年だ。
素晴らしいね。たった1つの判断ミスで、
安定した仕事が確保されるんだよ。
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
0057名無しさん@涙目です。(愛知県) [JP]垢版2018/08/24(金) 19:48:54.92ID:EKK/unzA0
>>46
いや、システム全体を体系的に分割すること
巨大なシステムでも合理的にモジュール分割され、モジュール間のやり取りが明確になっていれば、
あとは小さくなった各モジュール単位で開発ができる…はず…
0058名無しさん@涙目です。(dion軍) [RU]垢版2018/08/24(金) 19:49:40.54ID:XNfLJQxj0
javaはもちろんのこと、PHP等の他言語もクラスの概念を取り入れてるし、
OOPは別に悪い考えではないやろ。

要は使う人のスキルの問題ですわ。

変数のアクセスしたければput_xxx()、get_xxx()メソッドがあるし、無ければそもそもアクセスするなって事やし。
0059名無しさん@涙目です。(チベット自治区) [ニダ]垢版2018/08/24(金) 19:50:10.85ID:O0rmMUIk0
>>38
人増やせないからデスマーチなんでしょ
0060名無しさん@涙目です。(大阪府) [US]垢版2018/08/24(金) 19:50:12.25ID:5sBNeGzg0
賢い人間が一人で作るにはオブジェクト指向は最高だ
アホな他人のコードはオブジェクト指向だとイライラの元
0061名無しさん@涙目です。(滋賀県) [ニダ]垢版2018/08/24(金) 19:50:23.28ID:Q+VoEjYN0
もう全部publicでええやん
0062名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 19:51:11.25ID:BZlys5JQ0
>>45
そうこれ
例えば昔からあるモデリングアプローチのUMLで言うと
ユースケース分析やるのは良いことなんだけど
その成果をアクティビティのフローチャートやクラス図に落とした時点で全部台無しになってるのが大半
結局えいやでモデリングしてて結果後から矛盾が出来てしまい肥大化するというパターン
0064名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/24(金) 19:52:34.09ID:KFBgEN0Q0
>>13
俺も同じだわ。Cとアセンブラしかわからん。
頭のいい人が考えた言葉はマジで理解出来ない。
年齢とかやる気次第だけどたぶん手遅れ。

古い製品のリニューアルとかローカルなIOやUARTで完結する仕事やってるけど、
何でもかんでも産業用イーサに繋がる製品が増えてるからいずれ干される。
0066名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 19:53:44.49ID:BZlys5JQ0
>>60
結局Perlみたいなものだな
しかも追加要件が出たらどうせゴチャゴチャになるのがオブジェクト指向設計
関数型プログラミングのほうがはるかにましだわ
0067名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 19:54:43.43ID:834PXW4+0
ステートレス
副作用を作り込まない
0068名無しさん@涙目です。(やわらか銀行) [GB]垢版2018/08/24(金) 19:54:52.20ID:q/jisTuT0
またくだらねえ単発質問スレか
0069名無しさん@涙目です。(チベット自治区) [ニダ]垢版2018/08/24(金) 19:56:10.38ID:O0rmMUIk0
>>58
お前>>1一切読んでないだろw
無ければそもそもアクセスするなって隠ぺいしてるデータがあるから大規模改修に耐えられずデスマーチが発生するって書いてるよ
まさにその通りだと思うけどね
0070名無しさん@涙目です。(空) [KR]垢版2018/08/24(金) 19:56:22.11ID:JLm1FQ0a0
>>38
作業をこなすのなら人数をかければ問題がない。
プログラミングが作業をこなす程度のものならね。
だけど、それは仕事じゃないね。
0071名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 19:56:41.23ID:834PXW4+0
隠蔽されたデータにアクセスするインタフェースを作る

インタフェースを作ればそのインタフェースでアクセスを管理できる

そういうもんでないの?
0072名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 19:56:48.28ID:BZlys5JQ0
リーナス・トーバルズもC++みたいなオブジェクト指向言語はウンコ以下だって言ってたな
0078名無しさん@涙目です。(大阪府) [US]垢版2018/08/24(金) 20:00:44.63ID:5sBNeGzg0
多態とかはやり過ぎると客からの要求仕様変更に対応できなくなる恐れがある
あんまり構造を綺麗にしすぎるのも問題だ
0079名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 20:01:12.11ID:uQPYhGNw0
>>73
構造体に関数ポインタで似たような感じにできるしな
継承はさすがに無理だが
0080名無しさん@涙目です。(禿) [CH]垢版2018/08/24(金) 20:01:17.54ID:J/Z9cIc20
オブジェクト指向設計が生きるのは、一からシステム開発する時くらいだな
システム改修とかなった時点で過去の設計思想とか無視されるし
0081名無しさん@涙目です。(東京都) [CA]垢版2018/08/24(金) 20:01:36.45ID:Zh05SKeA0
CとC++とC#の違いがわからん
右に行くほど新しいってのはわかる
0082名無しさん@涙目です。(catv?) [ニダ]垢版2018/08/24(金) 20:02:02.00ID:2BRaDzRB0
システムレベルで継承に継承重ねまくったシステムの中のソースも継承されまくって直すと継承先全てに影響するから全部試験し直しになるので誰も親クラス触れないのが普通。
親クラスだけの修正で済むとか生温いわ。
0084名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:02:37.05ID:BZlys5JQ0
>>71
それをやってると追加要件でて改修し始めたらぐちゃぐちゃになるのよ
0088名無しさん@涙目です。(茸) [ニダ]垢版2018/08/24(金) 20:04:06.01ID:rIJUXSu50
>>65
うちのシステムで、継承の親クラスのexecuteでif文大量に使って全子クラスの処理まかなってるのあるぞ
子クラスは変数セットとexecuteを呼び出すだけ

画面追加の度にif文増やして全画面回帰テストする気かと
0089名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:05:24.37ID:BZlys5JQ0
>>83
部品化なら関数で十分だろ
オブジェクト指向アプローチの部品化はゴミよ
0091名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/24(金) 20:07:04.57ID:KFBgEN0Q0
>>76
なんとなくわかりました。
データの参照とか隠蔽が複雑なサービスを実装する時に便利というか、
検証とか管理の事を考えると実質的にそれでしか出来ないってことですか。
0092名無しさん@涙目です。(千葉県) [ニダ]垢版2018/08/24(金) 20:07:32.27ID:pvJxbz6D0
オブジェクト指向がクソとは思わないけど、これがすべてと言われるようになって久しいのがな。
栄枯盛衰で次が模索されてる時期に来た感じはある。
0094名無しさん@涙目です。(神奈川県) [US]垢版2018/08/24(金) 20:08:39.58ID:+uVHPtpS0
学校で教科書読んでせいぜい文法を知ってるレベルの人材が
「Javaが使えます」とか言い出すこと、そしてそれが通用してしまう環境が悪い
0095名無しさん@涙目です。(空) [US]垢版2018/08/24(金) 20:09:51.48ID:z2m93JmH0
S: それ、本気で信じてるね。実際の C++ プロジェクトの経験はある?
どうなるかって言うとね、まず第一に、いろいろワナを仕掛けてあるから、
よほど小規模なプロジェクト以外は一発では動かないようになっているんだ。
たとえば演算子のオーバーロードがそうだ。たいていの場合、プロジェクトの
終わり頃にはほとんどのモジュールで
演算子をオーバーロードしている。
0096名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 20:11:42.72ID:uQPYhGNw0
>>92
時と場合で使い分ければいいんでないの?
仕様変更がバシバシ入るのが確定な使い捨てツールやシステムに
オブジェクト指向でしっかり設計してとか逆に非効率だろう

天才なら考えられるあらゆる仕様変更に柔軟に対応する設計を
さらっとやってしまうんだろうが、現実問題、そんな人はまず居ない
0097名無しさん@涙目です。(埼玉県) [NO]垢版2018/08/24(金) 20:12:04.64ID:jxBGcth10
>偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
偏差値の高低で教科書の内容が違うの?
0099名無しさん@涙目です。(catv?) [US]垢版2018/08/24(金) 20:12:49.27ID:lU+/zwDZ0
さぁ実験です\(^^)/

directX
DXライブラリ
Siv3D

3つのチームにそれぞれ1つずつ配布してゲームを作ってもらいます。

どのチームがいち早くゲームをリリースできるでしょうか?
0100名無しさん@涙目です。(奈良県) [US]垢版2018/08/24(金) 20:14:41.11ID:JOlUDTiA0
オブジェクト指向設計は本当にキッチリ効率的に設計出来れば良く、大きなPJになればなるほど有用なハズなのに、大きいPJになればなるほど効率的な設計は難しく天才が必要になると言う矛盾

・そもそも天才は少なく破綻
・途中や仕様追加の段階でアホか入って破綻
ってのが多すぎる。個人でやる程度なら問題ないんだがなww

常駐させる場合のJavaのメモリ管理も同じような事がある。キッチリメモリ管理・メモリの使い方の特性を把握してチューニングしないと地獄を見る。
0101名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 20:14:41.66ID:uQPYhGNw0
>>94
そんな人が納期に追われながらまともな設計が出来るわけないんだよな
0102名無しさん@涙目です。(東京都) [FR]垢版2018/08/24(金) 20:15:28.11ID:O8tzmAq60
すばらしいけど全てのプログラマに扱えるような簡単なものではないのでやめろ!
0104名無しさん@涙目です。(東京都) [GB]垢版2018/08/24(金) 20:15:34.87ID:XTSHx+6U0
ニュー即のSEスレで「オブジェクト指向ってなに?」って質問して、納得の行く答えを聞いたことがない
だれか猿にもわかるように説明してくれよ、オブジェクト指向ってなに?
0105名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:15:38.36ID:BZlys5JQ0
>>97
コンピューターサイエンスやってる大学の話やで?
0106名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:16:16.15ID:BZlys5JQ0
>>104
ウキー?ウキキッww
0107名無しさん@涙目です。(東京都) [US]垢版2018/08/24(金) 20:16:27.65ID:5FBIySRJ0
>>98
>確かに継承しまくってるとソース追って全体を把握するのが面倒とかあるな

それは無い。継承しまくった物だけ見れば全体が見えるだろ。バカは何やってもバカだから情報処理は向いてない
0108名無しさん@涙目です。(宮城県) [DE]垢版2018/08/24(金) 20:16:42.68ID:caYGXmDX0
データベースいじるのに作ったんじゃないの?
0110名無しさん@涙目です。(庭) [CN]垢版2018/08/24(金) 20:17:56.23ID:Omu1WSAA0
>>99
unity!!
0111名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 20:18:28.83ID:uQPYhGNw0
>>100
納期に追われてても100%力を出せる天才が必要だな

それでも無茶な納期で破綻とかあり得るし
0112名無しさん@涙目です。(茸) [ニダ]垢版2018/08/24(金) 20:18:51.26ID:b81RxInR0
デバグの最中とか所謂デバッグモードとかに必要な、
監査的な機能を書くのが面倒だとは感じる

unsafe とか適当なキーワードでなんでもアクセスできる機能が欲しい
0113名無しさん@涙目です。(禿) [US]垢版2018/08/24(金) 20:18:58.52ID:I+cQuVY60
金融系でCOBOL→Javaの移行案件でソースの自動変換でJavaに組み替えしてる場合有るけど、出てきたJavaのソーセージがオブジェクト指向プログラムになっていない事実
これがみずほ銀行とかの実態
0115名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/24(金) 20:20:24.89ID:NbxGCE9m0
エンジニアが自分たちの仕事が無くならないように面倒くさいものを作り出してんだよ
0117名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 20:20:36.35ID:834PXW4+0
>>1の書いていることって早い話が

「全てのメンバーにアクセス可能に設計することにより例外的なアクセスは発生しなくなる
従ってプログラム改修の際に例外的な処理を考慮する必要がなくなる」

ってこと

もっと分かりやすく書くと
「最初から全ての例外的な処理を網羅したプログラムを書けば、改修の際に例外的な処理を考慮する必要がない」

つまりアレだ
0118名無しさん@涙目です。(catv?) [US]垢版2018/08/24(金) 20:20:37.65ID:wS75OcDD0
いまこそBASICだろ処理速度はもう問題ないんだからわかりやすくするべき
0127名無しさん@涙目です。(catv?) [ニダ]垢版2018/08/24(金) 20:23:44.92ID:1Dkdb5H60
>>38
本当の土方なら人集めて「ここ掘れ」で仕事が進むけど、IT土方は人だけ集めても進まない。
内容がちゃんとわかっててバグなしのコードが組める人間が少しいれば仕事は進む。
0128名無しさん@涙目です。(神奈川県) [US]垢版2018/08/24(金) 20:23:48.80ID:+uVHPtpS0
>>112
Javaならリフレクション使えるじゃないか?

UTやってるとこういう事言い出す奴が必ずいるけど
そういう人間にフレクション教えると往々にして「通るテスト」を書き始めて
ここ全部やり直しね♪というハメになる
0132名無しさん@涙目です。(奈良県) [US]垢版2018/08/24(金) 20:26:54.18ID:JOlUDTiA0
>>103
さっき書いたけど(少なくともJavaの場合)、
・非常駐ならJavaでなくてもメモリ管理は適当で問題ない
・常駐ならキッチリやらんと地獄

まぁ天才的JVMが出て来てイズレ解決すると思ってたけど解決せんなぁ。取り敢えず起動optionにメモリ・GC関連パラメータが多数あるうちは敗北を認めてるようなもんよ。
0133名無しさん@涙目です。(埼玉県) [NO]垢版2018/08/24(金) 20:27:00.27ID:jxBGcth10
>>105
偏差値の低い学校では「絶対使え」で、高い学校では「絶対使うな」になるのが不思議
「絶対使え」と指導しないといけない低偏差値特有の理由があるのかなと
0134名無しさん@涙目です。(庭) [DE]垢版2018/08/24(金) 20:27:40.40ID:YOE4N0MF0
確かにprivateは糞だし要らん
あとreadonlyのpublicを変数定義時に簡単に設出来る方法欲しい
0135名無しさん@涙目です。(新疆ウイグル自治区) [CN]垢版2018/08/24(金) 20:30:14.17ID:2T+u/WAu0
プログラムまったくわからんがある部署の仕事内容は他の部署から全くみえないようにしとくってことだろ?
他の部署が書類だしたら処理されて書類でてくるみたいな ようはブラックボックス化のことだろ
0136名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 20:30:32.32ID:834PXW4+0
>>69
それ、改修の時しか考えてないでしょ

「いつでもどんなときでもアクセスしてもいいよってデータを設計する」こと自体がデスマーチになるだけよ

そのデータを使う側の制御も想定外の更新が起こり得ないように全ての例外を網羅した神様のような設計をしないといけない

さもなくばデータを更新するコードを1行書くたびに参照する全ての制御に「影響確認依頼書」なりを送らないといけなくなる

実際、組み込み系でそうなったプロジェクトもあるからな
0140名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:32:47.56ID:BZlys5JQ0
>>133
オブジェクト指向なんて単なるパラダイムの一つだからな
でも低学歴にパラダイムが異なると正しいことが間違いになることもあるなんて説明しても「???」だろ?
低学歴は就職するときに採用してくれる業界で主流のやり方だけ学んどけはそれで十分ねん
頭良い子には何故このパラダイムが選ばれたかの背景や問題点を考えさせ次の時代の新しいパラダイム作ることに貢献することが求められる訳よ
0143名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:34:43.30ID:BZlys5JQ0
>>136
だから関数型プログラミングがが今もてはやされてるわけですよ
オブジェクト指向プログラミングはオワコンってね
0144名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 20:35:11.35ID:BZlys5JQ0
>>139
ある意味Yes
0145名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 20:35:40.32ID:Qs6RdoKw0
>>133
「使え」と言ったのはOSI基本参照モデルを作った人たち。
由緒ある高学歴な学者たち。

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

大学がどちらを教科書に採用するか
0146名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 20:35:49.07ID:Lu6k3eAL0
オブジェクト指向からカプセル化と継承取っ払ったドラスティックな言語は無いものか…
むしろインタフェース(多態性…というと少し違うが)強制させるのがいいんじゃねーかと最近思うわ
0147名無しさん@涙目です。(福島県) [CA]垢版2018/08/24(金) 20:37:09.71ID:OQis3I0J0
外からデータを直接いじられたくないからわざわざ隠してるわけでそれをいじる改修とかそもそもおかしいだろ
それをいじる改修できたとしてももう全部作り直しレベルだろ
オブジェクト指向だからという問題ではない
隠蔽できない言語じゃ作り直しするかどうかやいじっていいかはソース見ないと分からないが隠蔽されてるのはその時点でコーディング出来ないから駄目か作り直しかが分かるからメリットでもあるのに
0149名無しさん@涙目です。(愛知県) [CN]垢版2018/08/24(金) 20:39:09.90ID:wNnuuOTt0
>>146
動的型言語で契約プログラミングすれば出来そうだな
0150名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 20:39:18.55ID:Qs6RdoKw0
>>136
決まったものを作るならいいんだけどね。
カプセル化されたクラスはゲーム開発でいえばRPGツクールなんだよ。
RPGツクールの範囲内であれば便利だが「アクション要素いれてくれ」とか要望あると死ぬ。
0151名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 20:39:25.11ID:oNgoazCz0
どんなときに問題になるのか
もう少し具体的に書いてないの?
0152名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 20:41:02.08ID:oNgoazCz0
>>24
バージョン1→2→3とかバージョンアップしないの?
0153名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 20:41:15.30ID:834PXW4+0
>>150
最初からアクションもシミュレーションも出来るように設計する→デスマーチ
0154名無しさん@涙目です。(dion軍) [ヌコ]垢版2018/08/24(金) 20:42:50.20ID:/eXC9DzA0
オブジェクト指向なんて難しくなんともなく単なる便利ツールなだけ。
ツールをうまく使えば便利だし不要なら使わなければいいだけ。
アホが使いこなせないからややこしくなってるだけ。
アホは死ね。
0157名無しさん@涙目です。(庭) [AT]垢版2018/08/24(金) 20:45:34.05ID:Lrx5xzHu0
>>88
俺なら親クラス子クラス同一インタフェースにして、子クラス側にifチェック持ってきて親クラス側で子のリスト作ってforeachで回すなぁ…

てか何故親にチェックもってきたし…
0159名無しさん@涙目です。(庭) [ニダ]垢版2018/08/24(金) 20:46:32.88ID:11xDvdxP0
どうせおまえらポインタで躓いたんだろ
0162名無しさん@涙目です。(静岡県) [US]垢版2018/08/24(金) 20:48:51.07ID:rYqSPnZx0
なんだい、最近オブジェクトに凝ってるね。スレたて主w
プログラム板でも言ったら。
アソコのカキコは喧嘩腰でいかんよw
0163名無しさん@涙目です。(庭) [RU]垢版2018/08/24(金) 20:49:02.82ID:F3Rd/Eki0
クラスの最大のメリットは自己簡潔できるインスタンスがあちこち動けるからだからな。
文字列とか良い例だな
0164名無しさん@涙目です。(中部地方) [US]垢版2018/08/24(金) 20:49:06.89ID:qOnC7PnS0
正直javascriptで十分
0165名無しさん@涙目です。(家) [SG]垢版2018/08/24(金) 20:49:20.06ID:PtBuViu10
言語のオブジェクト指向は便利だぞ
疲れてるとき運ちゃんに指示出す場合とか
「自宅……町田……そこ右…」
0166名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 20:51:40.87ID:oNgoazCz0
>>79
リエントラントにならなくなる危険性が残るんじゃね
0167名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 20:52:39.23ID:834PXW4+0
すべてpublicにしていついかなるときも更新が可能にしよう

この発想の行き着く先は
値を更新するたびに全体ロックを取得して全てのスレッドを止めるシステムになる
0168名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 20:54:58.22ID:oNgoazCz0
>>84
追加要件に対応してもぐちゃぐちゃにならない方法はどんなの?
それをオブジェクト指向と併用できないの?
0173名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/24(金) 20:58:48.69ID:mIr8zGgB0
オブジェクト指向と棟方志功ってなんか似てるよな
0176名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 21:00:07.13ID:oNgoazCz0
>>89
データと関数が一対一対応しなくなる危険性がある
ドキュメントで注意書きしても読まれないとかあるし
0178名無しさん@涙目です。(東京都) [US]垢版2018/08/24(金) 21:01:06.41ID:tAt5uH/j0
AOP?とかいう、アスペクト志向について教えてくれ。
あのアスペとは別モノなんだな。
0179名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/24(金) 21:02:51.71ID:9VYp3cU+0
クラス化したものは、状態とデータをセットで保持できて、さらに、その状態に応じて処理を制御できる。

クラスを使わないと、インデックスやらポインタやらで精密に制御するコードを組む必要があるけど、クラス機能があるとその必要がない。
0180名無しさん@涙目です。(庭) [AT]垢版2018/08/24(金) 21:03:54.00ID:Lrx5xzHu0
>>178
似たような処理を並べた時に、一律で処理挟み込むような目的のための技術がAOP
例えばログ取りとか認証処理とかね

これをお手軽に、後から追加した機能(関数/メソッド)にも共通の処理を追加したいって要請で生まれた
0181名無しさん@涙目です。(千葉県) [ニダ]垢版2018/08/24(金) 21:04:57.19ID:pvJxbz6D0
どんな言語使ってても仕様上考慮されてない新機能をぶち込むのはどうあがいても絶望なんだと思うんですけど。
デスマの原因はたいていそんなだろとしか言いようがない。
0183名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 21:06:59.23ID:834PXW4+0
>>181
>>1が言ってるのは「最初からあらゆる例外を考慮すれば改修の手間が省ける」というお話
0184名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 21:07:37.86ID:BZlys5JQ0
>>168
関数型プログラミングの考え方導入
0185名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/24(金) 21:07:55.02ID:6b8hUOy50
完全なるユーザー目線だけど、Javaで作ったWindowsアプリケーションってなんであんな遅いの??
C♯で作ったアプリのほうが軒並み速い。
JavaのエキスパートにC♯で作らせたほうがマシなものできる。マジで。
0187名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 21:08:35.65ID:Cu8uav/S0
大規模、長寿命なシステムを多人数で開発保守していく場合は必要。それ以外はケースバイケース。
ただ、設計手法の選択肢として理解しておく必要はある。理解もせずにいらないと言う奴はただの馬鹿。
0188名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 21:09:26.75ID:834PXW4+0
制約を加えることで管理しやすくするのがオブジェクト指向

その制約のためにデスマーチが発生する

最初から制約を外してあらゆる管理に耐えられるように設計すればデスマーチは発生しない

素敵な発想だろ?
0189名無しさん@涙目です。(中部地方) [US]垢版2018/08/24(金) 21:09:39.07ID:qOnC7PnS0
>>179
JavaScriptなら中括弧で囲めばいい
0190名無しさん@涙目です。(茨城県) [ニダ]垢版2018/08/24(金) 21:09:40.83ID:rwAqPl7D0
10年異常前になるけど、工業高校出身が得意になって徹夜してたっけ
実績出れば現場の親分
0192名無しさん@涙目です。(東京都) [KR]垢版2018/08/24(金) 21:10:01.07ID:uQPYhGNw0
>>166
ああ、そういう問題もあるか
リエントラントについては詳しくないから何とも言えんわ
0195名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/24(金) 21:11:20.91ID:BZlys5JQ0
>>186
言語はなんでもいいよ
CでもJavaでも
プログラミング手法としてのOOPがダメ
0198名無しさん@涙目です。(東京都) [GB]垢版2018/08/24(金) 21:13:17.13ID:XTSHx+6U0
>>138
笑えるくらい意味がわからんw
0199名無しさん@涙目です。(茸) [AR]垢版2018/08/24(金) 21:13:28.29ID:fZvsc6ly0
まあ大概はほぼ一点物のクラス作る人の方が大半だから
汎用性ガーとかいって1回しか呼ばないプライベート関数作ったり
教科書みたいに全部の変数にゲッターセッター作って
無駄にコールスタック発生させるバカは才能無いと思う
0200名無しさん@涙目です。(中部地方) [US]垢版2018/08/24(金) 21:13:41.58ID:qOnC7PnS0
>>185
Windowsってなんであんなに遅いの?
0203名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 21:14:47.82ID:oNgoazCz0
>>147
いじりたいデータを持つインスタンスを特定する様なクラスを追加するだけで改修できそうな気がするけどな
0204名無しさん@涙目です。(大阪府) [US]垢版2018/08/24(金) 21:16:18.25ID:nTFhidKI0
>>185
C#はWindows環境でしか動かない代わりに、Windowsに最適化された言語やからな。
WindowsもC#も同じ会社(マイクロソフト)が作ってるから当然。
Javaは遅い代わりに、原則的にはWindowsでもLinuxでも動く言語。
ブラウザで動かすWebアプリケーションではなく、本当にExeを叩いて動かすアプリケーションが
JAVAで作られてるのであればマヌケな選択と思う。理由はあるとは思うけど。
0205名無しさん@涙目です。(庭) [AT]垢版2018/08/24(金) 21:16:56.56ID:Lrx5xzHu0
>>195
問題は新規開発でなくてエンハンスだな
聳え立つ糞をどうするかって話で

言語変えるだけの予算はどこも無いだろうし(おまけに要員の問題もある)結局前の言語引きずってJavaで作るか、OOPと関数型プログラムのいいとこどり(?)のScalaみたいな奴使って、徐々にパラダイム変えてくしかない

俺は継続的に機能が進歩するようなシステムにはOOPは向いて無いと思うので、個人的には関数型プログラミングが流行ってほしいこの頃
0210名無しさん@涙目です。(dion軍) [ヌコ]垢版2018/08/24(金) 21:20:05.17ID:/eXC9DzA0
>>104
目的ごとに機能を一つのかたまりにまとめよう、という考え方。
ってだけ。
極めて当たり前の考え方だし、無きゃ不便だし、こんなもの否定するやつの意味がわからん。
0211名無しさん@涙目です。(中部地方) [US]垢版2018/08/24(金) 21:20:43.34ID:qOnC7PnS0
>>206
Eclipseも速いよ
0214名無しさん@涙目です。(庭) [US]垢版2018/08/24(金) 21:22:11.83ID:834PXW4+0
>>210
最初の目的に反していたら大規模な設計変更が必要だ
だから目的を決めない方が良い

ということや
0217名無しさん@涙目です。(茸) [US]垢版2018/08/24(金) 21:24:53.30ID:bH46iK1Y0
pythonしか使えないがどうなん?
0219名無しさん@涙目です。(庭) [FR]垢版2018/08/24(金) 21:25:15.46ID:4cjZTUUm0
オブジェクト指向が再利用しやすいってのは嘘
0220名無しさん@涙目です。(栃木県) [ニダ]垢版2018/08/24(金) 21:25:43.81ID:37daYDDr0
畑違いでど素人な俺にオブジェクト指向とは何かについておしえてくれ
0224名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 21:29:35.37ID:oNgoazCz0
>>185
Javaはたしか中間コード迄しかコンパイルしない
でその中間コードをwindowsとかlinuxとか
で動くコードに変換しながら動かしてる

作る側はjavaで書けば色んなOSで動かせるから便利
0226名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 21:30:20.84ID:oNgoazCz0
>>184
それだけで十分?
他にも必要な要素があるんじゃね?
0227名無しさん@涙目です。(catv?) [KR]垢版2018/08/24(金) 21:30:53.25ID:wQj1urcZ0
>>220
畑違いには覚える必要のない全く無駄なことだから
教えるために労力をかけるのは更に全く無駄なこと
だから君に教える必要は皆無
天井の染みの数を数えるのオススメするわ
0229名無しさん@涙目です。(滋賀県) [US]垢版2018/08/24(金) 21:31:48.31ID:3PSN2i+/0
すべての変数、すべての関数はグローバルで宣言しろ

分岐にはgoto文を使え。

プログラミングは自由だ、コーディング規約なんてものに縛られると最高のコードは書けない

他人に簡単に理解できるようなしょぼいコードは書くな
0238名無しさん@涙目です。(アラビア) [US]垢版2018/08/24(金) 21:46:23.30ID:EOZSaHyX0
>>138
こういう入門書って昔はよくあったな。
冒頭で、
タイヤやハンドルがない車、とか
窓や玄関がない家とか。
初心者は、そんな車や家があるわけねーだろって冒頭で挫折する。
0243名無しさん@涙目です。(東京都) [EU]垢版2018/08/24(金) 21:53:41.25ID:A6lx0bDJ0
最初からブリザラで攻撃するコードを組めば早いのに、わざわざ幻獣というオブジェクトを定義して召喚してから氷の息吹きとかで攻撃するイメージ
幻獣は再利用性があるとか言うが、さっさと攻撃する方がシンプルで軽い
0247名無しさん@涙目です。(庭) [ニダ]垢版2018/08/24(金) 21:59:01.30ID:AjR7XQsg0
確かにクソなんだけど大規模プロジェクトだとそうしないと収拾つかないんだよ
0254名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:10:29.48ID:oNgoazCz0
>>240
複数の構造体のデータを書き換える時
1つ目更新OK
2つ目更新OK
3つ目更新NG
の時は1つ目と2つ目の更新を
ロールバックしないといけない
けどオブジェクト指向とか関数型プログラムではどうやって実現するのかな
0255名無しさん@涙目です。(庭) [ニダ]垢版2018/08/24(金) 22:10:36.28ID:AjR7XQsg0
>>252
モジュールごとに「何を与えたら何が返ってくるか」だけを定義するやり方
そのモジュールを組み合わせるとシステムになるという開発手法
個別モジュールだけに集中できるから何十人もかかわる大規模プロジェクトではそうしないと交通整理できない
0257名無しさん@涙目です。(静岡県) [US]垢版2018/08/24(金) 22:12:47.98ID:rYqSPnZx0
GUIを使ったプログラムを作るには必須だよね、オブジェクト指向。
0258名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:12:56.99ID:oNgoazCz0
>>243
幻獣を100体召喚出来るキャラと
幻獣を50体召喚出来るキャラが
同時攻撃するのとかどうする?

あと幻獣もそれぞれ個体差がある
0260名無しさん@涙目です。(埼玉県) [IN]垢版2018/08/24(金) 22:13:37.34ID:TRsNkBUP0
>>213
C#はたしかにLinuxでもMacでも動くが
普通C#言ったらC#.NETのことだろう
0261名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:14:07.27ID:oNgoazCz0
>>248
トランザクションとかは自分で作らないと無いんじゃね?
0263名無しさん@涙目です。(滋賀県) [US]垢版2018/08/24(金) 22:14:58.48ID:3PSN2i+/0
>>235
アセンブラこそ至高。
最高のパフォーマンス、最小のサイズを求めるとアセンブラになる。
男ならアセンブラ
0264名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:15:58.03ID:oNgoazCz0
>>255
その考え方は関数型プログラムじゃね?
入力→出力の関係を決めるのは関数だし
0266名無しさん@涙目です。(庭) [JP]垢版2018/08/24(金) 22:16:44.70ID:DR/mwShw0
ソース渡されてそれ言ってたら糞過ぎるな。
ソース無いならデコンパイルしろよ。
0267名無しさん@涙目です。(東京都) [US]垢版2018/08/24(金) 22:18:21.67ID:qjxOmcRK0
下手に作られたオブジェクト指向よりも
手続き型の方がメンテしやすいのは往々にしてある

オブジェクト指向のより良い設計を学ぶ機会があまりないんよね
日々の仕事に追われてばかりで傾いた家の屋根にもう一個家を作るみたいなことになる
0268名無しさん@涙目です。(静岡県) [US]垢版2018/08/24(金) 22:19:25.36ID:rYqSPnZx0
イベント駆動型プログラミングはオブジェクト指向が似合うよね。
まあ、GUIなんですけどね。
0270名無しさん@涙目です。(神奈川県) [PL]垢版2018/08/24(金) 22:22:51.32ID:vfggW8oW0
高度に抽象化されているほどソース読み解くのに時間がかかる
ライブラリとかはそれでいいかもしれなけど、実行系はやめたほうがいいというのが俺の結論
0272名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:24:43.64ID:oNgoazCz0
>>259
それだけだと
1つ目の構造体更新中に
別のタスクで2つ目の構造体を更新される可能性があるから
何個前のがロールバックするべきものか判らなくなる

全部の構造体をロックしないと
0274名無しさん@涙目です。(catv?) [US]垢版2018/08/24(金) 22:24:52.42ID:wBHwHG/P0
設計がしっかりしていればしている程、作る側は苦労するよな
0275名無しさん@涙目です。(catv?) [JP]垢版2018/08/24(金) 22:24:57.79ID:jCDJtx+30
わしゃゴリゴリ書きたいんや!
オブジェクト指向くそ食らえ!
0276名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/24(金) 22:25:33.76ID:Eh+t7X370
>>254
オブジェクト指向とか関数型プログラムは
プログラムとデータ構造をどのように管理するかの方法論なんだよ。実際のデータの管理は同じで出来るし、そこはDBMSがやるだろ。
情報処理は天才がやる事でバカは言われた事だけ
やれば良いんだよ。
0277名無しさん@涙目です。(静岡県) [US]垢版2018/08/24(金) 22:26:21.67ID:6Iy4b9q10
プログラマーってAIに職奪われるの?
0278名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:27:46.38ID:oNgoazCz0
>>276
DBMSが必ずあるとは限らないんじゃね
0280名無しさん@涙目です。(空) [EU]垢版2018/08/24(金) 22:27:57.83ID:DhGF6Kj70
よく分かってない奴がリードするとスレタイみたいになるよな
本当は相当分かっててかつやり慣れてるやつがやらないとダメ
0282名無しさん@涙目です。(滋賀県) [US]垢版2018/08/24(金) 22:29:27.11ID:gvPd9l5U0
「増えすぎたプログラマを振るい落として
単価を上げるためにより分かりにくく複雑化してます」
って言語作家の皆さん白状してる。
0285名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:30:42.04ID:oNgoazCz0
>>276
オブジェクト指向でトランザクション処理する時の
デザインパターンとかある?
関数型でも
0290名無しさん@涙目です。(東京都) [US]垢版2018/08/24(金) 22:31:55.76ID:qjxOmcRK0
>>270
分かる
0291名無しさん@涙目です。(滋賀県) [US]垢版2018/08/24(金) 22:32:25.75ID:3PSN2i+/0
>>276
オブジェクト指向のDBMSって最低だよな
0294名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:33:51.07ID:oNgoazCz0
>>284
将来の事をどの程度見込むかによって変わるのかな
それはその担当者の責任で決めるしかないんじゃね
0298名無しさん@涙目です。(禿) [US]垢版2018/08/24(金) 22:37:14.89ID:M47zEKge0
要は汎用性持たせて使い回しや中途変更のしやすい道具って事だろ?
けどそれって基本設計がクソだとエラい事になるよな?
何でそんなもんを現場の下っ端にまで使わせるんだ?
0299名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:38:35.79ID:oNgoazCz0
>>291
リレーショナルDBじゃなくて
オブジェクト指向DBもあるみたい
0304名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/24(金) 22:39:54.63ID:+h3kVkvl0
欧米では、アクセンチュアみたいなコンサル会社が
SE会社を持っていて、コンサル主導でプロジェクトを進める。

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

デスマーチはこうして作られる。
0308名無しさん@涙目です。(神奈川県) [US]垢版2018/08/24(金) 22:42:43.12ID:XsjCnr6f0
つまり、真に必要なのはインタフェースであってオブジェクトそのものじゃないってことにもなるんだが

インタフェースが複数作られるとインタフェース間で競合が発生したり
インタフェース間の依存関係や共通の処理とかが出てくるとインタフェースが絡み合ったりする

そこを整理してすっきりさせるためのプロセスがオブジェクト指向
0312名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:44:36.69ID:oNgoazCz0
>>276
応答時間とか性能とかの要件を満たすためには
DBMSとか使えない状況もあるんじゃね
0315名無しさん@涙目です。(庭) [JP]垢版2018/08/24(金) 22:46:07.26ID:lQ84/8ML0
なんとかUtilとかいう超巨大なクラスがある。
しかもstaticじゃない。
0318名無しさん@涙目です。(庭) [ニダ]垢版2018/08/24(金) 22:47:06.38ID:1Hi0jTAq0
デスマーチ艦隊スレか?
0320名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 22:49:34.49ID:oNgoazCz0
>>314
組込系とか
0328名無しさん@涙目です。(dion軍) [US]垢版2018/08/24(金) 22:57:14.68ID:QAamcDgW0
アジャイル デボップス
アジャコング ボブサップ
0331名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 23:00:22.48ID:oNgoazCz0
>>325
出来ない
0332名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/24(金) 23:01:57.28ID:+h3kVkvl0
オブジェクト指向の黎明期は「複雑なデータ構造や
複雑なコードにシンプルなインタフェイスを付けて、
モジュール間の結合度を下げ、再利用性を上げて、
生産性をウンタラカンタラ」みたいな触れ込み
だったと思う。

でもこれって「複雑なクラスは誰がメンテするの?」
って視点が欠如してるんだよね。
純然たる(クラスの)利用者としては確かに
便利そうに思えるんだけどね。

抽象クラス以外の継承は一切禁止。
これくらいやらないと保守不能なゴミクラスが
簡単に作られてしまう。
0333名無しさん@涙目です。(空) [ニダ]垢版2018/08/24(金) 23:02:21.11ID:/Qf3wA5E0
>>309
内製基板にLinuxポーティングしてGUIアプリ載せて製品化とかやるからアセンブラ、C、C++までカバーしてるし既成ライブラリとか極力避ける組み込みの原野で戦ってるけど、C++が一番生産性高いのは間違いない。
メモリ容量から言えばC++とか超贅沢なんだけどこれは外せん。
0334名無しさん@涙目です。(兵庫県) [US]垢版2018/08/24(金) 23:03:19.55ID:eOnqyzBR0
フレームワークのためにあるようなもんじゃね?
0343名無しさん@涙目です。(家) [US]垢版2018/08/24(金) 23:10:04.03ID:F1ZerlA20
そもそもオブジェクト指向でちゃんと設計できる奴が少ないからな。
理解してない奴がオブジェクト指向っぽく設計して、理解してない奴がさらに複雑に直してるんだろ。
0347名無しさん@涙目です。(埼玉県) [MY]垢版2018/08/24(金) 23:13:04.46ID:UBEJubxA0
>>332
>抽象クラス以外の継承は一切禁止。
>これくらいやらないと保守不能なゴミクラスが
>簡単に作られてしまう。
一切禁止とまではほんのちょっとだけ行き過ぎかもしれんけどまあわかる。
オブジェクト指向と言えば実装の継承みたいな考えが害悪。
0348名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/24(金) 23:13:32.56ID:+h3kVkvl0
1人や2人で作る小さい案件ならソースコードの
隅から隅まで把握できるから問題も起きにくい。
でも下請けに出したり大人数になると目が届かない。
そんな中で「開発言語はC++でよろ」とかやっちゃうと
品質の担保は壊滅的に難しくなるね。
まあC++に限らないけど。

MicrosoftOfficeとかどんな体制で作ってるのか
見てみたい。
0354名無しさん@涙目です。(千葉県) [JP]垢版2018/08/24(金) 23:17:33.73ID:RjUge7xg0
プログラマーとかそういう奴らには決定的にバランス感覚が欠けてる
いい塩梅になんでもやればいいのに、基本的に原理主義なんだよ奴らは
0355名無しさん@涙目です。(神奈川県) [US]垢版2018/08/24(金) 23:19:16.76ID:XsjCnr6f0
A「〇〇を更新する処理を作ってくれ」
B「ほい、ちょこちょこっと」
C「え、〇〇を更新したの誰、更新したならこっちの関数を呼んでくれないと、GREPしたから全制御見直しして」
D「ちょ…処理中に更新かかったんだけど、なんで排他フラグ無視するんだよ」
E「ちょっと、チェックサム不一致が出てる!データ不整合だ、
この範囲にアクセスしている全制御見直しだ」

よくある地獄絵図
0361名無しさん@涙目です。(家) [KR]垢版2018/08/24(金) 23:22:10.56ID:aF3mFlUw0
>>1
またお前かよ
まだ解決しないのかw
0362名無しさん@涙目です。(禿) [US]垢版2018/08/24(金) 23:23:04.27ID:I+cQuVY60
>>353
最近COBOLのままオープンシステム化する案件も出てるからねえ
オブジェクト指向よりプログラムの可読性を重視する現場ではね
0365名無しさん@涙目です。(禿) [US]垢版2018/08/24(金) 23:27:27.77ID:I+cQuVY60
>>360
銀行、保険、自治体案件ではCOBOL技術者不足が目立ってる
*現行システムのプログラムソース追ってドキュメント作り直し
*それを受けてのシステム設計
*システムオープン化に向けてCOBOLのまま移行する場合、その実装

などなど
0369名無しさん@涙目です。(禿) [AU]垢版2018/08/24(金) 23:28:43.88ID:c8UO29vP0
>>348
LinuxやGitを産み出したLinusはこう言ってる
---
つまり、まともで効率的でシステムレベルで移植性のあるC++ってのは、
Cで使える機能だけに制限することだ。
プロジェクトをCに制限すれば、ぶち壊すヤツはでてこない。
それと、多くのプログラマーが低級な問題まで理解できるようになり、
理想主義的な「オブジェクトモデル」のクソとやらでぶっ壊したりしない
0371名無しさん@涙目です。(catv?) [ニダ]垢版2018/08/24(金) 23:32:57.92ID:2BRaDzRB0
オブジェクトが状態を持つので、そんなもの同士がイベントやメッセージでやり取りするとか状態バリエーションが膨大になるし、各オブジェクトの状態を理解してないとすぐに例外。
全てのクラスの全ての取りうるインスタンス状態を把握できるのは神しかいない。
関数型みたいなステートレスのが簡単だしテストも楽。
0373名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/24(金) 23:37:20.69ID:G3pKdeTJ0
頭の良いやつと悪いやつがいるのが普通
そのとき安全側に倒すと頭の悪いやつに合わせざるを得なくなる
0374名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 23:37:39.75ID:oNgoazCz0
>>355
これってオブジェクト指向で設計してたら予防出来る?
0375名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/24(金) 23:38:31.38ID:G3pKdeTJ0
>>371
アホみたいなフラグの集合ができてなければ
0377名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/24(金) 23:42:19.51ID:G3pKdeTJ0
>>375
自己レス
集合ならまだマシだな
ぶちまけた米みたいなどこに散らばってるのか分かんないフラグの群れじゃなければ
0378名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 23:42:34.37ID:oNgoazCz0
>>369
ビジネスとしてプログラム作ってないからそう言う考えになるのかもしれないと思った
0379名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/24(金) 23:43:19.36ID:+h3kVkvl0
>>369
Linuxじゃないけど大昔に4.3BSD reno版のソースコードを入手して読んだわけよ。
カーネルのソースコード。
無駄に長いわけ。
ハードディスクのドライバのソースコード1ファイルだけでも数千行あったと思う。
半分以上コメントだったけどね。

ダラダラと長いけど、読めば分かるのよ。
ベタッと1ファイルなんで。
「あっちのコンストラクタからこっちのコンストラクタに飛んで、
アレ?どこに戻るんだっけ?」的なのは一切なし。

無駄に行数長い。
でも読めば分かる。
ハイスキルのPGを集められるなら、
Cで開発するのは良い選択だと思う。
ただし「バッファオーバーランとかメモリリークとか
やらかすようなアホはC使うな」という説も一理ある。
否定できない。
0380名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 23:46:33.67ID:oNgoazCz0
>>371
関数型で自販機システム作れるの?
同じ10円が入れられた時でも
最初の10円か2枚目の10円か
商品の金額より10円少ない状態での10円か
とか状態を見ないと処理出来なくない?
0381名無しさん@涙目です。(神奈川県) [US]垢版2018/08/24(金) 23:47:15.54ID:XsjCnr6f0
>>374
別にオブジェクト指向である必要はない
責任範囲を明確にしてI/Fをきちんと設計すれば回避できる

オブジェクト指向はそのルールの部分が言語的に保障されている
逆にその制約が邪魔になって更新しにくくなるって話が>>1
0383名無しさん@涙目です。(catv?) [TW]垢版2018/08/24(金) 23:48:28.81ID:URNCaLiO0
めんどくさいからprivate付けない俺正解だったのか
0384名無しさん@涙目です。(catv?) [TW]垢版2018/08/24(金) 23:50:21.96ID:URNCaLiO0
>>275
オブジェクト指向でゴリゴリ書けばいいじゃねえか
0386名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/24(金) 23:51:11.54ID:G3pKdeTJ0
>>380
状態遷移図なり状態遷移表なりは手続き型言語でも普通に作れる
0388名無しさん@涙目です。(catv?) [CN]垢版2018/08/24(金) 23:51:37.95ID:c518RJFE0
>>142
サブルーチンじゃ使い回しがしにくい
サブルーチンの骨組みだけ作ってプロパティを与えて使い回す
面倒な変数のネーミングも少なく出来る
0393名無しさん@涙目です。(庭) [GB]垢版2018/08/24(金) 23:56:49.45ID:oNgoazCz0
>>381
でもその責任範囲とかI/Fの明確化とかの建前を
実現できないから地獄絵図が繰り返されるんだよな
0396名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 00:04:50.85ID:scR4upUb0
>>380
入ってきたら一枚ずつリストに順番に入れとくだけじゃね?
0397名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/25(土) 00:05:45.14ID:BY3WcIyc0
>>393
3次請け4次請けだと「受注した時点で納期まで2カ月」
とかあるもんな。
「なんでもええから動くプログラム出してくれ」
みたいな切羽詰まった状況では
練りに練った美しい設計とか望むべくもないわ。

日本のソフトウェア産業は元請け下請け孫請け…で
工期も費用も中抜きされまくりだから
本質的に品質の向上は無理。
産業構造を変えない限り無理。
0398名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/25(土) 00:05:58.86ID:QidYUKsP0
プロジェクトメンバーが構築フェーズから運用保守フェーズまで超優秀なやつしかいなければ有効だけど
実際は上から下まで色々なレベルのやつがいるからどこかのタイミングで当初の思想が破綻していく
0402名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 00:09:21.60ID:uDodpAyV0
>>386
その状態遷移表についてテスト必要じゃね?
全数やるか境界値だけやるかは置いといて

オブジェクト指向でも
単体テストとかやったあと
状態遷移表に基づいてテストするのは同じじゃね?
0405名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 00:12:55.17ID:uDodpAyV0
>>396
状態を管理する手段としてリストを使うって事だよね
その状態を外部から更新されたら処理を間違うんじゃね?
クラス内部に隠蔽して守っておいたら良くない?

関数型はステートレスって書いてあったからどうするのかと思っただけ
0407名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 00:14:27.57ID:uDodpAyV0
>>397
デザインパターン作っておいて再利用するとかは
0409名無しさん@涙目です。(茸) [IT]垢版2018/08/25(土) 00:15:07.71ID:UpXXij2s0
所詮アドレスと値なんだよ
0410名無しさん@涙目です。(東京都) [CN]垢版2018/08/25(土) 00:15:22.48ID:trtuntEO0
でもお前ら底辺PGが既存のオブジェクト以上の物をサクッと組めんの?(´・ω・`)
0417名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/25(土) 00:21:36.12ID:nFyfvKSe0
>>402
最後の行と同じことを言ってるんだが
0418名無しさん@涙目です。(庭) [BR]垢版2018/08/25(土) 00:21:36.72ID:MWOapd1P0
C++はクソ
0420名無しさん@涙目です。(庭) [BR]垢版2018/08/25(土) 00:24:29.15ID:MWOapd1P0
c++はウンコ生成言語
0422名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 00:25:23.48ID:scR4upUb0
>>405
いや変更から守る必要は無いでしょ
関数のための状態管理を考えるのはオブジェクト指向の発想
むしろglobal scopeなstatic変数でも良いぐらい
0425名無しさん@涙目です。(家) [US]垢版2018/08/25(土) 00:29:58.42ID:gezbu50F0
日本の下請け構造やお殿様への設計レビューやプレゼンの文化がオブジェクト指向設計とウマが合わないんだよ。
0426名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 00:30:50.92ID:uDodpAyV0
>>417

371の
全てのクラスの全ての取りうるインスタンス状態を把握できるのは神しかいない。

についてのレスだよ
0430名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 00:31:55.06ID:uDodpAyV0
>>422
守らないとバグが入り込むんじゃね?
0433名無しさん@涙目です。(庭) [BR]垢版2018/08/25(土) 00:33:25.19ID:MWOapd1P0
c++は馬鹿が使いたがる
0434名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/25(土) 00:37:06.84ID:6Vs0nTfF0
>>428
見たまま書くね。
Eclipe上で見たことないクラスが定義されてて、その中のメソッド内に汎用機系言語の謎のソースが書き込まれてた。
文字列をCOBOLソースとして読み込んでライブラリがVM上でコンパイルするイメージ?
0435名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/25(土) 00:37:23.17ID:h4x0EDOa0
面倒だったら、IF〜THENで全部組めば?
0436名無しさん@涙目です。(東京都) [SE]垢版2018/08/25(土) 00:40:10.84ID:VlpuNQ1H0
ちょこっと纏められてパーツごとに見易いですよ〜くらいなモノなのに
馬鹿が勝手にパーツをガリガリ作り込んでブラックボックス化して自滅してるだけ
0438名無しさん@涙目です。(東京都) [CN]垢版2018/08/25(土) 00:40:38.45ID:trtuntEO0
>>424
底辺PG謹製でなんとか動いてるバグだらけの脆弱性の塊みたいなしろもの使わせさせるよりも
できるだけ既存のオブジェクトに寄せて作った方が顧客も安心だろ(´・ω・`)
0439名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 00:40:46.63ID:bWt/bxIB0
#include <windows.h>

int WINAPI WinMain(...) {
 ::MessageBox(NULL, "Hello work!"...);
}
0441名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 00:42:31.28ID:scR4upUb0
>>430
オブジェクトに隠ぺいしたほうが結果的にバグ組み込みやすいよ
mainとかで見えない存在は追加開発者には気付かれないで実装されるから
積み重なると酷いことになる
>>1で言ってる隠蔽の問題点はそこ
逆の発想でスコープを分け無いのよ
0442名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 00:43:18.62ID:zJVYP3vc0
>>434
ああ、Eclipseで読み込むって話か
それは出来るね
そういう案件も有るな
現行汎用機のCOBOLソース、そのままEclipseにコピーして移行するってヤツ
プログラム板で質問書き込みしてたヤツが居たな
0445名無しさん@涙目です。(東京都) [US]垢版2018/08/25(土) 00:53:02.20ID:/VmhRXhd0
つまりオブジェクト指向は一度出来上がったらもう手出しができない、プログラムを拡張できない糞概念ということで合ってる?
0447名無しさん@涙目です。(庭) [BR]垢版2018/08/25(土) 00:53:48.63ID:MWOapd1P0
>>445
あってる
ちなみにC++が最高にクソ
0450名無しさん@涙目です。(庭) [US]垢版2018/08/25(土) 00:54:46.97ID:uMLFA2cT0
カタカナばっかで意味わからん
0451名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 00:55:50.10ID:uDodpAyV0
>>441
仕様書とかソースコードは丸見えだ
0452名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 00:56:40.07ID:/HTcTRSi0
 
つまり半分アベのせいでおkってことか?

 
0453名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 00:57:43.92ID:scR4upUb0
>>445
できらぁ!
ただし改変を伴う拡張は初回開発よりももっとお金払え
0457名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 00:59:54.26ID:bWt/bxIB0
それ以前にオブジェクト指向のメリデメや向き不向きってのもあるから。
世の中の仕事にオブジェクト指向に適合しない案件が多いんだろうな。
間違いなく便利なのはIDEで.を打つとメソッドが出るところな。
0459名無しさん@涙目です。(愛知県) [ニダ]垢版2018/08/25(土) 01:02:11.32ID:cGky5cSk0
シングルトンすき。
0460名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 01:03:37.76ID:scR4upUb0
>>451
階層化しまくってると丸見えでもそうなるってことですわ
大規模オブジェクト指向開発で似たような機能持つクラスやメソッドが別々に複数作られちゃったりするよね?
追加開発者には(見えているけど)見えてないってこと
0461名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/25(土) 01:06:27.84ID:QNDiM/qu0
パターンやコーディングとかルールをガチガチに導入するからだな
デザインパターンもコード習熟に差があるからこういうのあると解釈しやすいね
つって作られたのに日本だと忠実にパターンに沿ってないとダメって発想になるからな
分業化するならIFだけ保障して実装は自由にすべきでしょ
人のコードを読みたいならスパゲティ言う前にコード読解力を高めるべきだ
0463名無しさん@涙目です。(庭) [GB]垢版2018/08/25(土) 01:06:57.69ID:uDodpAyV0
>>460
それは大規模である事に起因して発生する問題じゃね?
連絡とかのコミュニケーションとかプロジェクトマネジメントの問題の様に思う
0465名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 01:08:03.57ID:xdLQZsvN0
我らを愛し慈しむ聖なるスパゲティモンスター様が
己の真の姿を地上の民に思い起こさせようと現れなさるのが
大規模開発のC++のコード上なのだよ
0466名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 01:11:39.64ID:scR4upUb0
>>463
プログラミングアプローチの問題でもあると理解してるのが関数型プログラミングを提唱している人達
スレタイに言う「デスマーチの原因じゃね」
まあ俺はそこまでラディカリストでは無いけど
0467名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/25(土) 01:14:44.74ID:QNDiM/qu0
すぐスパゲティー言う奴いるけどクラス分割された
クラス数が多いpjにもスパゲティー言うからどうしようもない
単にコード読解力や追跡能力がなく開発ツールを十分扱えず
メンバーを信じず他人のコードに文句言いたいだけ
それが日本のプログラマー
0468名無しさん@涙目です。(庭) [AT]垢版2018/08/25(土) 01:20:30.80ID:D79YXYsT0
>>455
swift自体触った事無いし名前しか知らん程度だが、インタフェース同士の議論に終始させる事で物事をシンプルにするってのがキーポイントだと思うんよね
俺が考える強制は文字通りの強制で、つまりは

1)すべてのクラスはインタフェースを実装せよ
2)プログラムはインタフェースと実装クラスを完全に分離せよ(同じ階層に置くな。もっと言うと同じ領域に置くな)
3)実装クラス同士の結合は原則禁止
4)インタフェースの実装クラスの提供は言語ツールとルールに委ねよ(つまりDIみたいなもん以外使うな)

こんな厳格なルールをもつ言語があれば、なかなか面白いんでないかなと

時代に沿わないだろうし、面倒だろうし、これでメンテナンス性が保てるかは謎だけど、シンプルにするって目標は達成できる気がする
0469名無しさん@涙目です。(東京都) [GB]垢版2018/08/25(土) 01:21:14.30ID:SC126Xne0
>>464
はじめて意味わかったわ
オブジェクト指向ってそういうことなの?
0470名無しさん@涙目です。(やわらか銀行) [ニダ]垢版2018/08/25(土) 01:31:17.01ID:xBiJIjdh0
別々の部品がバラバラに処理して結果だけをやり取りしてるから処理を変えるときに
「この処理やってる部品はどれだそもそもいくつあるんだ?」ってわからないって話?
0472名無しさん@涙目です。(東京都) [FR]垢版2018/08/25(土) 01:35:26.73ID:D6JBkucE0
おまえら詳しいな
0473名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 01:40:23.67ID:1DXNJ8Fx0
全然違う
Javaの感覚でGoとかやってみ?
確実に炎上するしオブジェクト指向言語の有難みが
分かるから

今その工数を出せてる恩恵が何かを忘れているだけ
0474名無しさん@涙目です。(pc?) [US]垢版2018/08/25(土) 01:45:01.45ID:/SIjiHsS0
重いソフトにメモリリークが多いのはクラスのせいじゃない?
0475名無しさん@涙目です。(catv?) [FR]垢版2018/08/25(土) 01:47:19.12ID:Mhbxoase0
>>474
なわけねーよ

>>1
#define private public
しとけや
0476名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 01:52:39.99ID:/HTcTRSi0
 
まぁprivateなメソッドなり関数は外部クラスにまとめてpublicにすべきなのは基本ではなるな。

っでjavaの場合、そのメソッドがオーバライドされてないことをインタプリタに教えてやるためにfinal化する。

それでもダメな場合もあるが、それは完璧アベのせいとなる。

 
0477名無しさん@涙目です。(やわらか銀行) [DK]垢版2018/08/25(土) 01:55:15.28ID:j0lOjCgP0
実際、大型プロジェクトでクラスのデバッグってどうやってるんだろう。クラスのオーバーライドとか、多人数でやってると今なにをいじくってるのか分からなくなりそう。
動いているからいいや、というのは本職としては許せないだろうしなあ。
0481名無しさん@涙目です。(神奈川県) [US]垢版2018/08/25(土) 03:01:44.48ID:GzCKCAFy0
>>480
setterやgetterは設計時に意図していないタイミングおよびモジュールから呼ばれる可能性がある
その影響も考慮した修正が発生するってこと

最初からpublicならばどのようなタイミングで更新されるかもわからない
つまり、最初からあらゆる可能性を考慮して設計ができる
仕様変更が来ても安心だ
理想的にはね
0483名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 03:10:32.40ID:xdLQZsvN0
オブジェクト指向なのにmain()を使っちゃってる言語w
それのオブジェクト指向的な意味を結果論抜きで説明できるの?
0485名無しさん@涙目です。(神奈川県) [US]垢版2018/08/25(土) 03:14:04.18ID:GzCKCAFy0
>>483
エントリポイント
0486名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 03:17:04.54ID:ue4Eq7fI0
>>481
イミフ
全部publicにしたら、オブジェクト型の変数にnullがセットできるやん。
その変数使うときいちいちnullチェックすんの?
setter使う意味は、変な値がセットされないようにチェックするのが重要なんじゃん。
0490名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 03:26:10.68ID:9b23eMmj0
ゲッタ―を5回以上通過しないと 取れないなんて馬鹿げてる。
てか、目的は解っていてもそこを取得する手段を見つける事に時間がかかりすぎるんだよ
0492名無しさん@涙目です。(神奈川県) [US]垢版2018/08/25(土) 03:36:23.19ID:GzCKCAFy0
>>486
nullableかどうかは
厳密にはその変数の設計であってオブジェクトの設計ではない

privateだとその辺が曖昧になっていてオブジェクトの都合でnot nullableに設計しているかも知れない
でオブジェクトが他のオブジェクトなメンバになっていたり
継承先のオブジェクトが参照していたりで、何階層もそんな実装になっていたらどうなるのか?

これをあとから変えると大変

最初の設計が悪かったオブジェクト指向のコードと
最初の設計が完璧な非オブジェクト指向のコードを比較してる詭弁ではあるんだけどね
0495名無しさん@涙目です。(千葉県) [UA]垢版2018/08/25(土) 03:58:16.62ID:PvLRWcdE0
>>354
いい塩梅にというのはソフト屋にはあってはならないことなんだが。
ソフト屋がいい塩梅のつもりで作ったとしても客はそれをいい塩梅だとは思ってくれない。
結局、どこをどうしたいか細かく書いてもらわないと客が望むものは出来上がらない。
0496名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 04:00:36.71ID:zJVYP3vc0
汎用機COBOLからオープンシステム化移行しようとして頓挫した京都市自治体システムは裁判継続しながら、新たにキャノンitソリューションが受注したらしい
これも飛ぶな
0498名無しさん@涙目です。(神奈川県) [US]垢版2018/08/25(土) 04:04:00.10ID:GzCKCAFy0
>>494
だから>>1後からどうもそのprivateなメンバにアクセスする必要があるって必要が生じた場合の話ね

君も言うようにobject内で完結すると思って実装しているんだ
さぁ大変だ
0503名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 04:40:10.76ID:9b23eMmj0
メッセージ系を自前て作っているアプリやってるが馬鹿じゃねと思ってる、フラグ管理してるしそこ遅くて当たり前、ちなみにひこです
0504名無しさん@涙目です。(チベット自治区) [US]垢版2018/08/25(土) 04:46:27.67ID:u6h59QmJ0
実は「ベビソ指向」です。
0505名無しさん@涙目です。(やわらか銀行) [NL]垢版2018/08/25(土) 04:48:27.93ID:+cN41Cml0
 
★★パチンコ換金営業は明白な刑事犯罪(賭博罪)です!
 
警察官OBは定年退職すると
 パヨク(在日韓国人)パチンコ屋に天下りして
年金が出るまで3〜5年ほど雇ってもらいます
 
警察の風営法検査の日時情報を漏らしたり
 ヤクザから店を守る手伝いをします
 
そんな警察官OBは、最も卑劣な売国奴です
 パヨク(在日韓国人)パチンコ屋の犬です
 
パヨク(在日韓国人)パチンコ屋の社長(金持ち)は
 そんな警察官OBをトコトン馬鹿にしています
「警察官OBは使い捨ての犬ニダ!」なんて言ってます
 
それでも警察官OBは文句が言えません
 年金が出るまで、ひたすら我慢です 
その分、日本人には威張り散らしています
 
警察は自分たちの利権(天下り先)を守るために
 重大な犯罪行為(賭博)を「見て見ぬフリ」しています
パチンコ換金営業は明白な刑事犯罪(賭博罪)です
 今すぐパチンコ換金営業を全面禁止すべきです!
 
パヨク(ゴキブリ在日韓国人)に甘い「親韓政治家」は
 次の選挙で「普通の人」になってもらいましょう
 
自分の選挙区の政治家さんたちが 
 パヨク(ゴキブリ在日韓国人)に対してどんな姿勢でいるか
次の選挙のために、冷静に観察しましょう
 
★★パチンコ換金営業は明白な刑事犯罪(賭博罪)です!
  👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0506名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 04:48:28.75ID:9b23eMmj0
たとえばO
0507名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 04:48:28.84ID:9b23eMmj0
たとえばO
0508名無しさん@涙目です。(新疆ウイグル自治区) [ニダ]垢版2018/08/25(土) 04:50:23.37ID:nXGnAUzn0
再利用可能な材料を作りながら家建てるようなもんなんだろ?もし利用しなきゃまるまる無駄になるもんな
0512名無しさん@涙目です。(東日本) [IT]垢版2018/08/25(土) 05:19:46.30ID:9LHcXBdi0
結局すべての考え方はなぜそうしたかを理解して適材適所で使うしかないんじゃないのかね。
よくわからんままに教条主義におちいってもよいものはできんわさ。
0514名無しさん@涙目です。(東日本) [IT]垢版2018/08/25(土) 05:43:08.82ID:9LHcXBdi0
プログラムを書くにはバカでは困るんだがね

コーダーとプログラマーは違うというといいのかもしれん。
COBOL時代のコーダーと今のプログラマーね。
プログラムの規模を行数で語るかどうかって差かもしれん。
0515名無しさん@涙目です。(東京都) [CN]垢版2018/08/25(土) 05:45:04.52ID:X8TnbwrZ0
フレームワークの作り手はカプセル化
必要だろ
書き換えられたら、フレームワークの動作が変わるからな
0516名無しさん@涙目です。(兵庫県) [US]垢版2018/08/25(土) 05:50:35.37ID:JoOVyS520
オブジェクト指向って要するに
入力と出力だけ決めといて挙動は全部ブラックボックス化するって話だよな
ブラックボックス指向でいいじゃん
0517名無しさん@涙目です。(東日本) [IT]垢版2018/08/25(土) 05:57:43.65ID:9LHcXBdi0
フレームワーク、OSとか考えるとそこと業務層のプログラムとは
違う気がするのです。
0520名無しさん@涙目です。(catv?) [ニダ]垢版2018/08/25(土) 06:32:15.97ID:erl+dEr00
>>203
勘違いにも程がある
0524名無しさん@涙目です。(catv?) [GB]垢版2018/08/25(土) 06:38:31.85ID:gOHY6Oe40
若者の間で Lisp が密かなブームらしい
0525名無しさん@涙目です。(新疆ウイグル自治区) [GB]垢版2018/08/25(土) 06:41:19.90ID:11By8zWP0
馬鹿とハサミは使いようって言ってな
0527名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/25(土) 06:48:29.39ID:IT1iAtVj0
オブジェクト指向に限らないが、仕様書、リファレンスが大事だと思うんだよね。

なぜ、こう作ったのか、こう設計した意図などをつぶさに書いとけば、製作者の意を汲める。

かっこつけてるのか、実は設計意図が曖昧なのを隠したいせいか、人から指摘されたくないせいか、そこらへんを自然言語で説明しない開発してると、引き継ぎも難しいし、修正やレビューも捗らない。
0528名無しさん@涙目です。(東日本) [IT]垢版2018/08/25(土) 06:50:20.80ID:9LHcXBdi0
>>527
Javadocとかコメントを適切に書いとけばいいって話はどうだろうか。
それとアジャイルだとドキュメントは後回しにされがちなにょうな。
0531名無しさん@涙目です。(SB-iPhone) [US]垢版2018/08/25(土) 06:54:40.82ID:IT1iAtVj0
>>528
アジャイルは良く分からないけど、チャット内容が仕様書代わりみたいなものなのかな?

Java docもコメントもミッチリ濃厚で余計なぐらいに想いのたけを書いた方がいいと個人的には思うな。

良いプログラムはコメントが要らない!って言う人もいるけど、そりゃある側面からはそう最適化されたコードはそうなんだろうけど。
そもそも、そう組んだ意図や、詳細設計の正誤までも判断するためには、たくさん情報がないとわからないというか。
0532名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/25(土) 06:57:08.78ID:ddJhcblh0
>>516
それぞれが勝手な設計をしてればそう

大先生が作った、処理の状況に合わせた
効率のよい理想的なモデルがあって
全員がそのモデルを、適切な処理で正しく使っていれば
効率はいいはず

という話だろw
だれがあんなの暗記してるんだよ
と個人的には思う
0535名無しさん@涙目です。(島根県) [US]垢版2018/08/25(土) 07:01:11.65ID:cxrRkP5N0
実は無能な上司が中途半端に
しかオブジェクト指向を理解してないことが
一番の原因だろしかもそれ指摘したら切れるるし
まあ人間関係を悪くするよオブジェクト指向は
0537名無しさん@涙目です。(庭) [FR]垢版2018/08/25(土) 07:09:24.06ID:Z77G+eh50
>>498
getter/setterでチェックして都合が悪い時は例外返せばいい
0538名無しさん@涙目です。(島根県) [US]垢版2018/08/25(土) 07:11:01.29ID:cxrRkP5N0
オブジェクト指向の肝は
プログラム言語を自然言語の曖昧さを
もって使用できることだと思うが
たしかにこれ自分が小規模(いつでも
自然言語でコミュニケーション可能)な
環境で仕事しているからかも 大規模だと
また違う感想でてくるだろうな
0539名無しさん@涙目です。(チベット自治区) [SE]垢版2018/08/25(土) 07:12:13.62ID:/ZQvD3U20
プライベートを触るってことは
誰かが作ったソースを別人が引き継いだってこと
そういうイレギュラーが発生してること事態が無駄でイチから作り直してもかまわん
そういう入れ替えが極めて容易にできるのがオブジェクト指向
だからデスマを生むどころかデスマ対応に強い
0540名無しさん@涙目です。(チベット自治区) [US]垢版2018/08/25(土) 07:14:39.98ID:RNmOtowT0
言語というか開発環境が数年ごとにコロコロ変わる
10年も経つと使ってたレポートツールが会社ごとなくなってたりする
全部作り直してたらオブジェクト指向がどうもクソもないわ
0542名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/25(土) 07:20:17.65ID:ddJhcblh0
大混雑する駅のホーム
cxrRkP5N0が、その真ん中で爆竹を鳴らす
ホームの人々の多くが立ち止まり、ふり返る
しかし、暫くするとホームはいつもの様子を取り戻す

こんなの従来の言語等では簡単にモデル化は出来ない!
それを簡単にモデル化できるのが、オブジェクト指向の肝だ!
0543名無しさん@涙目です。(チベット自治区) [SE]垢版2018/08/25(土) 07:21:20.56ID:/ZQvD3U20
>>541
細かくできるなら全部バラバラの部品にしたほうがいい
再利用できる可能性が最も高くなるから
超細かい部品を自由に使って任意のクラスを作ればいい
0544名無しさん@涙目です。(奈良県) [US]垢版2018/08/25(土) 07:21:59.05ID:Nw6A6qor0
>>529
「一番の原因はお客様の仕様変更だろ」まぁそうなんだが、それでは開発者失格だ。
悪いのは
・お客様に変更の判断を下させた事
・それによるリスク説明と代替え策で納得させられなかった事
・事前にその仕様を理解させなかった事
・事前にその要求や問題を聞き出せなかった事

下っぱなら、自分の所のPMや本当の意味でのSEが無能であった事を恨め
0545名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 07:22:37.98ID:bWt/bxIB0
setterってJavaビーンのsetNameみたいなメソッドのこと?
それなら値の妥当性の検査はしないな。

オブジェクト生成して直後にオブジェクトの依存関係とパラメータを設定するんであれば、
コンストラクタもしくはinitメソッドか。そこでチェックすることはあるかも。

実行中にオブジェクトにパラメータ渡したり依存関係を追加・変更するんであれば、
setterは作らず別のメソッドを作りそうだ。changeStateとかaddNameとか。
setterで1つずつ渡すと、パラメータ間の相関関係もあって面倒だからまとめて渡すメソッド作るわ。

だが俺は底辺のWEB業務ロジックコーダーだから、そんな面倒なオブジェクト間の妥当性検査を実装する機会がない。
ライブラリも作らない。他のシステムと連携するオブジェクトも作らない。
作成したクラスはライブラリを除きすべて良く知ったクラスとして扱いsetterとgetterで中身はすべてオープン。呼び出し側が責任を持って中身を管理する。
妥当性検査をするのはHTTPリクエストの中身ぐらいだ。
無駄な検査をすればテストも増える。時間がかかる。金がかかる。そんなことをすれば誰も喜ばないどころか寧ろ罵倒される事態になる。
将来性のある汎用的なプログラムでもない。単なる使い捨てプログラム。
何か改修があれば、予算がついて調査・改修・テスト・リリースと行うだけだ。
0546名無しさん@涙目です。(島根県) [US]垢版2018/08/25(土) 07:29:34.81ID:cxrRkP5N0
>>542
まさにそうだとおもうが

ホームの人々の多くが立ち止まり振り返る

関数型だと
ホームの人々はそれぞれ違う振り返る方をするのを
いちいち記述しなければならないが

オブジェクト指向だと振りあえりメオッドで記述できる

これが曖昧さだとおもうが
0547名無しさん@涙目です。(東日本) [IT]垢版2018/08/25(土) 07:38:19.50ID:9LHcXBdi0
>>543
それをあんまりやりすぎるとすげー遅くなるよ・・・
それに結局なんのための部品だよ、これってレベルにまで落ちてしまう

いい加減ってのは難しいものだ
0549名無しさん@涙目です。(やわらか銀行) [CN]垢版2018/08/25(土) 07:48:51.86ID:W3DRTUOb0
オブジェクト指向の次のトレンドって何?

プログラム言語は最近あんまり進化してないように感じる。
0551名無しさん@涙目です。(千葉県) [US]垢版2018/08/25(土) 07:53:37.36ID:8YYkmcxD0
>>516
全然違うだろオブジェクト指向ってのは設計思想の話
オブジェクトって単位にプログラム作って入出力ちゃんと決めて動かすって話でだろ
プログラム自身を見えなくするブラックボックスでは無い
0552名無しさん@涙目です。(庭) [GH]垢版2018/08/25(土) 08:06:19.18ID:w9f1VLfn0
>>369
LinuxのmapはC++より高速らしいな
0554名無しさん@涙目です。(庭) [NL]垢版2018/08/25(土) 08:10:33.74ID:IBruQyJZ0
オブジェクト指向設計
オブジェクト指向言語による実装

この2つがある
オブジェクト指向設計をしてC言語で実装する事も可能

100%全部オブジェクト指向設計を反映させなくてもいい
0557名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 08:23:45.92ID:/HTcTRSi0
 
ぶっちゃけ、privateって変数について言ってるんじゃねーんじゃね?

関数やメソッドについてprivateがあるのなら、そのprivateメソッドや関数は別クラスで管理できるだろうからそうしようって話なだけ

カプセル化とか関係ねーからwwwww

論外

 
0560名無しさん@涙目です。(広島県) [US]垢版2018/08/25(土) 08:57:55.13ID:TpFhS/kP0
規模の大きなシステムでないと恩恵が無い
意味不明なカタカナのパラメータが増えていく
0561名無しさん@涙目です。(広島県) [US]垢版2018/08/25(土) 09:01:00.51ID:TpFhS/kP0
使うかどうか?判らないルーチンまで設計しチェックしデバッグしなければならない。無駄な工数が増えるだけ
0563名無しさん@涙目です。(新疆ウイグル自治区) [US]垢版2018/08/25(土) 09:03:02.36ID:oOBic4UK0
デスマーチの原因の10割が無能or馬鹿
発注側も受注側も、せめて応用情報レベルの知識必須にした方が良い
無資格者は仕事に携われないようにしろ
0567名無しさん@涙目です。(catv?) [CA]垢版2018/08/25(土) 09:14:01.60ID:fpZ3Qq790
言語仕様なんてどれも使い方次第
0571名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 09:37:38.61ID:/HTcTRSi0
setter/getterあっても、setter()についてだけなら俺様最高!みたいなインライン化できるだけだし

それよりもメソッドprivateにされた方が鬼畜すぐるからやめちまえが趣旨だろwwwww

 
0572名無しさん@涙目です。(catv?) [ニダ]垢版2018/08/25(土) 09:53:00.59ID:E2gykvvF0
でも真の敵はフレームワークだよね
0573名無しさん@涙目です。(アメリカ合衆国) [CN]垢版2018/08/25(土) 09:53:25.00ID:3twieEP90
>>1
正解。

実はオブジェクト指向、協業するときどうこうという理由上げる三流エンジニア崩れがよく使う言い訳なんだが、結局、複雑な仕組みなので、相互で齟齬が生まれ、手戻りがひどい。

関数型がもっともシンプルで良い。

逆を言えば少数でやるならオブジェクト志向も悪くないが、日本のバカSIは大人数でこれに手を出して、見事に手戻りだらけ。機能の追加もままならないから、高くついてる始末。
0576名無しさん@涙目です。(庭) [NL]垢版2018/08/25(土) 09:58:17.81ID:IBruQyJZ0
>>569
オブジェクトって言ってる時点でオブジェクト指向前提じゃね?

オブジェクトのコピーを作るとき参照してるオブジェクトがあったらどのレベルまでたどってコピーするの?

複数のオブジェクトをコピーしないといけないしコミットするまで排他制御しないといけないけどどうやって実現する?
全部コピーするだけのメモリとか確保できる?

関数型プログラムではどうするの?
0578名無しさん@涙目です。(庭) [CN]垢版2018/08/25(土) 10:02:24.71ID:/CYFpoEh0
初心者だが、インスタンスとかクラスとかプロパティとかいう、このスレで出てくる単語が分からない
だれか教えてくれ
0580名無しさん@涙目です。(庭) [NL]垢版2018/08/25(土) 10:17:00.06ID:IBruQyJZ0
>>574
それって関数型言語でも
callする関数の仕様を誤認してたら発生する問題じゃね?
プロジェクトマネジメントの問題だろ
0581名無しさん@涙目です。(庭) [DE]垢版2018/08/25(土) 10:32:47.21ID:nW1sDELG0
アセンブラで制御系ゴリゴリな人間にはイライラさせる指向
0582名無しさん@涙目です。(空) [US]垢版2018/08/25(土) 11:10:27.21ID:u0d1Vcq00
ぬこーん
0583名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 11:18:14.62ID:t5E+X9Gv0
>>61
いっぱいメモリー有るんだし。
0584名無しさん@涙目です。(庭) [EU]垢版2018/08/25(土) 11:18:55.50ID:7O3VJdhl0
privateなぞ不要
0586名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 11:32:04.87ID:/HTcTRSi0
 
>>576

同じ意味の値を複数の箇所で持つなバカ!!

で終わり

 
0587名無しさん@涙目です。(大阪府) [CL]垢版2018/08/25(土) 11:38:08.34ID:0MGnHfEu0
デスマーチの原因は作り方じゃなく、自分で仕様も整理できない無能クライアントと営業の口約束と昼真っからソープ行って石鹸の匂いプンプンさせて夕方帰社してくるPMだろ
0588名無しさん@涙目です。(空) [JP]垢版2018/08/25(土) 11:42:11.90ID:KwnTpyLd0
自分のこと棚上げしてウジウジ言ってる無能はプロジェクトに要らない
明日から居なくても困らない
0589名無しさん@涙目です。(catv?) [NL]垢版2018/08/25(土) 11:42:49.04ID:iq6DWT450
優れたプログラマのオブジェクトはアクセサが適切。
ダメなプログラマのオブジェクトはアクセサが不適切。
ダメなプログラマでも優れたプログラマのオブジェクトを使えば何も考えなくても組める。
優れたプログラマでもダメなプログラマのオブジェクトを使えばイチイチ中を確認しながらじゃないとバグる。
0593名無しさん@涙目です。(やわらか銀行) [CH]垢版2018/08/25(土) 12:00:50.95ID:MnqwYuoo0
>>13

いらんでしょ
単価高い仕事として残るよ
0594名無しさん@涙目です。(dion軍) [EU]垢版2018/08/25(土) 12:04:50.28ID:VYOKSPJq0
ところで美少女ウンコパラダイムの問題は解決したの?
0595名無しさん@涙目です。(東日本) [DE]垢版2018/08/25(土) 12:07:01.90ID:QGkh9gP+0
そこら中で車輪を量産しなくなっただけでも昔よりはマシだが、
正直車輪以外の何か(オブジェクト)を再生産してるケースは多いかも
当初から言われてたクラスライブラリーの学習コストは相変わらず

計算機科学者の夢とIT土方の現場とは全然違うってのが未だに変わってない
0596名無しさん@涙目です。(東日本) [DE]垢版2018/08/25(土) 12:08:04.57ID:QGkh9gP+0
>>587
業界長いけど、お風呂入れてもらったPMの話は聞いたことがない…
0600名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 12:20:29.60ID:scR4upUb0
>>588
明日は日曜日やぞ
0602名無しさん@涙目です。(新疆ウイグル自治区) [SE]垢版2018/08/25(土) 12:25:25.65ID:scR4upUb0
>>601
プライベートに隠蔽してたモノをpublicにすればデスマーチ始まるよ
0603名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 12:27:55.37ID:zHqmzKPo0
関数型ってつまり手続き型ってこと?
ずっと手続き型で作ってきてやっとオブジェクト指向覚えたのに
0608名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 12:50:33.30ID:MfHceOaP0
>>561
使うかどうか分からないなら
そんなもん永遠に使わないから
作らない方がいいよ
使い回しできるオブジェクトなんて
ほんの一握りなんだしさ
0609名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/25(土) 13:17:30.19ID:ddJhcblh0
>>544

「前回、機能<乙>について、A案とB案で、B案を選択しましたよね」
お客様「いや、機能<乙>自体俺の勘違い。機能<悦>を作って欲しい」←勘違いって言ってくれっるだけマシ

こっちのプリセールス(調達)の内容を審査してGOを出したのはお客さん
審査に関してはこっちは口を出せない
0612名無しさん@涙目です。(千葉県) [JP]垢版2018/08/25(土) 13:54:54.75ID:KHxdqYWi0
美少女クラスの排便メソッドで管理しているprivateの宿便プロパティを直接触る必要が出るってことか
クライアントを説得して牛乳浣腸はあきらめてもらうほうがいいな
0613名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/25(土) 14:34:20.15ID:rfdz6Dkg0
別に後からアクセスできないコードが在っても構わないのでボテボテ化を許すか許さないかだけの問題の様な気もする
0616名無しさん@涙目です。(神奈川県) [US]垢版2018/08/25(土) 14:57:33.72ID:GzCKCAFy0
>>612
美女に排便メソッドを持つ尻の穴インタフェースが実装されて
排便メソッドは自身がprivateで持つ宿便キューからpopする形式だった場合、

美女にimplementされた尻の穴インタフェースに
宿便キューの中身を返却する浣腸メソッドを追加して
宿便キューに割り込みが必要になった場合に浣腸をコールするように修正しないといけない
→デスマーチ

ただ、最初に宿便キューを別のオブジェクトである宿便キューマネージャで管理していれば
宿便キューマネージャから取得したキューに簡単に割り込みで浣腸を実装できる

要は最初にどう実装するか問題であってprivateがどうのという話ではない

publicで実装しようが、最初の実装が悪けりゃ他制御に干渉してスパゲティになるのだから
0620名無しさん@涙目です。(千葉県) [ニダ]垢版2018/08/25(土) 15:38:10.77ID:lqDQ/hEd0
>>605
うわつまんね
死ねよ性欲猿
0622名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/25(土) 15:41:13.11ID:pVAEXzql0
>>605
僕の端子も試してみたい
0624名無しさん@涙目です。(広西チワン族自治区) [US]垢版2018/08/25(土) 15:57:23.82ID:P80ulpsGO
>>623
カプセル化してるとそれが出来ない場合があって面倒が起こるって事らしいが

ある機能が、クラスAからクラスBのルーチン呼んで実現してるから
クラスCとしてそのルーチン使ったシステムを組んだ
しかし元の機能が修正の際にクラスA以外のアクセスを禁じてしまい
暫くして、以前は動いてたクラスCが動いてない事が解った
クラスCを書いたプログラマは既に退社してて、コードを見てもバグは見えない、直せない?

とか言う事態が起こりうると
0625名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 16:12:25.75ID:t5E+X9Gv0
>>605
マジか?
プラグアンドプレイ最高だな。
0626名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 16:15:42.35ID:PT/FRDmQ0
>>586
ちょっと何を言ってるのか意味がわからないです
0627名無しさん@涙目です。(やわらか銀行) [EU]垢版2018/08/25(土) 16:17:26.37ID:Kwez7HB70
昔大学で習ったな
なんだったっけw
0628名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 16:24:56.27ID:PT/FRDmQ0
>>624
それ手続き型でも発生する問題
callする側は全部調べてから修正するようにプロセスを見直すべき
0631名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 17:13:36.29ID:zvQoSznB0
>>103
Androidだと逆にそれが問題で「いつまでもあると思うなそのメモリ」状態になるんだよ まあVMで動いてるんでデバッグは楽な部類なんだけどね
0632名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 18:16:58.04ID:zJVYP3vc0
>>550
みずほは最後には中国人、ベトナム人が入り乱れてたらしい
りそな銀行みたいにCOBOL→オープンCOBOL(MF-COBOL)に移行した方が楽だったと思われる
あと、京都市のシステム案件は元々の原稿汎用機のサポートしてたNECが受注にすら参加しないヤバイ状況だった
(現行汎用機のシステム定義書類が全く無い)
俺も過去、他の自治体でNECがサポートしてる所の汎用機→Windows NTサーバーでのVBでの自治体パッケージシステムへの移行作業したが、現行NECオフコンで稼働してる内容のプログラム定義書類が全く無かった
NECがサポートしてる自治体はほとんどコレ
0636名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 19:21:41.32ID:PT/FRDmQ0
>>632
そういうのは京都市とかが持ってるものじゃないの?
他社から資料とかもらえるの?
0638名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 19:38:16.20ID:PT/FRDmQ0
>>637
機械学習と一まとめにするけど
方法が色々あるからな
主成分分析とディープラーニングじゃ全然違う
0639名無しさん@涙目です。(茨城県) [US]垢版2018/08/25(土) 19:39:49.55ID:GJErtPUC0
>>635
その発展でMacはObject Pascalでアプリケーションが作られていて
Object PascalをWindowsに移植したのがDelphiで
BASICに移植したのがVB

NEXT STEPのアプリケーション言語のために
Object PascalをCに移植したのがObjective Cで

Objective CをベースにJava言語が作られた
マイクロソフトのC#は、どちらかというとDelpiベースのC++実装であるC++ Builderの後継であるが
起点がObject Pascalなので似たようなもんだろう

NEXT STEPをベースにmacOSが作られたので
macOSのアプリケーション開発言語がObjective Cになっている
iOSでもObjective Cで
そのiOSを真似たAndroidではJavaの言語部分だけを使っている
0640名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 19:39:52.50ID:PT/FRDmQ0
>>632
ほかのベンダがサポートしてたら
そういう資料を他社に開示するの?

顧客の機密事項なんじゃないの?
0641名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 19:40:57.90ID:zJVYP3vc0
>>636
無いよ
俺の移行担当した自治体も定義書は?
て、聞くとサポートしてるNEC担当者の頭の中、と言う事らしい
自治体のシステム担当者は異動が多いので引き継ぎもマトモに出来て無いし、現行のシステムが何故、こう動いてるのか理由は知らないが、動いてる結果が正解、と言う事
なのでデータ移行の為の情報として現行コード体系表提出してくれ、とお願いしても、そんなモノは無い、で終わり
0642名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 19:43:45.85ID:zJVYP3vc0
>>640
基本的には機密事項かも知れないが、システム移行の主体は自治体だからな
自分たちがシステム変えたいのに、現行システムの稼働仕様を提示しなかったら移行請け負った側も動き様が無い
0643名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 19:44:50.59ID:PT/FRDmQ0
>>641
仕事受けたんならちゃんとやらないとな
0644名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 19:46:20.20ID:PT/FRDmQ0
>>642
自治体から聞けばいいんじゃね?
回答を得られないなら自分達で調べるとか金払って情報を買うとかするんじゃね?
0645名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 19:48:10.75ID:PT/FRDmQ0
>>641
それってベンダが何処でも起こりうる事じゃね?
自治体側が管理してなかったって事だから
昔はITILとかいう概念がなかったから仕方ない面もあるだろうけど
0646名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 19:48:57.75ID:zJVYP3vc0
>>639
Object PascalベースのDelphi作ったのはアンダースヘルスバーグだな
C#、J#もコイツが作った
ヘルスバーグに言わせればマイクロソフトの言語仕様作成担当者はレベルが低くて話にならなかった、とか言ってたな
Delphiはボーランド→エンバカデロと売り主がろくな会社に恵まれず、今やDelphiなんてJavaやってる若いプログラマは知らない
0647名無しさん@涙目です。(空) [NL]垢版2018/08/25(土) 19:49:44.78ID:q36vybKw0
継承は少人数でやってる分には超便利
実装の継承も多重継承もどんどん使って差分プログラミングだ
ゴチャゴチャしたらリファクタリングすりゃあいいんじゃ
0649名無しさん@涙目です。(関西地方) [US]垢版2018/08/25(土) 19:56:17.20ID:cWUaJvdY0
オブジェクト指向を取り入れた某ウィンドウズAPIのハンドルだってCloseHandle()で破棄できたりできなかったりでで多態性が破綻してるしな
0651名無しさん@涙目です。(SB-iPhone) [FR]垢版2018/08/25(土) 20:05:54.55ID:PT/FRDmQ0
>>648
そいういのをネットに書き込むのはいいの?
0652名無しさん@涙目です。(チベット自治区) [ニダ]垢版2018/08/25(土) 20:08:55.16ID:Hl4z4MEX0
デスマの原因は
単純に伝言ゲームのせい
0653名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/25(土) 20:14:42.99ID:pVAEXzql0
>>651
良いに決まってるだろ
言論封殺して日本が良くなると思うな
昭和じゃないんだぞ
0655名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 20:16:57.31ID:bWt/bxIB0
京都とか書面化できない仕様が山ほどありそうだな
部落とか貴族とか…
0656名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 20:20:57.02ID:zJVYP3vc0
>>651
そもそも、システム改定したい、と言ってるのに現行汎用機システムの仕様は見せられません
じゃデータ移行の仕様も作成出来ない
20年前はそれで通ったかも知れんが、今じゃ裁判やったら負けるよ
実際、京都市は他の部署のシステム移行で同じ様に現行システムの仕様出さずにシステム移行をさせようとして裁判に負けてる
今回も多分、負ける
0657名無しさん@涙目です。(チベット自治区) [ニダ]垢版2018/08/25(土) 20:23:48.16ID:Hl4z4MEX0
守秘義務違反かあ
でかい金額になりそう
0658名無しさん@涙目です。(新疆ウイグル自治区) [ニダ]垢版2018/08/25(土) 20:24:57.21ID:taKRMmnV0
共通サブプログラム作ればいいじゃん
0659名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 20:24:58.14ID:zJVYP3vc0
前回の判例有るのに、また同じ事やって請け負いit企業に安くシステム以降させるのは悪質極まり無い
こういうのは裁判で敗訴させて自治体の態度を改めさせる方が良い
0661名無しさん@涙目です。(禿) [EU]垢版2018/08/25(土) 20:44:56.07ID:3zljLM4h0
>>651
いちいちビビりすぎだわ
お前氷河期だろ?
0662名無しさん@涙目です。(禿) [US]垢版2018/08/25(土) 20:50:09.97ID:zJVYP3vc0
既に京都市は前回の負けた裁判でそういう自治体と言う事が明らかになってる
それを今から違うとか覆せないから
裁判で一度負けると言う事はそういう事
0663名無しさん@涙目です。(山口県) [CN]垢版2018/08/25(土) 20:53:37.50ID:PKa+McZz0
クソ雑魚wwwwwww
0664名無しさん@涙目です。(大阪府) [ニダ]垢版2018/08/25(土) 21:11:03.66ID:jAbwlUjM0
>>467
何故日本のことしか知らないのにニホンガーしちゃうの
0665名無しさん@涙目です。(禿) [CN]垢版2018/08/25(土) 21:18:01.98ID:STE22OLy0
最近は中型大型汎用機からAS/400へのマイグレーション案件が結構有る
COBOLのままシステム移行出来て、RDBにデータベース移行出来る
銀行系も一気にオープン化するのが良いのかどうか良く考えるべきだな
0667名無しさん@涙目です。(やわらか銀行) [US]垢版2018/08/25(土) 21:23:33.30ID:BY3WcIyc0
資料が存在して開示しないのか、
そもそも存在しなくて開示できないのか。

そもそも存在しないなら、
開発元にカネを払って作らせればいい。
それすらできないなら移行を諦めればいい。
業務が止まったなら責任者のクビを刎ねればいい。

仕様が開示できないなら、
そんなシステムは捨てればいい。
職員が手作業で行えばいい。
0668名無しさん@涙目です。(禿) [CN]垢版2018/08/25(土) 21:34:32.76ID:STE22OLy0
>>資料が存在してても開示しない
この場合は悪質

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

どっちに転んでも施主の自治体が悪い
0674名無しさん@涙目です。(埼玉県) [US]垢版2018/08/25(土) 22:01:51.12ID:/HTcTRSi0
 
つーか、ObserverパターンにしろReactiveXにしろ、配信者と購読者はそれぞれ独立してるから意味がある

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

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

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

なに複数の構造体に値をコピーとかwww寝言言っちゃってんだよwwwwwww
 
 
0677名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/25(土) 22:11:43.53ID:pVAEXzql0
>>666
オブジェクト指向って何?
君は自分の言葉でそれを説明できるくらい理解できてるのかな?
0678名無しさん@涙目です。(SB-iPhone) [CN]垢版2018/08/25(土) 22:13:19.07ID:7u0Z9f1l0
>>661
社内の人事はどうだろうね
ビビってないなら匿名掲示板じゃない所に書けばいいのに
0680名無しさん@涙目です。(秋田県) [JP]垢版2018/08/25(土) 22:14:10.08ID:7V45g/nf0
使い方を覚えて便利なとこだけ使えばいいのに
0681名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/25(土) 22:14:40.53ID:pVAEXzql0
>>680
賢い
0683名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 22:20:13.20ID:aQcjbfHW0
結局、現状分析から仕様の取り決めが8割で、あと2割がプログラム。組み方はそれぞれ一長一短あるので、規模や目的、人員やチームスキルに応じて使い分けるべき。保守人員のことも考えて、可読性も大切にすべき。
0684名無しさん@涙目です。(茸) [EU]垢版2018/08/25(土) 22:20:45.98ID:aRVXEpFg0
>>668
部落絡みで公開できないんだろ
0686名無しさん@涙目です。(SB-iPhone) [CN]垢版2018/08/25(土) 22:26:47.67ID:7u0Z9f1l0
>>656
裁判で負けそうな相手にはネットで私刑しても良いって事?
そんな権利ないんじゃね?
0687名無しさん@涙目です。(SB-iPhone) [CN]垢版2018/08/25(土) 22:42:23.52ID:7u0Z9f1l0
今の方がコンプライアンスとか厳しいから
いろんな自治体からの受注が出来なくなるんじゃね?

機会損失が結構な額になりそう
0691名無しさん@涙目です。(禿) [CN]垢版2018/08/25(土) 22:52:00.20ID:STE22OLy0
京都市の問題は過去、既に裁判で負けてる事だろうな
その上で守秘義務等で過去のベンダー訴えても既に裁判官の心証が悪過ぎる
そんな事に労力使うぐらいなら、新しい移行担当業者と協力して早くシステム移行する方が賢い
0693名無しさん@涙目です。(catv?) [US]垢版2018/08/25(土) 23:07:54.01ID:bWt/bxIB0
そんなこと言ってる間に平成は終る。
役所の書類は和暦だろ。どうするんだ。
0695名無しさん@涙目です。(東京都) [US]垢版2018/08/25(土) 23:47:36.14ID:FleiyQae0
マシン語だとレジスタ処理も完全独立でサブルーチン群を組んで、他のプログラムでも流用させたりするけど、
(もの凄く原始的な意味合いでの「モジュール化」みたいなやつ?)
単にレジスタ保存が保証されないってだけで、事前事後にスタック処理しておけばいいだけだもんな
0697名無しさん@涙目です。(禿) [EU]垢版2018/08/26(日) 00:27:20.41ID:l1YUu8kG0
>>675
モデリングはどちらかと言えばプラトン的パラダイムだな
0698名無しさん@涙目です。(静岡県) [US]垢版2018/08/26(日) 00:28:19.67ID:/FBVKI+e0
多重継承ってのが使い方によちゃ便利。
下手するとグチャグチャプログラム。
0699名無しさん@涙目です。(catv?) [US]垢版2018/08/26(日) 00:29:50.83ID:dv39XHYM0
安倍がらみで財務省の人間が2人も死んだみたいだしな。
資料を出せない京都の役所から手を引きたがるのもうなずける。
0700名無しさん@涙目です。(静岡県) [US]垢版2018/08/26(日) 00:32:13.10ID:/FBVKI+e0
>>699
久々に見る誤爆ですかw
0701名無しさん@涙目です。(家) [US]垢版2018/08/26(日) 00:33:01.79ID:HRuclTrV0
理解した上で使っている奴はいい。
便利だね!と言って使い倒している奴は駄目だな。
0703名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:15:27.58ID:BvjtuJNP0
自治体が担う業務は総務省とか国の指示
によるところが大きいんだろうから
他の自治体のシステムを担当していて
ベンダ側の知識や技術があれば実現できたんじゃね?

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

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

ベンダ側の能力不足も実現できなかった要因じゃね?
0704名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:17:11.39ID:BvjtuJNP0
>>690
内部の評価をするのに裁判する必要は無いのでは?
0705名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:31:45.39ID:BvjtuJNP0
>>691
その裁判って最高裁まで行って確定してるの?
0706名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:34:29.13ID:BvjtuJNP0
>>691
守秘義務を守れないような所に発注する依頼主はいないから今後の仕事に影響する
0707名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:35:02.54ID:BvjtuJNP0
>>694
並行してやればいいだけじゃね?
0709名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:42:47.61ID:BvjtuJNP0
>>656
裁判になってる件と今回の件って言ってるから
別件だよな

裁判の件とは別の件について書いてるってこと
守秘義務違反じゃね?
0710名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:44:49.63ID:BvjtuJNP0
>>708
自治体だろうが依頼主は関係ない
問題は守秘義務違反じゃね?って所
0712名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 05:58:29.54ID:BvjtuJNP0
>>711
誰が、は俺には特定できないが
京都市とベンダのやり取りに関してじゃね?
守秘義務契約は最近だと普通は入っているんじゃね?
0713名無しさん@涙目です。(禿) [CN]垢版2018/08/26(日) 06:06:31.52ID:CzlVirfc0
>>712
その特定出来ない書き込みしたヤツがベンダあるいは京都市の関係者なら、そうだろうね
それ以外の第三者が人から聞いた話を書き込みしてたら、伝えたヤツまで探す必要有るだろうね
0714名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 06:10:50.57ID:BvjtuJNP0
>>713
裁判する場合はそうだな
しかし依頼主が依頼先を選定する場合は
依頼主の都合で選定すれば良い

信用に足らない所を候補から外すのは普通に行われると思う
0715名無しさん@涙目です。(禿) [CN]垢版2018/08/26(日) 06:16:37.53ID:CzlVirfc0
>>714
>>信用に足らない所
ベンダの事か?
まあ、そうだろうが少なくとも新しい移行作業業者は決まってるし、今のシステムの運用業者は対応しない、て事は誰が怪しいかは何となく分かるな
0716名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 06:21:00.43ID:BvjtuJNP0
>>715
派遣とか外注とか請負業者とか
候補はいろいろあるんじゃね?
0718名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 06:39:34.54ID:BvjtuJNP0
裁判になってる件だと調べたら出てくるのは
京都市、システムズ、NEC、キヤノンITSだけど
それとは別件っぽい書き方だけどな

そもそも嘘だったら偽計業務妨害になるかもしれない
0721名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 06:44:35.58ID:BvjtuJNP0
>>717
俺が選ぶ立場にいるわけないだろ
なんでそう思った?
0723名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 06:51:34.96ID:BvjtuJNP0
>>719
>>656をどう解釈するかはいろいろあるだろう
それぞれの立場で解釈するだろうから
0724名無しさん@涙目です。(庭) [ニダ]垢版2018/08/26(日) 06:58:41.09ID:BvjtuJNP0
>>722
色々影響するしやってはいけないことだから
警告のつもりだ
0725名無しさん@涙目です。(千葉県) [JP]垢版2018/08/26(日) 07:01:39.12ID:7tLdDEuS0
まあ個別の案件出したら守秘義務違反を疑われるのは当然だわな
0733名無しさん@涙目です。(東京都) [ニダ]垢版2018/08/26(日) 15:40:32.13ID:8bibv2D60
>>732
波動方程式をシュレディンガー変換してエルミート解からコペンハーゲン状態を分離することでボーアモデルを構築するという理解で大丈夫でしょうか?
0734名無しさん@涙目です。(埼玉県) [US]垢版2018/08/26(日) 15:49:09.49ID:A/BuRUwL0
 
オブジェクト指向を一言で説明すると、よく理解してない人間でもオブジェクト指向を語ることができる。この一言にしきますね。このスレ見てればわかる。

つまり癌はオブジェクト指向そのものではなく、それを使う、っていうかよく理解してないバカジャップス共ってこと

 
0735名無しさん@涙目です。(神奈川県) [ニダ]垢版2018/08/26(日) 15:51:20.51ID:e5h0dzdo0
>>729
一人でやったら十日かかる仕事も100人でやれば一時間もかからない
0736名無しさん@涙目です。(大阪府) [US]垢版2018/08/26(日) 15:54:28.24ID:sIDV3dnm0
>>609
いやだから客に必要なのが機能乙なのか悦なのかを最初の段階で、客に認識させれなかったメーカがヘボいと言ってる。無論、下っぱ技術者はそんなこと関与できないから自分所のPMやSEを恨めと

まぁRFPレベルで 機能乙と言っていたのを悦と言い出したら、流石にメーカ責は0に近づくがその場合でもRFPのQA等で必要事項や「こーゆーのが必要(便利)だが本当に乙?」って確認は出来るし、そんなレベルの変更なら金や期間の交渉も出来る
→もし、そんな変更で交渉すら出来ないなら、やっぱりメーカ側にヘボい人間がいるからソイツを恨め

あー念のため
気持ちは分かるよオレもいろんなレベルで殺られるし。でもソレを全て客のせいにしてたらダメだって
0737名無しさん@涙目です。(神奈川県) [US]垢版2018/08/26(日) 15:57:33.53ID:Ya7R6asV0
>>735
100人でやるなら
まずその100人を調達するためにマネージャが一か月くらい調整しないといけない
そこから開発体制を整えて、開発環境を整備して
仕様書を書いたあとは、制御間でレビューをやって

まぁ、1人で10日かけたほうがはるかに速いよ
0738名無しさん@涙目です。(大阪府) [US]垢版2018/08/26(日) 16:02:23.91ID:sIDV3dnm0
>>641
こーゆーのは逆に客の問題が大きい
移動云々なんぞ関係ない。組織として把握する必要があるのに把握してない。
あまつさえメーカの担当者の頭の中って状態を許すなんて甘えてる通り越して狂ってる。本当に成人してる社会人か?
0739名無しさん@涙目です。(東日本) [GB]垢版2018/08/26(日) 16:05:34.98ID:ZeEjSrHF0
>>737
まったくまったく
クズみたいなプログラマーを100人より精鋭10人でやったほうが絶対いいもんは
できるんだけど期間はどうしてもかかっちまうよなー
# いや、そうでもないかもしれないが・・・
0740名無しさん@涙目です。(大阪府) [US]垢版2018/08/26(日) 16:20:11.50ID:sIDV3dnm0
>>735
マジで言ってるのか?
もし貴方がIT関連でソコソコの立場ならデスマーチが発生した原因の多くの%を担っているのは貴方だ

まぁその発言しか見てないから、ちゃうかもしれんがw
0742名無しさん@涙目です。(東日本) [GB]垢版2018/08/26(日) 16:30:01.44ID:ZeEjSrHF0
>>740
>>735みたいにプログラミングを伝票入力作業かなんかと勘違いしてるあほうがいるんだよねえ。
COBOLのコーダーの時代ならそれは正しかったのかもしれないけどね。

今のプログラマーとかつてのコーダーの違いがわからんクズはさっさといなくなってほしいものだな。
ステップ数なんかで規模をはかるのをやめてくれ。
0743名無しさん@涙目です。(埼玉県) [GP]垢版2018/08/26(日) 16:30:45.49ID:mJ/FnSy00
>>741
マリア様がいるだろ

はい論破www
0747名無しさん@涙目です。(家) [US]垢版2018/08/26(日) 19:01:44.83ID:1su4Aue30
一人ならカレー作るのに二時間かかるが、百二十人でやれば一分でできる
と言われればおかしいとわかるのに、こと開発になるとわからん人がいるみたいだな
0751名無しさん@涙目です。(空) [ニダ]垢版2018/08/26(日) 21:54:19.93ID:8x7LgUqi0
>>750
アカデミックな連中のオナニーだから
0752名無しさん@涙目です。(福島県) [IT]垢版2018/08/27(月) 00:31:12.63ID:esgnq/Uv0
こういうスレ多いけどコボラーを最前線に引っ張り出すフラグかなんかなのかな
0754名無しさん@涙目です。(禿) [US]垢版2018/08/27(月) 02:33:44.14ID:l/pH0r5u0
>>752
と言うかCOBOLが再評価されてるからな

Javaへの移行で生産性は上がったが、施主側が見て理解出来ないオブジェクト指向じゃシステムの良し悪しを判断出来なくなってるから

そこへ来てJavaにオラクルがライセンス課すとか言い出したから運用コストとの関連でCOBOLのままシステム改定するのもアリ、だとなって来てる
0757名無しさん@涙目です。(神奈川県) [ニダ]垢版2018/08/27(月) 07:51:12.12ID:eTqoVSf10
>>753
物理的な形状を持たないから誰もが簡単だと思い込みたがる
0758名無しさん@涙目です。(新疆ウイグル自治区) [US]垢版2018/08/27(月) 07:55:48.52ID:s8jhaJTM0
確かに配列や辞書型で持ってドットでアクセスする方が楽だわなあ。
クラスにはユーティリティ的なスタティックメソッドがあれば十分だと思う。
0760名無しさん@涙目です。(福島県) [IT]垢版2018/08/27(月) 14:05:33.44ID:esgnq/Uv0
大きなプロジェクトだとコーダーはそういうの意識することないよね
小規模だとどっちでも変わらない気もするけど
どのへんに当てはまる話なんだ
0761名無しさん@涙目です。(福島県) [IT]垢版2018/08/27(月) 14:08:18.61ID:esgnq/Uv0
>>756
SIer以外でもデスマーチあるんだ?
0763名無しさん@涙目です。(茸) [ニダ]垢版2018/08/27(月) 14:43:49.16ID:cgVuY1Dr0
オブジェクト指向も単に設計の道具に過ぎないからなあ
道具を使えばいいのかというとそうではない

漫然とただドキュメントを書くことが設計だと思ってる奴が大勢いる
しかも、いわゆる上流に行く程そういう奴が多いのはどうしてだろう
業務システムの設計だって極めてクリエイティブな仕事なのに
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況