オブジェクト指向ってクソじゃねぇよ? Part2

■ このスレッドは過去ログ倉庫に格納されています
2018/10/18(木) 23:20:41.34ID:/ofNkRJS
すごいんだよ?


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

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

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

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

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

前スレ オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
2018/10/31(水) 00:32:22.47ID:u+rWqfhJ
正論だ同意する >>566
2018/10/31(水) 00:33:37.25ID:u+rWqfhJ
>>569
半角さんは
オブジェクト指向のメリット・デメリットは何だと思う?
572デフォルトの名無しさん
垢版 |
2018/10/31(水) 00:42:00.02ID:THFaDY1P
コレは何度もいってる

オブジェクト指向は適切に扱えば道具にすばらしいメソッドを与える

オブジェクト指向は道具自体ではないが
この板にいるような低学歴知恵遅れが使えば
キチガイに刃物になる
2018/10/31(水) 00:43:02.43ID:u+rWqfhJ
…Orz
だめだこりゃ
2018/10/31(水) 01:04:51.95ID:hTEse2SW
まず、プログラム言語の前に日本語なんとかしろよ定期
2018/10/31(水) 01:15:31.31ID:iWiU55Kl
適切に扱えばという前提条件が満たされうる確率を考慮すると、オブジェクト指向にはメリットがないと相当の確信を持って言える
2018/10/31(水) 01:22:08.87ID:+I7YAfIe
>>572
これ手続き型と関数型とオブジェクト指向のメリットやんけ
2018/10/31(水) 01:25:10.88ID:u+rWqfhJ
それを言っちゃぁ、おしまいよ。

でもなんか有効活用する規範みたいなものの登場は無理なんだろうかね
これだけ広まっちゃって、みんなだまされ続けてきてもう今から後戻りは難しいんだし

たとえば局所的なクロージャーのような使い方に限るとか
2018/10/31(水) 01:36:22.13ID:u+rWqfhJ
ITの分野ってのはさ、
AIだの第五世代だのΣだのGRIDだのDNNだの機械学習だのイジングだのファジだの大航海だの
バズワードを伴うインチキがどうやら流行しやすい分野らしく、
また、それによって国プロを初め一時的に投資を引き出して
短期間に市場が出来て消えてを繰りかえしながらも
長期的視野で見ると日本のITは凋落傾向を続けている。
でもそういった中でC++やJavaを中心としたオブジェクト指向は、
奇しくも20年以上の流行と社会的普及を経ていまだ跋扈している
このように都市伝説のような非科学・工学的インチキノウハウは
ホント歴史に残る珍しい社会現象だと思う
579デフォルトの名無しさん
垢版 |
2018/10/31(水) 02:31:10.48ID:Crbi6MGa
>>538
>C++やオブジェクト指向の否定とも読めるが

『チンポ』は随意筋なのか不随意筋なのか、独立生物なのかそうではないか、 Linus博士の見解を聞きたい。
580デフォルトの名無しさん
垢版 |
2018/10/31(水) 02:46:53.27ID:Crbi6MGa
チンポは独立した生き物なんだって、ビートたけしもそう言ってたろう?
2018/10/31(水) 07:46:28.93ID:aJeiKaad
>>578
文章うまいね
俺も同じ感覚だけどうまく表現できないよ

オブジェクト指向のメリットより、
言語の敷居を低くしたJava、C#やベターCとしてのC++他の言語にとって代わられることはないだけだと思う

オブジェクト指向言語であろうがなかろうが、
エレガントなデザインパターンというのはあって、
平均的な日本のプログラマには創造できないし、使うだけなら便利だろう
2018/10/31(水) 07:48:26.68ID:aJeiKaad
最近のバズワードはRPAかな

マクロ以上に負の資産になりかねないのに、日本のお偉方には輝いて見えるらしい
2018/10/31(水) 07:53:58.26ID:aJeiKaad
俺はインスタンスハンソル、ウィンドウハンソル、デバイスコンテキストハンドルを
上手に隠蔽できなかったMFCを見たとき、
クラスモデリングのハードルの高さを感じた

マイクロソフトさえ四苦八苦するデザインを
日本の一般プログラマができるわけがない
584デフォルトの名無しさん
垢版 |
2018/10/31(水) 08:03:38.00ID:Crbi6MGa
>>427
>メモリアクセス減らしつつグローバル変数減らす苦肉の策+責任分担

グローバル変数ってのは、気軽に削除したり改変したりも出来ないからなぁ。

このゲームすぐ持ち物いっぱいになるな
http://dragon-quest.me/dq10/28435/

サーバー側でグローバル変数をいじると、プレイヤー側(クライアント)の画面表示がおかしくなるし。
2018/10/31(水) 10:29:45.97ID:H6K6+zdq
>>578
は?
ハンセン病とか
ロボトミーとか
魔女裁判とか
オイルショック→トイレットペーパーとか
マジでやっちゃった系なんていくらでもありげなこんな世界
2018/10/31(水) 11:53:54.81ID:YDfKwgHn
そもそも完全にオブジェクト指向だとしても、メソッドという存在は必ずしも必要では無いと思うが、素晴らしいメソッドってなんだろう?
素晴らしいメリットの打ち間違いなら、またポンコツ煽りマシンですらないって事?
2018/10/31(水) 11:54:28.82ID:SLDQJ2w1
>>583
まずいのは、そのウィンドウハンドルすらも隠そうとする輩がいること。
オブジェクト指向うんぬん言ってる奴は大抵そんな連中しかいないだろ。
2018/10/31(水) 12:23:19.24ID:BVdvL0XC
>>587
MFCがやりたかったのは、
キーとなるハンドルでグループ化して、
そのハンドルをメンバ変数にして引数からなくすっていう作業ゲーのノリではないの?
長らくさわってないので間違ってるかもしれんけど
2018/10/31(水) 12:26:55.00ID:BVdvL0XC
どっちにしてもドキュメントビューアーキテクチャと相まって、ちっとも生産性は上がらなかった

マイクロソフトの独壇場だからどうしようもないけど、今でもMFCの縛りはあるのかね?>現役の開発者
2018/10/31(水) 12:28:48.87ID:+6FJ+kHd
win32api直接叩いた方が遥かに楽だとは誰も思うまいw
2018/10/31(水) 12:31:49.75ID:BVdvL0XC
20年前は、オブジェクト指向がうんたらっていう輩はいなかったな

実際に手を動かして、マイクロソフトでさえこんなゴミを作るんだーって
冷めた目で自動生成されたメッセージマップを見てた

いろいろメリットを説明したがる人って、
本当に職業としてプログラミングに関わってるの?
2018/10/31(水) 12:34:47.92ID:BVdvL0XC
メッセージループだって、最後にdefaultのdispatcher呼べばいいだけだろ?

それだけの制約を守らせたいだけで実装継承なんかしなくていいよ
純粋仮想関数?可読性落とすなよ
593デフォルトの名無しさん
垢版 |
2018/10/31(水) 12:39:13.05ID:gqtAU0ur
>>583
あれはWin32APIにドップリ浸かってると逆に使い易いらしい。(使いたい機能毎にAPI纏めた感じらしい)
ライブラリ設計の違いだが一般受けしなかったのに、企業で強制されて嫌われ者になった感じ。(VC6時代が最盛期)
あの頃が一番(個人用途で)Delphiが輝いてた。
2018/10/31(水) 12:42:39.00ID:BVdvL0XC
>>593
そうだよDelphiのクラスライブラリのほうがはるかにいけてた

MFCが勝つんだから、プログラミング言語すら政治の世界なんだなってみんな言ってた
2018/10/31(水) 12:52:19.59ID:wG8+54SG
mfcでooを語るとか勘弁してくれよ
あれはただのapiラッパー
2018/10/31(水) 13:13:41.67ID:qAfaFUSH
apiラッパーを超越してるからしまつが悪い

ドキュメントビューのウィーザードから始まるフレームワークだよ

ダイアログベース程度なら被害は少ない
597デフォルトの名無しさん
垢版 |
2018/10/31(水) 13:15:25.54ID:gqtAU0ur
>>595
言いたくは無いよ?
言いたくは無いけど、デスクトップアプリで保守でOSやランタイムのバージョン気にしないで作れる環境って、事実上それしか残ってない。(最早スタティックリンクでファイルサイズが〜何て気にする必要ない時代)
もう辞めたけど、大学(海洋系)のシュミレータとかデスクトップで実現出来るパフォーマンスは当時MFCしか無理だった。
今なら他の手段もあるだろうけど、すでに作っちゃった以上はそれで保守される。
(本当に、何であの当時Delphiが業務で広がらなかったのかと)

まあいいじゃん、最近のトレンドはAndroidやiOSだ。事実上のHTML5で、オブジェクト指向と言ってもプロトタイプがメインだ。
最早古きゆかしきオブジェクト指向は虫の息だよ。
まともなオブジェクト指向話題にするならTypeScriptかも知れんね。


Javaもそうだよ。
作っちゃった以上は長い目で見れば新規だけど、当面の保守費の方が中小には楽というか、また新規開発する体力無いのが殆ど。
(オラクルも、そういうのを見越してると思う。若干馬鹿な気はするが)
598デフォルトの名無しさん
垢版 |
2018/10/31(水) 15:19:01.55ID:Crbi6MGa
 何を考えて学園をつくろうと思ったのか?
りっきーさんコメント:
「アスフェルド学園」は 冒険者のみんなにこれまでのアストルティアでは実現できなかった
新しい体験を味わってほしいという気持ちから開発をスタートしたものなんだ。魅力的な仲間を育てて共に
成長していく体験やあらゆるとくぎを使いこなせるオールマイティなキャラクターを作り上げていく体験だね。
今あげた2つの例をはじめとして、遊びとしては楽しいけれど数多くの人が同時に遊べる世界として実現が難しい。
そういった遊びを実現するために別の切り離された世界をつくったというのが学園を作った大きな理由なんだ。
http://www.tentama.net/2016/10/blog-post_28.html
2018/10/31(水) 17:22:38.37ID:hTEse2SW
>>597
そういえば何もかも消え去ったな
2018/10/31(水) 21:22:02.84ID:5Yfq+loR
>>591
オレのところで一番のOOP伝道者は、ほとんどソフトウエアを作成できなかった
サンプルプログラム程度のものでもデバッグにえらく時間がかっていて足手まといだった。
でも結構な数のOOP信者を調教するのに成功し、一時職場では大OOPブームとなった。
J2EEの失敗がまだ表面化する前の、みんなOOPに夢見ていた頃の話。

OOPブームがピークを過ぎた頃、ISO9000やCMMIの伝道者に鞍替えしたので
開発部門から品証部門に移されて、いまは他人の書いたドキュメントの抜けチェックとかやってる
後出しじゃんけん的揚げ足取りやインチキが上手いので、表面的には何か品証の仕事を
しているように一見みえているよ
601デフォルトの名無しさん
垢版 |
2018/10/31(水) 21:24:19.69ID:GBbwoAdu
揚げ足は取られた方が悪いにきまっとるんやがw
2018/10/31(水) 21:26:06.17ID:5Yfq+loR
ま、マジか、、、
「前向き」に開発に集中してと取り組んでいると
脇が甘くんるのはしょうがねーだろうに
603デフォルトの名無しさん
垢版 |
2018/10/31(水) 21:34:07.64ID:GBbwoAdu
言い訳すんな無能w
2018/10/31(水) 21:40:39.52ID:5Yfq+loR
 うるせえエビフライぶつけるぞ!

     ,.、,、,,、、..,_/i
    '、;: ...: ,,:.:'.‐'゙' ┘
     ヽ(´・ω・)ノ 「・・・・」
       |  /
       UU
2018/10/31(水) 21:47:03.83ID:o0DzM9PU
                                l;:;:;:;:;:;:;:;:l;:;:;:;:;:;:;:;:`丶、;:;:;:;l
                               ,l;ィ'----┴――--、、;:丶、!
                             ,ノ7 '"^   ^`'   ,ィ'三ミ、_〉   
                            {:/, ニ丶  ,r,=-、 ヾ:::::::ミヾ
                            〃ィ'。`>ソ { ィ'。`'ァ::..  !::::::ミ:l   
                             l:! `~´/ ,l、  ̄´   ,. }:::::三<
                          .   ll   (、 っ)     : ,l::::シ久'l   
                   .i\       _,..、、,、,.、、,._、     ,:' f::/ン ノ/
                   i‐- `.',:'''´:゙:. :.,: ,: ,.:. . ,.:、 ミァ ,)    {,ツ>-‐'′
                    ̄  ̄ ゙'‐..: ;..;;.;_ ::. :.,':.、.: .: ' : ヽ   ,_ソ/
                              丶、__, -―''"/,/
                               ,} ヽニニ  =彡シ,ンヽ,
                              ,/(`=- r‐ ''" / ,/丶、
                            .ノヽヽ、_;__,∠..ィ"-――ュ、
2018/10/31(水) 22:12:01.27ID:YbcMdBkp
staticおじさんの時代が来る〜
2018/10/31(水) 22:14:19.91ID:qQf9WOcW
>>600
linusがもっとも排除しようとしてた連中の性質だな。
結局そういう連中は
object->run()
と書いときゃごまかせると思ってんだよ。
そのrunの実装をどうするかが本質だっつーのに。
2018/10/31(水) 22:18:25.70ID:smQ7taqR
あまりまっとうなことを書くと、
信者もアンチも近寄れず、荒らしに会うという罠
2018/10/31(水) 22:22:34.70ID:smQ7taqR
なんか日本のITの構造が良くないよね

学はあるけどITのセンスがないstaticおじさんが元請けのプロパーとして君臨し、
その配下で中途半端にオブジェクト指向をこじらせた派遣が
好き勝手に作ってるんだもの
2018/10/31(水) 22:26:57.30ID:smQ7taqR
ときどき降臨するベテっぽいカキコ摩る人たちの意見が正しいなあと
ちょっと思えるくらいにはなった気がするけど、
外国で流行ってると言われると思考停止する自分もいやだわ
2018/10/31(水) 22:29:10.15ID:5Yfq+loR
他のOOP厨の例では、30代前半くらいのJavaとC#好きな
ソフトウエアの研究者が数名いる。
彼らは人にOOPを広めるような活動はしなかったが、
学生時代から親しんできて慣れているのか、あるいは地頭がいいのか、
ある程度まとまった量の研究目的の実験的プログラムを
OOPで作っていた。
集中して新規に作っているときは、入り組んだ関連性でも
一断面に集中できるのか、OOPで結構コード書いていた。
他人が見返したら分かりやすいプログラムであったかは、なんともいえない。
(研究のコードはあまり見せたがらないから)
2018/10/31(水) 22:29:23.59ID:wG8+54SG
金のハンマーで料理とか釣りしてるバカがいるだけの話よ
2018/10/31(水) 22:33:06.57ID:o0DzM9PU
>>611
それが普通だからな
2018/10/31(水) 22:37:18.48ID:5Yfq+loR
他には、、、
若い研究者がpythonのkerasで強化学習の研究コードを書いた事例がある。
kerasは継承でカスタマイズして強化学習アプリを作るFWだけど、その継承を
上位レイヤまでズット引きずって、アル程度規模のあるアプリを力ずくで書いて
研究のため継ぎ接ぎしていったもんだから、
他のFWの継承や複合的big instance、instance間の関連性、継承による
深い依存の嵐でぐちゃぐちゃになり、もう何がなんだか分からないコードの
山になっていた。
頭のいい研究者なんだけど、ソフトウエアの方法を選択するセンスは
いまいちだったかもしれない
2018/10/31(水) 22:45:24.15ID:o0DzM9PU
>>614
えぇ!?大卒なのに!?って言ってやれw

やっぱ関係ないよなぁ。学歴は
2018/10/31(水) 22:55:03.62ID:5Yfq+loR
OOPとuml流行期にそれを煩った(ソフトウエアのセンスがいまいちない)PMの率いた
ネットワークアプリケーション開発、C++で約45000stepの事例も
どちらかというとOOPの適用失敗例だったかな。

PM自ら薀蓄をたれてC++の持つOOPの機能を駆使して実装することに
血道をあるよう指示し、似たmethodがあればどんどんスーパークラスを
設けて差分プログラミングを実践し、そのためにC++にはjavaのinterfaceが
ないからといって完全仮想関数を多用し、、、、、、、
privateメンバが後で外から参照必要だと分かればgetter/setter追加し、、、、
singletonで実質最外部変数を設けてやり取り継ぎ接ぎし、、、、

そのうちプロジェクトが遅れぎみになり手が足りないというので、人が注入されたが
もう他人があとから見てもそのコードが何をする働きのものか、どのような構造のものか
もはや俯瞰できず、こういう状態に陥るとドキュメント化しにくいのでドキュメントは省かれ、
分からないことがあれば聞いてくれれば教えるよ、と開き直られ、かけた人数の割には
全然はかどらなかった。
できたソフトウエアはかなりひどい代物だったが、
まぁ、報告書書けば検収上がる○プロだったので、一回実験したあとは特にソフトが
使われることもなく何とか丸め込んでいたようだ。
2018/10/31(水) 22:55:35.78ID:5Yfq+loR
>>615
Doctor出だよ。
2018/10/31(水) 22:57:45.31ID:5Yfq+loR
あんまり書くと特定されかねないから
ほどほどにしとくわ
2018/10/31(水) 23:08:59.41ID:qQf9WOcW
結局、オブジェクト指向が有効なのは
ある程度扱うオブジェクトの粒度が粗いレイヤーでの話だと思う。
複数のオブジェクトが複雑に相互に絡み合ってるところはlinusの話にあるような状況になるということじゃないか。
んでもってその粒度の閾値をメンバーでうまく共有するのが難しいからソフトウェア開発ってのは難しいんだろう。
2018/10/31(水) 23:23:02.42ID:7gllIN0Z
>>567
誰もあえて指摘しなかったんだろうけど、判定が逆じゃないか?
2018/10/31(水) 23:28:43.56ID:ouKAoVBK
>>617
Doctorとってるなら、自己組織化プログラミングのアルゴリズムでも開発してくれ
入力ソースコードは人間の自然言語でお願いします
2018/11/01(木) 00:54:15.84ID:6Z5KFDTM
複雑に相互にからみあったままだと作れないから
プログラマーは問題を分割して作るようになるだろうという期待も含めての
オブジェクト押しだったのではないか
2018/11/01(木) 00:56:47.77ID:ln0P+KKk
>>622
あるまとまりのある複合型データ構造⇔分割細分化
624デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:07:18.72ID:PmS8KjrS
>>427
>メモリアクセス減らしつつグローバル変数減らす苦肉の策+責任分担

追加するのは簡単だけど、削除したり改変したりするのが困難ってやつだろう?

このゲームすぐ持ち物いっぱいになるな
http://dragon-quest.me/dq10/28435/
625デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:10:31.95ID:PmS8KjrS
2018.01.21
もういっそのことレベル1からやり直さないか?
http://dragon-quest.me/dq10/13929/

『グローバル変数』を削除改変出来ないのなら、いっそのこと一から作り直せというのが俺の主張。
626デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:19:04.23ID:PmS8KjrS
>>218
>オブジェクト指向言語と
>オブジェクト指向をごっちゃにしないように

オブジェクト指向言語つーとRubyを思い浮かべるけど、あれはオブジェクト指向を意識しなくても、
簡単にプログラミングができるように設計されたということだろう?

511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋
627デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:32:24.08ID:PmS8KjrS
一回こっきりの家庭用ソロゲーを作成するなら、オブジェクト指向がチンポがうんたらは必要無い。

──オブジェクト指向の言語を書こうというのに、オブジェクト指向でないCで書かれているというのは意外な気もします。
まつもと「CでRubyのオブジェクト指向を作ってて、その機能はCからも使えるんですよ。
だからRubyのC実装って、Cで書かれているんだけどRubyのオブジェクト指向で書ける。
僕はこれが好みなんですが、違う人も多いみたいですね」
http://ascii.jp/elem/000/001/228/1228027/

しかしながら将来的に改変したり削除したり拡張したりする場合、『チンポ』のような多態性が不可欠。
2018/11/01(木) 05:42:22.19ID:PBz6MbCm
Ruby はオブジェクト指向で、jQuery のように関数型で、
ダックタイピング・メタプログラミングもできる

instance_eval などで、文脈によって、self を変えたりできる

webページのテストでは、Page Object のように、
ページのヘッダー・フッター・サイドバーなどの各部分を、オブジェクトにできる
2018/11/01(木) 07:30:04.81ID:xMYNwj1F
なぜDelphiへのエネルギーをC++Builderに向けなかったのだろう

Pascalじゃ人が増えないよね、いくら優れていても
630デフォルトの名無しさん
垢版 |
2018/11/01(木) 08:56:22.33ID:+p1vRE32
>>628
汚いキメラ言語。
関数型を好む人間が文脈によってself を変えたりできることを有りがたがるとでも思ってんのか
2018/11/01(木) 09:00:10.80ID:Kkuf6Nxk
思ってるけど?
2018/11/01(木) 12:01:11.80ID:0o31DM46
>>628
関数型が何かわかって話してるの? Rubyのアンチみたいだよ。一周回って。
2018/11/01(木) 12:23:58.50ID:FHbzsPL8
まつもとゆきひろみたいな神でなくてもいいから、
実際にgithubとかにソースを公開してる人の意見が聞きたい

日曜プログラマーの御託なんかどうでもいい
2018/11/01(木) 13:06:23.40ID:IcCUDTo0
githubでソース公開しても儲からない
2018/11/01(木) 18:51:36.77ID:rxPahTbx
githubに公開されている素晴らしいオブジェクト指向なプロジェクトがあればぐうのなも出ない
2018/11/01(木) 18:52:13.30ID:Kkuf6Nxk
chromeとか?
637デフォルトの名無しさん
垢版 |
2018/11/01(木) 21:08:49.82ID:PmS8KjrS
ダメなプログラマーの典型だと思う。人の話を聞かずに延々とコードを書き続けるタイプ。


859 名無しさん@ゴーゴーゴーゴー! (ワッチョイ 6e12-bDJh [111.216.20.232]) sage 2018/11/01(木) 05:47:53.61 ID:eX17QnR50
何この流れwワロタw
ここの住人なら提案広場に投稿する=無制限でマイペ公開→凸されてキレる奴がアホって認識だろ?
めんどくさくなってBL=勝てないから逃走、つまり負け犬
凸した側の自板で相手にBLされた報告は勝利宣言じゃん
わざわざスレまで来て何レスもローシュ君の逃走報告しなくても良いんやで?
リドリーの拗らせたファンか何かなの?w

真面目な話、正論でもって凸してる側のスタンスを理解できないくせに
上から目線で論破してやろうなんて無駄な努力だし馬脚を現すだけだからな
ヲチ物件としては面白いがヲチ対象の擁護レスは興醒めするわ
638デフォルトの名無しさん
垢版 |
2018/11/01(木) 21:11:59.15ID:PmS8KjrS
こういうスレを覗いてみると、ダメなプログラマーがあいつが悪いこいつが悪いと叫んでるのがわかるだろう?


【DQ10】目覚めし冒険者を見守るスレ Part128
http://lavender.5ch.net/test/read.cgi/net/1537438093/
【DQ10】齋藤力完全追放要求スレ Part163【害悪元ディレクター】
http://egg.5ch.net/test/read.cgi/dqo/1540697098/
639デフォルトの名無しさん
垢版 |
2018/11/01(木) 21:33:31.85ID:mUElJDkH
ダメなプログラマーwww


  内容読まずにそう思わない入れましたが、

  内容読まずにそう思わない入れましたが、

  内容読まずにそう思わない入れましたが、

744 名無しさん@ゴーゴーゴーゴー! (アウアウカー Sa31-mOlN [182.250.242.73]) sage 2018/10/25(木) 19:22:09.86 ID:EkmAOjZ/a
https://hiroba.dqx.jp/sc/forum/prethread/408912/

内容読まずにそう思わない入れましたが、内容読んでらますます、そう思わないでした。
640デフォルトの名無しさん
垢版 |
2018/11/01(木) 23:35:15.76ID:BwvtJmQs
また線路の上のウンコの池沼が暴れてるのか・・・
641デフォルトの名無しさん
垢版 |
2018/11/02(金) 05:48:41.19ID:1ym8qpVP
チンポがシコシコするぜ!!
2018/11/02(金) 08:03:47.54ID:IaJIe6+V
>>597
古きゆかしきオブジェクト指向ってのは
カプセル化、継承、多態性のこと?

今でこそ悪手と疑念を持たれてるけど、
当時はこれぞオブジェクト指向!みたいな入門書が出ては消えてた
2018/11/02(金) 08:06:08.92ID:IaJIe6+V
なんかmfcとかdelphiの話がよく引合いに出されるけど、
今どきの言語でメリデメが説明しづらいってこと?
2018/11/02(金) 08:56:49.81ID:bE/8yEKV
MFCは当時のC++の言語仕様の範囲で作られたライブラリ
STLとかテンプレートが使われていない

純粋なC++クラスライブラリと言えるがC#のデリゲート相当が
なくて(当時のC++の言語仕様では作れないから)使いづらい

Delphiはそれを解決している。そのDelphiで作られたライブラリが使える
C++Builder でも解決しているが、独自の言語仕様が追加されていた
(__closure と __property)

オブジェクト指向ではなくて、C++の問題の話だな

今どきのオブジェクト指向言語ではそこらへんの問題が
解決しちゃってるのでディスるのが難しいw
645デフォルトの名無しさん
垢版 |
2018/11/02(金) 10:32:40.00ID:7ojsfeLp
>>642
オブジェクト指向って言うと親クラスがAnimalで子クラスがDogとかCatで〜みたいな例えが多いけど、
実際には違う場面もあると言う例えとしてもクラスライブラリの設計思想の違いがよく出てて例え易いってのもあるし、
今時の言語はオブジェクト指向と言うより関数型言語も混じったハイブリッド言語だからってのもある。
(使って天国作って地獄と言われたWin32APIとの比較にも丁度いい)

結局ハイブリッド言語最強と言われればそれまでだが。
そう言う意味じゃ今時の言語はオブジェクト指向言語のデザパタを手本にしつつも、新しいで座パタを作ってる最中なんだろうな。
(特にマルチスレッド系は関数型言語の考え取り入れて大改造中なんじゃなかろうか)
646デフォルトの名無しさん
垢版 |
2018/11/02(金) 10:35:26.49ID:7ojsfeLp
>>644
良貨が悪貨を駆逐するの典型だったね。
C++Builderの方がSTL対応早かったのに、為すすべもなくMFCに飲み込まれた。
2018/11/02(金) 12:41:40.86ID:POJm0DoW
>>644−646
ありがとう

mfcとか書いてる人が同じ人の自作自演には見えないし、普遍的な意見みたいね

俺は経験が浅いから、mfcとかの話はすぐにはわからなくて、ネットで調べていこうと思うけど、
ベテランから見れば同じような見解なのかしら

今現在ではオブジェクト指向言語もハイブリッドに進化してて、
ピンポイントではメリデメは説明しづらいとか
2018/11/02(金) 12:44:21.77ID:POJm0DoW
もっとくれくれ君的に聞きたいけど、
何から勉強するのが早道なのかしら

巷のオブジェクト指向の本を読んでもピンと来ないし
2018/11/02(金) 13:01:49.76ID:+9XbfpfW
>>648
c言語でグローバル変数を一切使わないで組む練習をしろ
2018/11/02(金) 13:42:28.71ID:mN7F6YEE
>>646
それは間違った慣用句の使い方だなw
普通使う時は「悪貨は良貨を駆逐する」だから。
2018/11/02(金) 14:01:05.40ID:d645cH5R
MFCがダメだったのはオブジェクト指向だからではなくて、
単に当時のMSのAPI設計の品質が滅茶苦茶だったから。
2018/11/02(金) 14:49:22.43ID:bE/8yEKV
「悪貨は良貨を駆逐する」ってさ、負け犬の遠吠えだよねw

お前が応援している○○が勝った時、
「悪貨は良貨を駆逐した結果だ」って言えんの?って
聞いてみたいねw
653デフォルトの名無しさん
垢版 |
2018/11/02(金) 15:37:45.42ID:O3ODr4CD
有言実行について一言。
654デフォルトの名無しさん
垢版 |
2018/11/02(金) 15:39:47.08ID:7ojsfeLp
>>650
ごめん、そう書いたつもりだったけど間違ってたw
寝ぼけてたかも知れんw
2018/11/02(金) 15:45:04.45ID:EV14OdoL
「実践テスト駆動開発」を勧める。
オブジェクト指向の良さも悪さも実感することになる。
2018/11/02(金) 15:47:57.21ID:fm3kIxqs
MFCが出た当時は誰もオブジェクト指向について分かって無かったから
わざとオブジェクト指向度を下げて成功したらしいよ
逆にボーランドのライブラリーはオブジェクト指向度が高かったから失敗した
2018/11/02(金) 18:55:46.72ID:TZjyuZ95
>>651
> 単に当時のMSのAPI設計の品質が滅茶苦茶だったから。

何と比較して?
具体的にどういう点が?
自分ならもっと良いAPI設計が出来た?

俺もかつてwin32で色々つくったこともあり
当時はイライラさせられたことも確かにあるが
だからといってあれが滅茶苦茶な設計だとは思えない
だいたいああいう感じに基本なっちゃうんじゃないの?と思ってる
2018/11/02(金) 20:12:44.48ID:Hx89MQzb
原始人の集い
2018/11/02(金) 20:27:01.39ID:jwIpxQSG
msはWindowsの設定とかのguiが破天荒なのにソースは綺麗という方が無理があると思うの
2018/11/02(金) 22:29:33.77ID:Jnk4S5ca
正直テンプレートの無い当時のc++は糞だったから仕方ない部分はある
2018/11/02(金) 22:36:33.06ID:mN7F6YEE
正直テンプレート来てからは何でもテンプレート使ってカオス状態になったからc++がくそなのは仕方ない部分がある。
2018/11/02(金) 22:48:40.66ID:vC2JX3NS
つまりテンプレートあろうがなかろうがC++はクソ
2018/11/02(金) 22:53:18.50ID:bE/8yEKV
テンプレートって名前やめて
コードジェネレータって名前にしたほうが良かった
コンパイル時にコード生成するとか
664デフォルトの名無しさん
垢版 |
2018/11/02(金) 22:55:26.50ID:KoqyjIsr
クソはなにを使ってもクソにする能力がある
それが低学歴知恵遅れ
665デフォルトの名無しさん
垢版 |
2018/11/02(金) 23:45:21.09ID:1ym8qpVP
オンラインゲームってのはコードの質が低いねぇw

237 Anonymous (スッップ Sda2-qcg+ [49.98.169.30]) 2018/11/02(金) 19:35:46.52 ID:4GQBlPFjd
「こうなって欲しくはない」
https://i.imgur.com/mEEI0oP.png

🐸「その要望にお答えします!」
666デフォルトの名無しさん
垢版 |
2018/11/02(金) 23:56:32.56ID:1ym8qpVP
同じ苦労を知っている齊藤氏は、開発初期から大事にしていることが1つあった。
「一番口酸っぱく言っていたのは『属人的な開発の仕方をするな』ということですね。
長いこと開発していけばお客さんの入れ替わりと同様に開発スタッフも変わっていくわけなので、
属人的なスキルに依存した開発をしていると、その人がいなくなったタイミングでアップデートがで
きなくなります。それをまたサルベージしてやりましょうというのはとてつもない作業量になります。
『ドラクエX』で100%属人的じゃない体制を作れたかというと決してそんなことはないんですけど、
意識してそれをやるようにというのは開発初期からやりました」
https://jp.ign.com/dragon-quest-10/28251/news/xpso2
667デフォルトの名無しさん
垢版 |
2018/11/03(土) 00:21:11.94ID:ahgTmUNP
言われたことをきちんとこなせる能力も大事ですが、自分の意見もしっかり伝え、相手の意見を突っぱねずに、
柔軟に聞き入れるのも重要です。何かを思ったり考えついたりしても、それを内に秘めたまま発信しないこと
には何も考えていないことと一緒であり、そう思われかねません。事態が悪い方向に進んでから、だから
こうした方がよかったのに、と後悔するよりも、思いついたことがあるのならば、率先して口に出していきましょう。
互いに納得が出来る道を探るにはコミュニケーションをとるしかありません。プログラミングの分から
ない人が理解できるように説明する能力も重要で、論理的思考スキルと合わせて手にしておきたいスキルです。
加えてコミュニケーションが不足していると、あまり話した事がないからどんな人かわからない、
声をかけづらいなどと相手にマイナスなイメージを与えてしまい、新しい仕事を得るチャンスを、
知らず知らずのうちに失ってしまうかもしれません。そう言われてもコミュニケーションはやっぱり苦手だという方は、
まずは挨拶からはじめてみてはいかがでしょうか?それだけで自分の中でも相手の中でも、印象が変わってくるはずです。
https://mynavi-creator.jp/blog/article/skills-necessary-to-game-programmer
2018/11/03(土) 00:42:17.78ID:dQj0A1Se
>>666
そこからヒントを得てスレを一つ立てた

低スキルでも読めるコードは、属人的なコードになる
https://mevius.5ch.net/test/read.cgi/tech/1541173295/
2018/11/03(土) 07:11:09.12ID:jAcy1rC3
>>663
正しいと思うがVCのビルド環境を見る限り、msはできる限りビルド環境を隠蔽したがってることは明白。
あいつらにビルドを明確にした方が良いって発想はない。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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