[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/10 03:06 / Filesize : 285 KB / Number-of Response : 1039
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2018/08/24(金) 13:32:09.36 ID:ifygL6bT.net]
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。

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

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

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

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

511 名前:デフォルトの名無しさん [2018/10/06(土) 13:08:17.37 ID:LmyRE988.net]
>>493
飲んで2chにポエム書くことくらい大目に見なよ

512 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 13:36:23.41 ID:o3SQFYgr.net]
>>492
blockは無いし頑なに追加しようとしないけど
lexical scope な言語ではあるだろ
何か勘違いしてるんじゃない?用語の意味わかってる?

513 名前:デフォルトの名無しさん [2018/10/06(土) 13:43:55.83 ID:LmyRE988.net]
>>495
・関数の大外のfile scopeの変数を外部から参照させることが出来ない

514 名前:
classにする必要が無くてもclass objectを作ってclass変数とし無ければならない
・関数の内側は平坦なlocal scopeのみ、また外側の変数は参照のみ、更新できない(かった<3)
・block(てきなもの)がnestしてもscopeがnestしない
したがって関数bodyがでかくなると見えなくて良い遠くの変数を隠せない

>>492
で配慮していないと一言で言おうとしたのは
具体的にはこういった欠点
[]
[ここ壊れてます]

515 名前:デフォルトの名無しさん [2018/10/06(土) 13:59:20.11 ID:LmyRE988.net]
>>495
モダンな言語なら必ず備えているコードのlexicalな階層構造と
変数のscopeの階層の明確な対応が出来ているとは
とても言いがたい

516 名前:デフォルトの名無しさん [2018/10/06(土) 14:02:40.61 ID:LmyRE988.net]
さて、三連休だ、旅行に行ってくるわ。
あばよ、ノシ

517 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:04:15.02 ID:o3SQFYgr.net]
だから一言blockが無いで良いじゃん
lexical scopeは関係ない
それにpython 3だけで大抵の言語のシェアを上回ってるのに、
未だに2の批判するのも意味分からん

518 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:05:12.84 ID:o3SQFYgr.net]
>>496
>>495
>・関数の大外のfile scopeの変数を外部から参照させることが出来ない

これ意味分からんかったわ
どういうこと?

519 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:06:48.29 ID:c8T9aSvT.net]
>でもまnumpyやtensorflow,kerasなどのFWソースをたまに眺めると
>よくまあここまで練り上げたなと感心するくらい上手にクラスベースOOPをつかって
>ソフトウエアの構造を表現している。
numpy、tensorflowがオブジェクト志向?
そんな気は全くしないんだが、定義が全く違うのかな?



520 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:08:53.96 ID:o3SQFYgr.net]
それと pythonでnonlocal や global を使いたくなるケースは
根本的に設計間違ってるから、クソコード撒き散らす前に設計見直した方が良いよ

521 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:18:09.40 ID:o3SQFYgr.net]
>>501
numpyやtfの中のコードの事だろ
使う側は手続き型で書ける
tfは計算グラフを構築してから実行するから宣言型かもな

522 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:21:52.83 ID:sXtVjY80.net]
>>501
そいつはここで気持ちよくポエりたいだけだから
レス返しても有益な情報は得られないよ
ポエ逃げしたいだけの人種だから

523 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:28:45.50 ID:9tCZRFgp.net]
スレッド内にカプセル化されとる

524 名前:デフォルトの名無しさん [2018/10/06(土) 21:20:49.04 ID:vpFDdLxA.net]
>>503
まとめると:
・numpy や tf は C/C++ で書かれ内部はオブジェクト指向で設計された
・それらライブラリのAPIを Python は手続き的に利用している

つまりスレ的には、「Pythonのオブジェクト指向はクソ(>>181)」であると、
Python信者が認めたわけだ

525 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 21:28:26.10 ID:c8T9aSvT.net]
numpyの中身は知らんがtensorflowのどこがオブジェクト指向?
ホントにコード読んでんのかよ。。
なんか胡散臭い奴しかいねーな。。

526 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 21:38:32.17 ID:9xvvgu9Y.net]
>>506
数式を表現するのにオブジェクト指向なんていらん
行列演算したいだけなのにオブジェクト指向なんて強制されたらクソだわ

あ、数式使わないドカタの反論は不要なのでよろしく
ドカタには分からん世界があるんだよ

527 名前:デフォルトの名無しさん [2018/10/06(土) 22:10:42.51 ID:vpFDdLxA.net]
>>508
Python信者からも賛同意見を頂けるとは嬉しい限り

・次世代言語12 Go Rust Swift Kotlin TypeScript
 mevius.2ch.net/test/read.cgi/tech/1530664695/963/
 >> 失礼な!!Python は FORTRAN/COBOL/BASIC に代表される
 >> 伝統的な手続き型言語の正当な後継スクリプト言語、
 >> 次世代の純粋手続き型言語です
 >>
 >> 関数型?オブジェクト指向?
 >> そんなのは飾りです、偉い人にはそれが分からんのですよ(必死

528 名前:デフォルトの名無しさん [2018/10/06(土) 22:21:37.35 ID:84qwAd3v.net]
節子、それ便所の…

529 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 23:25:06.73 ID:wNGV+/Yb.net]
>>480さんへ
479です
自分は関数型に関しては完全に素人なのでなかなかに



530 名前:難しいです
単純に受けたイメージだとなんか凄くモノリシックに大きくなってしまいそう見えてしまう
関数型って何時もどういう風に制御するのか解らないなぁという感じで
基本的に難しい物なので自分には理解できないという感じなんだろうと思いつつ
今回は状態を通して何か掴めるかな?
と思いましたがそんなに甘くない感じですね
何にしても回答どうもです
関数型ってオブジェクト指向プログラミングシステムより更に難しいそうなのでオブジェクト指向より使える人が増えないような予感がします・・・
[]
[ここ壊れてます]

531 名前:デフォルトの名無しさん [2018/10/07(日) 01:21:33.80 ID:Nojuqsx1.net]
>>502
そもそも nonlocal やら global などという
スコープ宣言に限定した予約語が存在するのは
Python が(歴史上、おそらくは)唯一の存在である、
という事実を忘れてやいませんか?

言い換えると、スコープに関して Python2 以前の
新規リリースの時点から「根本的に設計を間違えていた」のがPythonなわけ
で、根本的解決を採用せず、行き当たりばったりに
nonlocal やら golobal といった泥縄式対策を採用したのがPython3

532 名前:デフォルトの名無しさん [2018/10/07(日) 01:25:43.47 ID:iX7g/tHs.net]
ゴローバルってなんかカッコええやん。
ゴローさん風味が出ててさ。

533 名前:デフォルトの名無しさん [2018/10/07(日) 02:05:51.72 ID:dWI643/y.net]
nonlocalってセンスがウケるなw
いっそのことnonglobalも用意したらどうかwwww

534 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 14:29:17.30 ID:+Rd5+blg.net]
オブジェクト指向のスレでなんで延々と特定言語の言語実装の話してんの?
バカなの?

535 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 18:24:53.01 ID:FMwg69WX.net]
OOPの結果としては
クラスライブラリとかは文句なしに使いやすいと思うんだけどね
String, Map, List, Set, Threadなんかは十分使いやすいよね?
その点を否定するやつはさすがにおらんやろ?

536 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 18:26:20.74 ID:qTxqyvp+.net]
やっぱりクラスライブラリは使いやすいよね
文字列をポインタで操作してたCの時代に戻りたくない

537 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 18:37:23.80 ID:FMwg69WX.net]
そうなんよね
その点で見ればOOP大成功に見える

ただ、自前でクラスやクラスライブラリを書けつったときに
とたんにゴミの山になりかねないという

538 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 18:59:53.35 ID:blwtBRQv.net]
>>516
何と比べて?
別に同じ機能の関数あればええで

539 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 19:18:00.94 ID:zvJnD+aL.net]
>>516
使いやすいが、そこまで一般的なインターフェイスにするまで
いろんなソフトウェアの歴史があってこそなわけだ。
ユーザー定義でそのレベルのものを用意しようとすると途端に何も進まないか
クソインターフェイスをひたすら強要される現場となる。



540 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 19:37:46.92 ID:FoRhSX54.net]
クラス単体はオブジェクト指向だけど結局それを使うところでは手続き型にしてしまう。

541 名前:デフォルトの名無しさん [2018/10/07(日) 22:20:34.82 ID:mIq+f5AO.net]
ならC++のメソッドをすべてスタティックで書けばいい
そうすればメンバ変数も不要
スタティックのメソッドは当然メンバ変数にはアクセスできない

手続き型なら、入力の構造体と出力の構造体を関数を別で渡す程度で済むハズ
オブジェクトの状態を常に外側で管理する必要があることになる

MS-WindowsのAPIは
ウィンドウハンドラをひとつのオブジェクトとみなして
ウィンドウハンドラを経由して操作や設定を行ってる

ウィンドウハンドラも一つのオブジェクトで入力も出力もできるシロモノになってるからな

542 名前:デフォルトの名無しさん [2018/10/07(日) 22:25:31.13 ID:mIq+f5AO.net]
UNIXクローンのシステム関数にもwriteやreadがある
readや

543 名前:writeはファイルディスクリプタを経由して
なにかしらに読んだり書いたりする関数だからな

つまりファイルディスクリプタをオブジェクトとみなして
読んだり書いたりしてるとみなしてると考えて差し支えない

コレはC++のようなオブジェクト指向言語で継承して実現できる内容と同じとみなせる
[]
[ここ壊れてます]

544 名前:デフォルトの名無しさん [2018/10/07(日) 22:36:06.11 ID:B8+uQuvb.net]
オッカムの剃刀の逆を地で行ってるなw
オブジェクト指向の何がダメか腑に落ちた気がするよ。ありがとう。

545 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 22:46:39.84 ID:qTxqyvp+.net]
全部スタティックにするってそれ
スタティックおじさんじゃねーか!

546 名前:デフォルトの名無しさん [2018/10/07(日) 22:48:32.68 ID:9pTh9QRI.net]
>>511
モノリシックに大きくなってしまうという印象は杞憂。
むしろ関数呼び出を一行ずつ言い切りみたいにつらねた宣言的書き方に近づく
リスト = 関数 リスト;
リスト = 関数 関数 リスト;
...
見たいな感じ。
状態は、本当に必要なもの以外は自然に登場してこなくなりその分複雑さを低減できる感じ。
どうしても状態管理が必要な処理は、
副作用の排除された純粋な言語の場合モナドみたいな物を持ち出さなければならないかもしれないが
副作用も許容している言語では、手続き的書き方をして状態を管理する形になると思われ、
どうしても必要な状態管理の煩雑さを関数型パラダイムで根本解決できるとはオレ的にはちょっと考えにくい。
難易度に関して言えば確かに学習コストは若干かかるけど、
いまはJavaやC++にもStreamやfoldなど関数型的なプログラミングのための機能が大急ぎで(かなりあせっている感じ)
取り入れられつつあるのであんまり肩肘張らないで、
ttps://qiita.com/stkdev/items/5c021d4e5d54d56b927c
https://ubiteku.oinker.me/2017/05/08/purpose-of-functional-programming/
といった導入的な情報などを参考にm日々の設計・開発の
局所的なコーディング範囲でもいいから使えるとことから使っていけば技術的な視野が広がるんじゃないかと思う。
ちなみに俺はそのサイトとは何の関係もないし、functionalマンセーではない

547 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 22:51:20.95 ID:9RTjDYv/.net]
ミドルウェアは天才が書くから天才の好む言語で書く
クライアントコードはアホが書くからアホでも分かる手続き型で書く
開発者の能力に応じて分業可能にした功績はある
だいたい天才とアホが同じ言語使ってたのが頭おかしい発想だった

548 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 22:52:56.75 ID:9RTjDYv/.net]
アホはひらがなだけ使え
漢字を使うと他のアホが読めなくなる

549 名前:デフォルトの名無しさん [2018/10/07(日) 22:52:57.06 ID:9pTh9QRI.net]
そ、そうなのか…
なんか熱でもあるんじゃね?



550 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 23:03:08.28 ID:zvJnD+aL.net]
いやレイヤーや粒度によって向き不向きな言語、パラダイムがあるってだけだろ。
天才とかアホとか関係ねーわ。
まあそういう判断しかできない奴は例外なくアホだろうけれど。

551 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 23:07:07.43 ID:9RTjDYv/.net]
まあ例外なくアホとかいう恥ずかしい書き込みをするような奴は例外なく知的障害者だろうけど。例外なく、なw

552 名前:521 [2018/10/07(日) 23:12:36.26 ID:4NXYL+If.net]
staticに使い道なんてあったんだ・・・

553 名前:デフォルトの名無しさん [2018/10/07(日) 23:20:21.45 ID:9pTh9QRI.net]
>>516
それらlibraryレイヤははよく練り上げられてまぁ使いやすいと思うよ。
でもよく考えてみてよ、納品を決められ短期間に仕様の策定からQAまでこなさなければならない
アプリケーションソフトウエア開発とそういった長年同じような機能のライブラリが繰り返し作り
直されてきたものは同一に論じることは無理でしょ。
それにレイヤが全然違う

554 名前:カゃない。
下から見れば数百個程度の機械語>言語の文法レベル>アルゴリズムのライブラリレベル
>それらを組み合わせ具体的なあるぴにための処理を折りませたアプリレイヤ>…
レイヤによって全然特性が違うんだよ。適した表現手段は当然違うと俺は思う。
つまりアルゴリズムのライブラリレベルに適した表現手段が必ずしもその上位にある
複雑な応用レベルの表現には適しているとは言いがたいのではないかということ。(ここ伝わりにくいと思う)
これは今でも俺も日々とても悩まされている問題。でもまそれはしzでんげんしょうみたいなものでしょうがないいんだよ。
誰も悪くないし。
本当に問題は、オブジェクト指向の名の下に非科学的非合理的で変な表現手段が流布し
(一部の人間が意図的に拡散させ)ソフトウエア開発の技術的水神をを後退させ混乱させてしまったこと。
俺はこの一点を問題視しているんだよ。

また飲みながらのポエムで悪いな。
[]
[ここ壊れてます]

555 名前:デフォルトの名無しさん [2018/10/07(日) 23:22:20.26 ID:9pTh9QRI.net]
>>533 誤記多いなスマソ
しzでんげんしょう → 自然現象
技術的水神 → 技術的水準

556 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 23:26:20.11 ID:FMwg69WX.net]
>>533
大変申し訳ないが今後一切のポエムは不要ですんで分かってください

557 名前:デフォルトの名無しさん [2018/10/07(日) 23:28:24.29 ID:9pTh9QRI.net]
>>535
そんなことよりポエムでもいいからなんか内容を書けよ
なんかむかついたのかw

558 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 23:28:51.19 ID:FMwg69WX.net]


559 名前:デフォルトの名無しさん [2018/10/07(日) 23:31:09.36 ID:9pTh9QRI.net]
OOPの幻想を追いながらゴミの山量産してて頂戴



560 名前:デフォルトの名無しさん [2018/10/07(日) 23:44:00.68 ID:mIq+f5AO.net]
https://ideone.com/PErfVu
コレがオブジェクト指向なコーディング

561 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 23:52:58.21 ID:GYr8Tket.net]
だからねえ、凡人プログラマがいきがってOOを語るなっつーの

それなりに名が売れてる人以外、講釈垂れ禁止にしたいよね

562 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 23:53:56.52 ID:FMwg69WX.net]
>>540
いっけん暴論だが
それはそれで正しい

563 名前:デフォルトの名無しさん [2018/10/07(日) 23:58:46.68 ID:9pTh9QRI.net]
そしたら日本にいないぞ
>>540>>541 も 論外、対象外だし

おれはそもそもOOの講釈をたれたことは無いので自由だ。

564 名前:デフォルトの名無しさん [2018/10/08(月) 00:05:22.29 ID:SHTmPUE+.net]
と低学歴知恵遅れの底辺がいってもな

565 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 00:08:53.96 ID:YlFF3Gbm.net]
日本人がプログラミングで実績残せないのはなぜだろうと思うけど
(まつもとゆきひろとか神レベルを除く)
講釈垂れは、1億円程度の案件でも沸いてくるんだわ
しかもたいていFランとか専門卒の地頭の悪さを自認できない語り部

俺のガンダムはさー、とか言い出す小学生と変わらんのよ

566 名前:デフォルトの名無しさん [2018/10/08(月) 00:09:05.00 ID:5FzXpRZO.net]
そういう非論理的揚げ足取り未満のレスが着き始めると
ああ、OOP信者はねた切れなのかあるいは
そもそも何か問題のある人たちだったとつくづく思う

567 名前:デフォルトの名無しさん [2018/10/08(月) 00:10:40.27 ID:5FzXpRZO.net]
そう言った人たちにみんなだまされ続けていたと

568 名前:デフォルトの名無しさん [2018/10/08(月) 00:13:06.68 ID:5FzXpRZO.net]
>>545>>543 宛ね
念のため

569 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 00:13:33.24 ID:YlFF3Gbm.net]
細かいところの揚げ足取りで、議論になり得ないのも底辺の特徴ね

なので2ちゃん5ちゃんみたいな底辺8割の落書きでOOのメリットデメリットが議論できるわけがない
数年前はちょっと期待してたけど



570 名前:デフォルトの名無しさん [2018/10/08(月) 00:15:48.02 ID:5FzXpRZO.net]
そうだけどそれでも決して悪いことではないと思う。
別に理想の場をもとめて誰もきているわけじゃない
しかしその一方、これもひとつの社会の縮図で
そのなかで自分も生きていくことには変わ

571 名前:閧ヘ無い []
[ここ壊れてます]

572 名前:デフォルトの名無しさん [2018/10/08(月) 00:18:20.98 ID:5FzXpRZO.net]
が、しかしだ。
オブジェクト指向ってのは実はクソだったと思う。
そして講釈をたれて変なオブジェクト指向を吹聴していた奴らはクソだった。
これは変わりない。

573 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 00:23:48.49 ID:YlFF3Gbm.net]
新しいものを無条件に礼讃するのはヲタの特徴だからしかたがない

問題なのはそれを実業に持ち込むバカと語り部がいることなんだよ

この業界は敷居が低いからヲタの比率が高くなりがちで、困るのは自己顕示欲が大勢な新しモノ知ってるぞヲタ

574 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 00:26:00.79 ID:4+4YIfxx.net]
このスレはレッテル張りばかりで中身のないレスが多いな

575 名前:デフォルトの名無しさん [2018/10/08(月) 00:27:52.21 ID:5FzXpRZO.net]
日本のIT産業産業全体にいえることじゃん。
いま世界で絶賛ぼろ負け中だけど。
やITに限らない、はば広くぼろ負け中。絶賛衰退中。
OOP現象も同じだと思うんだよ。
純粋な技術的問題じゃないんだよね、社会的問題というか、人の問題というか。
CMMIもISO9000も

576 名前:デフォルトの名無しさん [2018/10/08(月) 00:31:01.24 ID:5FzXpRZO.net]
中身のアルレス
よろしくお願いしまーす

577 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 00:36:06.65 ID:YlFF3Gbm.net]
俺もこの業界に長くいて新三大嫌悪感があるのが、多重請負、ISOとか監査もの、OOやDIの語り部

どれもこれも欧米被れというか、日本人が背伸びして、品質と生産性を落としてるだけだわ

そういえば技術じゃなくて社会的な問題かもね

578 名前:デフォルトの名無しさん [2018/10/08(月) 00:43:44.28 ID:5FzXpRZO.net]
腹黒い奴がどう他人を操るかの手法として利用されてきたか側面はあると思う

洩れの周りでの話だけれど、OOPのカプセル化、getter/setter、
継承による(後付の)コード再利用性による開発量削減・コスト低減を社内でうたい始めた奴は
実は自分ではコードは書けず無論設計は出来ず、マネージメントもできず、忖度と口先でしのいできて
くいっぱぐれるまえにJavaの流行を察知して社内OOP論者になり、布教に励み
それが下火になるとCMMI,IPISOの流行にのってQA論者に衣替えした

579 名前:デフォルトの名無しさん [2018/10/08(月) 00:47:41.87 ID:5FzXpRZO.net]
それにさんざだまされてうっかりJava信者になって
いまも問題点に気がつかず変なコード書いてる、あるいは部下や外注さんに強要して
迷惑がられている奴ら多数
これを暗黒時代と言わずしてなんというのだろうか



580 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 00:48:42.81 ID:88AHsTr8.net]
>>551
新しいもの?

581 名前:デフォルトの名無しさん [2018/10/08(月) 00:52:04.16 ID:5FzXpRZO.net]
んなこたどうでもいい。
結論
オブジェクト指向はクソだった
都市伝説みたいな迷信だった。
沢山の人がだまされた
以上。

582 名前:デフォルトの名無しさん [2018/10/08(月) 00:53:59.74 ID:Kbmtp0Cm.net]
ボトムアップドメイン駆動設計
https://ddd-community-jp.connpass.com/event/103428/

ぜひ参加してください!

583 名前:デフォルトの名無しさん [2018/10/08(月) 00:58:34.19 ID:5FzXpRZO.net]
つぎに
関数型はクソだった
って言うスレが建てば一過言あんだけれどもな…

584 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 01:00:35.78 ID:Z0JUGcFO.net]
OOPに批判的な奴は最初から一定数いたよな
ちょろい奴を操る手法もまあ腹黒いが、批判を無力化する手法の方がもっと腹黒い

585 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 01:02:55.95 ID:YlFF3Gbm.net]
俺の会社では語り部は淘汰されたけど、糞コードは負の遺産として急には捨てられなくて困ってる

ロジックをトレースしづらいだけの継承とか、呼び出し順が分かりにくいだけのテンプレートメソッドとか、背伸びしまくりの知ったかぶりOO

586 名前:デフォルトの名無しさん [2018/10/08(月) 01:10:27.58 ID:5FzXpRZO.net]
OOPって、それじゃあ全然ダメだったかというとそうでもなくて
頑張ればそれを使って(向いてないレイヤ・アプリでも)何とかソフトウエアを構成できたんだよ。
それはgotoを乱用してもがんばれば何とかソフトウエアを構成できたのと実は大差ないことだと
俺は思っているんだけれど。

それが厄介ごとの元。
上手くいかなかったときはOOPの理解が足りないからだとか、
低学歴には無理wとか批判されて、
そう、自分ではまともなコードををかけない奴に批判される
一体OOPは何のための手法なんだろうか

587 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 01:10:43.98 ID:YGZFPxYk.net]
手続き型しか分からないと言ってるのと同じ

588 名前:デフォルトの名無しさん [2018/10/08(月) 01:11:52.30 ID:5FzXpRZO.net]
いや名誉のために言っておくと俺は低学歴ではないw

589 名前:デフォルトの名無しさん [2018/10/08(月) 01:12:22.52 ID:SHTmPUE+.net]
オブジェクト指向は低学歴にはムリ
それはあってる

オマエも含めてな



590 名前:デフォルトの名無しさん [2018/10/08(月) 01:13:21.14 ID:5FzXpRZO.net]
>>565
手続き型とオブジェクト指向てscopeのもちかたとその応用以外特に差はないよ

591 名前:デフォルトの名無しさん [2018/10/08(月) 01:14:58.10 ID:SHTmPUE+.net]
低学歴知恵遅れはレスみても分かる通り
知能にも著しい欠陥があるのがすぐに分かちゃうからな

オツムの程度をみても
低学歴知恵遅れにオブジェクト指向はまずムリ

592 名前:デフォルトの名無しさん [2018/10/08(月) 01:15:28.69 ID:tiRNksmV.net]
手続き型言語で取り返しのつかない設計ミスって結構あったんだよ
そういう部分でオブジェクト指向には意味があると思うんだけどな
とりあえずデザパタどおりにしとけば何とかなる的な

593 名前:デフォルトの名無しさん [2018/10/08(月) 01:16:28.07 ID:5FzXpRZO.net]
あんたあちこちで毎日こんなレスばっかかいてるね
いろんな人がいるなこの世には

543 名前:デフォルトの名無しさん[] 投稿日:2018/10/08(月) 00:05:22.29 ID:SHTmPUE+
と低学歴知恵遅れの底辺がいってもな

567 名前:デフォルトの名無しさん[] 投稿日:2018/10/08(月) 01:12:22.52 ID:SHTmPUE+
オブジェクト指向は低学歴にはムリ
それはあってる

オマエも含めてな

569 名前:デフォルトの名無しさん[] 投稿日:2018/10/08(月) 01:14:58.10 ID:SHTmPUE+
低学歴知恵遅れはレスみても分かる通り
知能にも著しい欠陥があるのがすぐに分かちゃうからな

オツムの程度をみても
低学歴知恵遅れにオブジェクト指向はまずムリ

594 名前:デフォルトの名無しさん [2018/10/08(月) 01:19:37.41 ID:5FzXpRZO.net]
>>571 は ID:SHTmPUE+ 宛
念のため


>>570
デザパタとか言うけどsingletonとか後論されつくしている通り
糞だぞ

595 名前:デフォルトの名無しさん [2018/10/08(月) 01:20:11.16 ID:SHTmPUE+.net]
この必死さ

自己評価だけは高い低学歴知恵遅れで底辺にありがち
低学歴知恵遅れで底辺であるからこそそうであるといえることが、
同様のサンプルをみるにつけ、最近段々と経験から分かるようになってきた

残念なことにすぐに分かっちゃう

596 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 01:21:42.91 ID:YlFF3Gbm.net]
人間が持つ分類の概念が似ているもの、GUIとか、そのサブクラスで違和感なくロジックがdispatchできるものが適用範囲なんじゃね?

欧米人のように、複数のオブジェクトが協調しあうような高度、かつうまく行くようなクラス設計できるようなセンスの持ち主が日本のIT業界に割り当てられるとは思えんし、実際に出くわしたこともない

絵空事のパワポの達人にはよく出くわすけどな

597 名前:デフォルトの名無しさん [2018/10/08(月) 01:22:14.15 ID:5FzXpRZO.net]
いろんな人がいるな
法を犯さなければ野放しだから

598 名前:デフォルトの名無しさん [2018/10/08(月) 01:23:47.08 ID:5FzXpRZO.net]
>>574
応用レイヤのclass設計で言うと見事と思えるものは海外にはある?

599 名前:デフォルトの名無しさん [2018/10/08(月) 01:30:22.12 ID:5FzXpRZO.net]
この必死さ

自己評価だけは高い低学歴知恵遅れで底辺にありがち
低学歴知恵遅れで底辺であるからこそそうであるといえることが、
同様のサンプルをみるにつけ、最近段々と経験から分かるようになってきた

残念なことにすぐに分かっちゃう



600 名前:デフォルトの名無しさん [2018/10/08(月) 01:30:49.29 ID:5FzXpRZO.net]
低学歴知恵遅れはレスみても分かる通り
知能にも著しい欠陥があるのがすぐに分かちゃうからな

オツムの程度をみても
低学歴知恵遅れにオブジェクト指向はまずムリ

601 名前:デフォルトの名無しさん [2018/10/08(月) 01:31:05.39 ID:5FzXpRZO.net]
オブジェクト指向は低学歴にはムリ
それはあってる

オマエも含めてな

602 名前:デフォルトの名無しさん [2018/10/08(月) 01:32:16.55 ID:5FzXpRZO.net]
と低学歴知恵遅れの底辺がいってもな

603 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 01:33:25.88 ID:YlFF3Gbm.net]
>>576
オープンじゃないけど時価配信でObserverパターンになってるのはよく見るな

GUIだとDelphiだね、古いけど基本は同じだろう

604 名前:デフォルトの名無しさん [2018/10/08(月) 01:33:53.33 ID:5FzXpRZO.net]
ハードが壊れるのと
低学歴知恵遅れのオツムが壊れてるのは
別問題

605 名前:デフォルトの名無しさん [2018/10/08(月) 01:34:34.01 ID:5FzXpRZO.net]
システムが壊れてるワケじゃない
壊れてるのは低学歴知恵遅れのオツム

オツムが壊れてないヤツが作れば
壊れたシステムはできあがらない

オブジェクト指向はキチガイに刃物

ノータリンにオブジェクト指向を促すこと自体が常

606 名前:Oを逸してる
ノータリンがオブジェクト指向で開発しようとすること自体が銃刀法違反並の重罪
[]
[ここ壊れてます]

607 名前:デフォルトの名無しさん [2018/10/08(月) 01:34:43.31 ID:SHTmPUE+.net]
低学歴知恵遅れがなんか壊れた

608 名前:デフォルトの名無しさん [2018/10/08(月) 01:35:07.92 ID:5FzXpRZO.net]
だいたいわかる

ウンコスクリプトしか使えないような低学歴知恵遅れが
ムダにオブジェクト指向あげしてる

609 名前:デフォルトの名無しさん [2018/10/08(月) 01:36:03.72 ID:5FzXpRZO.net]
>>584
お前さんの今までのレスをコピペして遊んでいただけだよ



610 名前:デフォルトの名無しさん [2018/10/08(月) 01:36:36.34 ID:5FzXpRZO.net]
内容のあるレスを探したがが1つもなかったよ

611 名前:デフォルトの名無しさん [2018/10/08(月) 01:40:06.65 ID:5FzXpRZO.net]
オレぐらいのレベルでないと
オブジェクト指向は使いこなせない

612 名前:デフォルトの名無しさん [2018/10/08(月) 01:40:53.29 ID:5FzXpRZO.net]
もっとからかっちゃおうかなフフ

613 名前:デフォルトの名無しさん [2018/10/08(月) 01:43:12.51 ID:SHTmPUE+.net]
ID:B/yxkRYZ
ID:j/6nk0eH
ID:cRG95Xcq
ID:Kxio7RVg
ID:pq96CSzd
ID:k5h2WtG4
ID:IuTgmxg/
ID:R8M7QKDK
ID:mIq+f5AO
ID:SHTmPUE+

このスレのオレのレスはコレがすべてだ
オマエみたいな内容のない低学歴知恵遅れと違って
たくさん有益なレスをしてる

低学歴知恵遅れには理解できないし読めないのはわかる
知能に著しい欠陥があるからな

614 名前:デフォルトの名無しさん [2018/10/08(月) 01:44:25.97 ID:SHTmPUE+.net]
低学歴知恵遅れが自分を大きくみせようと
必死なのはわかる

615 名前:デフォルトの名無しさん [2018/10/08(月) 01:46:21.56 ID:5FzXpRZO.net]
>>590
乙。暇だね。
これはあくまで親心で申し上げるが、頭の病院いったほうがいいレベルですよ。

616 名前:デフォルトの名無しさん [2018/10/08(月) 01:47:52.93 ID:SHTmPUE+.net]
バカは自分がバカであることに気づけないからな
キチガイには健常者がキチガイにみえるのと同じ

617 名前:デフォルトの名無しさん [2018/10/08(月) 01:49:05.52 ID:5FzXpRZO.net]
いやなら別に病院に行かないでそのままひとり病んでてもいいけど
他人にはつくづく迷惑かけないようにね

618 名前:デフォルトの名無しさん [2018/10/08(月) 01:49:23.87 ID:SHTmPUE+.net]
バカは自分がバカであることに気づけない
つまりバカは一生治らない
まずバカはバカの自覚をもつことができない

619 名前:デフォルトの名無しさん [2018/10/08(月) 01:50:24.26 ID:5FzXpRZO.net]
つかこんなにレスしてたんだ
ぱっとみノイズレスだと思って読んでなかった



620 名前:デフォルトの名無しさん [2018/10/08(月) 01:50:32.93 ID:SHTmPUE+.net]
病んでるのは間違いなくオマエだからな
低学歴知恵遅れで底辺になると発症する病気にかかってる

621 名前:デフォルトの名無しさん [2018/10/08(月) 01:52:18.66 ID:5FzXpRZO.net]
ま火事とがいしは2chの華か

622 名前:デフォルトの名無しさん [2018/10/08(月) 01:58:28.42 ID:SHTmPUE+.net]
まあオマエはオツムの病院へいったほうがいいわ
オツムが壊れてる

間違いなく軽度の知的障害がある

623 名前:デフォルトの名無しさん [2018/10/08(月) 01:59:16.72 ID:5FzXpRZO.net]
お前さんは重度だぞw

624 名前:デフォルトの名無しさん [2018/10/08(月) 02:00:38.48 ID:5FzXpRZO.net]
つーかいい子だからもうオナニーでもしてネナヨ
おじさんは忙しいんだから

625 名前:デフォルトの名無しさん [2018/10/08(月) 02:04:10.21 ID:5FzXpRZO.net]
オナニー中らしいですww

626 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 07:42:27.80 ID:kgyl4Ui4.net]
オブジェクト指向のメリットは出たかな?

627 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 08:00:16.00 ID:s8MF6MAn.net]
クラス単体のプログラムが出来るのは利点だと思う。
そのクラス同士のまとめが難しい

628 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 08:22:40.86 ID://kQ6Yzy.net]
ID:5FzXpRZO大発狂しちゃってるやん…
応酬見てると半角のほうがまだまともに見えてくる件w

>>574
みたいに人種に原因を求めるのは実は面白いと思う
本人たちが従ってる働き方に既に問題があって
そこに疑問を持たないしどうしようとも考えない
足並みそろえて稲植えてたら収穫できるって発想

たがいの独立性や多様性をベースとした協調
直交性のあるもんを組み合わせるという日常
ってのはやっぱあちらさんに向いてるんだろうね

629 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 09:15:06.72 ID:r/3VlGF9.net]
自由で独立した人間は因果関係に縛られないんだぜ
原因はこれだから結果は必ずこうなるとか思ってない



630 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 09:31:21.11 ID:rY7QFOOR.net]
>>606
それはお前の思い込みですね

631 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 09:54:42.20 ID:r/3VlGF9.net]
思い込みではなく分類
因果関係に逆らえないのはモノや動物のように扱われる
それ以外が人間

632 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 10:16:09.72 ID:rY7QFOOR.net]
思い込みではなく分類というのは話が噛み合ってない
そういう分類があるという思い込みなんだから

思い込み or 根拠がある という話なんだから、
思い込みじゃないなら根拠を示すべき

633 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 10:19:41.89 ID:zWcMcpmc.net]
>>607
それはお前の思いこみだな

こんな糞レスへの反論なんてこれで十分なんじゃね?

634 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 10:34:48.33 ID:r/3VlGF9.net]
いや、こういうのでいいんだよ
分類に根拠がないという意見と、OOPに根拠がないという意見は似ている

635 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 10:36:56.72 ID:kgyl4Ui4.net]
それでオブジェクト指向にメリットはあるのかい?

636 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 11:23:00.34 ID:rY7QFOOR.net]
>>611
だから分類の話はしてない。

> 自由で独立した人間は因果関係に縛られないんだぜ
> 原因はこれだから結果は必ずこうなるとか思ってない

↑これが思い込みだって話をしている

637 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 11:23:35.59 ID:rY7QFOOR.net]
どや? 話をずらそうとしても、毎回戻されるのって苦痛やろう?www

638 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 12:12:51.99 ID:Py80K8TM.net]
半角さんは逃げてこんなスレでも足りない知識でドヤしてるんだwww

639 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:57:02.86 ID:HrAB4JNP.net]
GUIみたいに誰もが抽象化のイメージがわきやすいクラスと、Webフレームワークのような、使う人が継承して使えばなんとなく便利なクラスでは、抽象化のやりかたそのものが学問になりそうだよな

一般人はおとなしく継承したクラスの中に、業務ロジックを構造化プログラミングしてなさいってこった



640 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:15:51.85 ID:kgyl4Ui4.net]
>>616
抽象化に何のメリットがあるの?

641 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:37:04.77 ID:aKFx8hdA.net]
>>617
GUIの座標とか描画とか、共通関数にするよりもスーパークラスに持たせた方が共通処理と分岐処理が別れて、分岐判断の引数とか減るだろ?

別にオブジェクト志向言語じゃなくても構造体でも出来るし、事実、WindowsだってCで書かれてるけどな

642 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:55:28.49 ID:kgyl4Ui4.net]
>>618
いや別に分岐が必要な仕様じゃないんだけど

643 名前:デフォルトの名無しさん [2018/10/08(月) 16:12:29.55 ID:HqDSWn9/.net]
>>618
WindowsはC++では?

644 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 16:30:04.70 ID:IMi/szTI.net]
>>619
分岐が必要な仕様じゃないってことは、
分岐が必要な仕様の場合は?

645 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 16:46:43.13 ID:kgyl4Ui4.net]
>>621
switch case

646 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 16:55:14.91 ID:IMi/szTI.net]
>>622
なんで不分岐が必要ない仕様とか言い出したの?
自分が都合がいい例にしたかった?w

647 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:20:09.48 ID:kgyl4Ui4.net]
>>623
いや、テメーで勝手に分岐が必要なブッサイクなクラス作っておいて
それはないなと
それにクラス構造で分岐しないでくんない?
読み辛い
はっきり言ってクソ
仕様書にどんな条件で分岐してるのか書きにくい
控えめに言って死ね

648 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:24:49.00 ID:Tz+BH4lq.net]
>>623
こういう奴がパラダイムの違いを理解しないまま書くからOOPが害悪になるんだよな

649 名前:デフォルトの名無しさん [2018/10/08(月) 17:28:45.60 ID:SHTmPUE+.net]
windowsでは普通にイベント分岐処理でもswitch文使う
それを隠蔽化するために仮想関数にして実現するどうかは作るヤツのセンスで決まる



650 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:30:28.51 ID:kgyl4Ui4.net]
>>626
それすげーやめてほしい
こっちはテメーが作ったただでさえうんこみたいな設計書に
そう書いてあるから見に行ったのに
そのとおり作ってないとか設計書ゴミ箱に捨てんぞ糞が

651 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:43:41.49 ID:YlFF3Gbm.net]
いや、実際にWM_xxxxに対するcase文てんこ盛りだけど。Windowsの低レベルプログラムは。

652 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:45:55.46 ID:IMi/szTI.net]
>>628


653 名前:> いや、実際にWM_xxxxに対するcase文てんこ盛りだけど。

オブジェクト指向で作らないからそうなる
[]
[ここ壊れてます]

654 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:48:29.61 ID:lYyho1IC.net]
MFCのメッセージマップは嫌いだった。
switchのほうが100倍分かりやすい。

655 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:54:08.00 ID:YlFF3Gbm.net]
MFCが出てくる前は、Cでゴリゴリ書いてたのよ
MFCが曲者っつー話はさておき、
Cでクライアントプログラムを書くわけだが、Windows自体はOOそのものの思想で作られていて、ウインドウクラスの登録から始まる

656 名前: mailto:sage [2018/10/08(月) 18:53:59.21 ID:Vh0J6/Nb.net]
>>626
>windowsでは普通にイベント分岐処理でもswitch文使う
pedzold では終始一貫して switch なのは、ちょっとどうかな、と当時でさえ思っていました

>それを隠蔽化するために仮想関数にして実現するどうかは作るヤツのセンスで決まる
今思うに、これは悪手なのではないかと

657 名前: mailto:sage [2018/10/08(月) 18:58:32.67 ID:Vh0J6/Nb.net]
>>631
>Windows自体はOOそのものの思想で作られていて、ウインドウクラスの登録から始まる
それ、今でもよくわからないですね
::RegisterClass() ってコンストラクタに該当するのですか?なぜ ::CreateWindow() とは別に定義したのでしょうか?私はこの二つはラッピングしちゃってます…

658 名前:デフォルトの名無しさん [2018/10/08(月) 19:22:15.46 ID:Tqf3ZL+v.net]
WindowsをCで書くわけにはいまさら中々いかないだろう。
かといってgcのある言語やインタプリタのようにアプリ寄りの言語で書くのは不可能だろ。
そうやってnative codeを出せかつOSの記述も(苦労するが何とか)記述可能な言語は
消去法でC++しかなくなる。DとかRustじゃ無理。

また、Windowsと言う位だから、上位には何らかのOOP GUI IFを提供しなければならない。
別にC++のOOP機能が優れていたからWindowsがC++が記述されたわけではない。
ここ勘違いしないように。

659 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:25:35.43 ID:lYyho1IC.net]
WindowsがOOそのものの思想、と言うのはハンドルまみれなAPI群があるので素直に同意できないけど、ウィンドウ周りは多少は頑張った感あるよね。
>>633
ウィンドウクラスとウィンドウを別管理にすることで、同じウィンドウクラスを使い回す時にメモリが節約できるというメリットがあるかと。



660 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:29:38.91 ID:5naxcKBN.net]
シグナルが何とかならないかと思うけど
atomとかもう使いたくない

661 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:24:37.00 ID:Z6PD3tJ3.net]
>>526さんへ

示された所じゃなくて
その下に有ったリンク先を読んで解った事が有った
https://qiita.com/hiruberuto/items/26a813ab2b188ca39019
読んでいて何が自分に難しいのか?

関数型の場合
処理対象全域を考えて関数で並ぶように作らないといけない
副作用やその他の物を一時に頭に入れて整理し無いといけない
(リンク先にはそうではないと書かれているが自分にはそう見える)

けどオブジェクト指向の場合
対象となる処理を分割して個々に作っていく
分割して個々に作っていった物を連携させて
最終的にはその集合体が出来上がれば機能する
という方が自分に向いている

頭が悪い人間と言うのは広く色んな要素が一編に出て来る物の状態を正確に把握して
それを組み立てる
というのが苦手なのよ

関数型プログラミングは間違いなく
使える人が限られる
そういう物になるだろあなぁ

でもc++なんかでも標準ライブラリーに既にそれっぽいのが有るから
使える程度には理解しないといけなくなるんだろうねぇ
その程度ならなんとかなるかなぁ(笑)

何にしても参考になりました

662 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:28:18.73 ID:kgyl4Ui4.net]
>>637
バカじゃん
テメー以外の奴が作ったときに
privateにされたらそれでしめーだろーが

そういう当た

663 名前:り前の想像力が欠落してるからテメーは何考えても
ダメダメのうんこちゃんなんだよ
[]
[ここ壊れてます]

664 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:31:49.61 ID:kgyl4Ui4.net]
メソッド呼ぶたびにクソクラスの内部のウンコがどうなってるのか
ケツアナほじって掻き出さなきゃいけねーんだよ

665 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:35:33.15 ID:IMi/szTI.net]
標準ライブラリのprivateメソッドとか
もうソースコード読みまくりだからな

666 名前: mailto:sage [2018/10/08(月) 20:52:27.06 ID:Vh0J6/Nb.net]
>>635
>ウィンドウクラスとウィンドウを別管理にすることで、同じウィンドウクラスを使い回す時に
同じウィンドウクラスを使いまわすっていうのが、そういうことをやる機会があるかどうか、という点でいまいち、なんです
つまり現状のウインドウクラスにてウィンドウプロシージャを設定する、というのが疑問でして、ウィンドウプロシージャが ::CreateWindow() の引数だったら、使いまわす、ってことも検討したかもしれませんが

667 名前:デフォルトの名無しさん [2018/10/08(月) 21:30:56.46 ID:811LgONL.net]
>>637
foreach, map, reduce, filter などを使うことによって、
for ループやif分岐や一時変数を使う助長で古典的な書き方から脱却し
リストの要素間の多対応・変換を宣言的に記述し切っていく、
既存言語に拡張されつつある関数プログラミングパラダイムの
限定的でも美味しいとこ取り的な使い方からはじめても全然いいんジャマイカ

668 名前:デフォルトの名無しさん [2018/10/08(月) 21:35:43.59 ID:811LgONL.net]
あと、詳しく書くと長くなるので一言ずつ書くと
繰り返しではなく末尾再帰を使えるところでは活用する
クラスを設けて多様性をあらわすのではなく、クロージャーや部分適用で簡潔に表現する
遅延評価や関数変換を使って有効なところで使う
とか

669 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:36:52.15 ID:IMi/szTI.net]
関数型とオブジェクト指向は実は相性がよくて、
オブジェクト指向でオブジェクトとしての構造を
そしてオブジェクト指向の中で使う関数は関数型と
組み合わせて使うのが最強なんだ



670 名前:デフォルトの名無しさん [2018/10/08(月) 21:39:02.72 ID:811LgONL.net]
>>644
だからそれはレイヤやグレインの観点から上手くいかないんじゃないかって
上で書いたのに。
上手くいく方法があったら披露してよ

671 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:43:02.58 ID:IMi/szTI.net]
末尾再帰の話が出てきたから、知識の浅い人に説明しておくと

関数型は再帰で実装するから手続き型のループを使う方法よりも遅いという常識を
特定の条件を満たしている場合にループに変換することで、遅くならない
というもの。決してループよりも速くなるわけではない

672 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:45:21.28 ID:IMi/szTI.net]
>>645
何ができたらうまくいくってことになるんだ?

俺にとっては開発が楽になることがうまくいくことだ
楽になってるのでうまくいっている

673 名前:デフォルトの名無しさん [2018/10/08(月) 21:45:58.21 ID:811LgONL.net]
>>644
あとcontinuationとかyieldとか使うと幸せになることがたまにあるぜよ

674 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:46:30.31 ID:IMi/szTI.net]
>>648
はい。オブジェクトの内部で使います

675 名前:デフォルトの名無しさん [2018/10/08(月) 21:47:17.86 ID:811LgONL.net]
>>647
何の言語で何をどう作ってんだか知らないが
上手く言っているなら方法論を披露プリーズ

676 名前:デフォルトの名無しさん [2018/10/08(月) 21:48:12.08 ID:811LgONL.net]
>>649
methodの中つまり関数の中でだろ

677 名前:デフォルトの名無しさん [2018/10/08(月) 21:50:45.37 ID:811LgONL.net]
明日出勤なので寝るぜ
あばよはげどもノシ

678 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:51:32.33 ID:IMi/szTI.net]
>>650
方法論ってなにがほしいのか知らんが、
関数型言語で作ったライブラリは状態を持たないから
汎用的な関数ライブラリになる。
それを便利にオブジェクトで使用する

679 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:53:09.64 ID:kgyl4Ui4.net]
オブジェクト指向のメリットは説明できたかい?

定期的に貼らないと関係ないこと主張する奴がわくからな
これが説明できないならクソ



680 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:56:30.02 ID:IMi/szTI.net]
オブジェクト指向のメリットは状態を
簡潔にわかりやすく持たせることができる

アルゴリズムならともかくシステムから
状態をなくすのは不可能なので
それをどれだ

681 名前:ッ直感的に扱うか不可欠になる

それが関数型に対するオブジェクト指向のメリット
[]
[ここ壊れてます]

682 名前:デフォルトの名無しさん [2018/10/08(月) 22:00:12.76 ID:811LgONL.net]
>>655
直感ですか…

683 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:01:29.15 ID:r/3VlGF9.net]
OOPのメリットを教えてくれる奴なんていくらでもいたよな
それでOOPが普及して
ふと気付いたらメリットが何だったのか思い出せない

ここでまたメリットを教えられても無限にループするだけだ

684 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:05:17.61 ID:IMi/szTI.net]
>>656
そう。3歳の子供でも、リンゴとミカンの色や形
犬や猫の鳴き声の違いぐらいわかるだろう。
それぐれいオブジェクト指向は人間の思考と一致している

685 名前:デフォルトの名無しさん [2018/10/08(月) 22:05:31.32 ID:811LgONL.net]
型クラス、クラスscope、オブジェクトscope,
同じ名前の多態(振る舞いの違い)、
継承によるあっちこっちに無難格納したソースファイルの
似たmethon部分の短冊のような共有による依存性のジャングル

これらについて理論的、科学的に有効性を述べないとだめだよ

686 名前:デフォルトの名無しさん [2018/10/08(月) 22:11:45.44 ID:811LgONL.net]
そう、そしてそれらがある程度規模の大きく複雑な
アプリケーションレイヤのソフトウエアの構造表現として
どう有効なのか理論的、科学的に述べないと…

687 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:19:30.00 ID:r/3VlGF9.net]
確実にメリットがあるなら人には教えないで独占する
それが理論的で合理的

確実ではないギャンブルなら人に教える

688 名前:デフォルトの名無しさん [2018/10/08(月) 22:28:08.41 ID:811LgONL.net]
>>661
つまりメリットは無いとw

689 名前:デフォルトの名無しさん [2018/10/08(月) 22:33:36.33 ID:811LgONL.net]
オブジェクト指向は低学歴にはムリ
それはあってる

オマエも含めてな



690 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:34:58.92 ID:6UIbz9ua.net]
たまに見るけど100%でない=0%の人の思考はどうなってんだろうね

691 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:35:17.30 ID://kQ6Yzy.net]
パニックでも起しちゃってるのかなこの子

692 名前:デフォルトの名無しさん [2018/10/08(月) 22:37:03.95 ID:811LgONL.net]
低学歴知恵遅れが自分を大きくみせようと
必死なのはわかる

693 名前:デフォルトの名無しさん [2018/10/08(月) 22:38:24.97 ID:811LgONL.net]
だいたいわかる

ウンコスクリプトしか使えないような低学歴知恵遅れが
ムダにオブジェクト指向あげしてる

694 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:44:26.66 ID:YGZFPxYk.net]
まーたお前かいつも必死だな

695 名前:デフォルトの名無しさん [2018/10/08(月) 22:51:37.06 ID:811LgONL.net]
節子それfake

696 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:13:05.52 ID:r/3VlGF9.net]
1bit思考の中で最悪なのは、需要と供給
買う方が100%自己責任と思ってるから売ってる側は罪悪感0

697 名前:デフォルトの名無しさん [2018/10/08(月) 23:18:57.76 ID:811LgONL.net]
その論点から起こしてだね、
オブジェクト指向の有効性を非論理的、寝技的に布教しようとするのは
いくらなんでももう、無理があるよ

698 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:40:30.66 ID:C02Vpegg.net]
ここの議論でもそうだけどカプセル化とかインターフェイスに対するプログラミングとか
ここの要素について話すのは意味があるが
「オブジェクト指向」って言葉でまとめると途端にクソ議論になる。
その意味ではやっぱり失敗だろう。

699 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 02:31:35.79 ID:GxJd+3a3.net]
>>672
その辺はポジティブな意味合いが強いからな
ただメリットがあるからってデメリットがどうなるかは別問題として



700 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 06:16:50.45 ID:1H6kld1Z.net]
カプセル化とかは「学習コスト」だから100%ネガティブ
コストを消費する代わりに何かメリットがないとポジティブどころか中立にもならねえ

701 名前:デフォルトの名無しさん [2018/10/09(火) 06:53:21.12 ID:Fv2MSo0/.net]
今になって思うのは、オブジェクト指向にまつわる説明で特徴的な何々は何々であるだから何々があるはずだ的な事は製作者側の考え方の根本だったんだろうな。
ここに共感してないから触ってても疑問がつきまとう。
それでもってこういう考え方をする奴は布教的な奴が多い。こういう奴らは本当本当に嫌いだわ。人のその後に対する考えなんてみじんも無い。
例えばウェブ上で人気の言語的なランキングで上位に入ってる言語と周りを見渡して実際触られる言語の食い違いがひどい。
他の奴の意見見てると大体同じ感覚で変な笑いがでる。

702 名前:デフォルトの名無しさん [2018/10/09(火) 07:05:27.74 ID:xcSr1k5g.net]
振り返ると、信仰宗教みたいな流行だった

703 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 10:12:33.99 ID:hleJLyKe.net]
オブジェクト指向の宗教的側面と、Rubyの宗教的側面がかけ合わさって
ドン引きするレベルの狂信者が出現した

もはや言語は死につつあるのに狂信者は毎日板を荒らし回ってる

704 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 10:58:21.87 ID:MhhKJFZu.net]
>>674
学習コストはなんにでも適用できる
一般的すぎて無視できる

プログラムを作るにはカロリーを消費すると
言うようなもの、そらそうだで終わり

705 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 11:01:37.61 ID:MhhKJFZu.net]
カプセル化してしてデータを閉じ込めることこそ
オブジェクト指向の真髄、データに対する責務を
集約する事でプログラムを作りやすく堅牢で
メンテナンスしやすくできる

706 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 11:40:52.35 ID:1H6kld1Z.net]
>>678
コストがあるから見返りにメリットが必要だったんだが
コストを無視するならもうメリットがあってもなくてもいいぞ

707 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:02:03.11 ID:MhhKJFZu.net]
>>680
一般論過ぎてオブジェクト指向の話になってないやん

708 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:02:46.32 ID:MhhKJFZu.net]
赤信号なら止まると良いぞと言ってるようなもの
当たり前やん

709 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:05:55.31 ID:MhhKJFZu.net]
オブジェクト指向テクニックを使うと外から壊されにくい
堅牢なデータ構造を作ることができてプログラムの
完全性を保証できる、オブジェクトを組み合わせて
より大きなプログラムを作れるっていうのが
オブジェクト指向のメリット



710 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:11:49.02 ID:1H6kld1Z.net]
当たり前すぎるってあれだよな
反証不可能ってやつ
反証したい勢力と対立煽りするくらいがちょうどいいんだよな

711 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:12:29.16 ID:MhhKJFZu.net]
データ隠蔽が有害っていうのは嘘だ
データは隠してなんぼ、オブジェクトを使う側に
データの存在を意識させないようにする事で堅牢な
プログラムを構築できる

712 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:44:03.73 ID:3cHmJpwL.net]
大規模開発はオブジェクト志向が、
とか喧伝する低偏差値信者もおとなしくなり、
一歩下がって、そんなに良いものだったっけ?と振り帰られる雰囲気がでてきたのは良いこと

いつまでも熱狂信者の思惑通りにはいかないよ
時がたてば、本当にコストペイするものだけが生き残る

713 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 15:34:08.86 ID:s6lFROtd.net]
>>685
テストもできないのが不味い
結局使用する側が状態を意識しなくてもいい造りなら問題はおきない

でもinitメソッド連発で呼ばれると死ぬだろ現実
initメソッド呼んだんだからどんな状態であれ初期状態に移行しろよ
ってのが呼ぶ側の主張

714 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 16:17:24.49 ID:MhhKJFZu.net]
>>687


715 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 16:51:04.98 ID:DgfNcklC.net]
>>688


716 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:11:39.56 ID:UgeI4/Dm.net]
>>687
> でもinitメソッド連発で呼ばれると死ぬだろ現実
> initメソッド呼んだんだからどんな状態であれ初期状態に移行しろよ

どんな場合でも初期状態に移行すればいいだけでは?

717 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:18:38.78 ID:n+YH3pNB.net]
別スレッドでアクセス中でもか?

718 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:23:43.77 ID:UgeI4/Dm.net]
>>691
別スレッドでアクセスさせなければいいだけ

719 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:54:07.48 ID:MhhKJFZu.net]
スレドセーフじゃないのなら仕方ない



720 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:17:11.30 ID:o83bbsRF.net]
>>690
でも実際はハードに近い部分のinitだったりするとそうはいかないケースがあるよね?
って可能性が想定できないなら君は設計を語るレベルにないんじゃない?

721 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:33:33.36 ID:UgeI4/Dm.net]
>>694
自分の都合がいい条件じゃないと当てはまらないと
認めているようなもんじゃないかw

722 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:37:20.67 ID:o83bbsRF.net]
>>695
いやいや、この場合そういうケースがあることを説明できればいいよね

723 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:50:57.71 ID:UgeI4/Dm.net]
>>69

724 名前:6
じゃあそういうケース以外には当てはまらないってことでいいよね
例外中の例外なんてどうでもいいわ
[]
[ここ壊れてます]

725 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:51:36.15 ID:UgeI4/Dm.net]
それに関数型だとハードに近い部分はさわれないし

726 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:52:15.46 ID:jSAcVkU7.net]
メソッド呼ぶほうが呼び出し順にナーバスな設計というのが糞
内部を隠蔽できてねーやんというだけのこと

727 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 19:29:52.46 ID:o83bbsRF.net]
>>697
問題はオブジェクトが状態を内包しちゃってることなんだけど?

728 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 19:31:40.73 ID:o83bbsRF.net]
んでそれを踏まえて
お前のクソクラスは息してんの?
って話
レアケースだから死ぬわってお前
言ってるように聞こえるけど
バカなん?

729 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 20:06:57.87 ID:9OTFAl28.net]
>>689

うるせぇエビフライぶつけんぞ

,.、,、,..,、、.,、,、、..,_  /i
;’`;、、:、. .`゙:.:゙`’’’:,’.´ -‐i
‘、;: …: ,:. :.、..; .;;.‐’゛ ̄  ̄
   ヽ(´・ω・)ノ
     |  /
     UU




730 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 20:08:18.35 ID:UgeI4/Dm.net]
>>700
オブジェクトが状態を内包するか
オブジェクトの外に状態を置くかの違いでしか無いですね

731 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:39:06.76 ID:o83bbsRF.net]
>>703
だからその一点でクソだって言い続けてるじゃん
カプセル化がどうとかバカの妄想だろ
テメーの状態がわからねーのが一番のリスクなんだよ
何がカプセル化だよ
早く死ねよ

732 名前:デフォルトの名無しさん [2018/10/09(火) 21:45:21.47 ID:Z2FoPQmM.net]
localなデータを局所に隠蔽するべきなのはソフトウエア工学上、
当然のことでカプセル化の専売特許ではない。
ほぼすべての最近の言語はlocal scopeを持っている。
だがオブジェクト指向のカプセル化によるデータの内包とアクセサは
他の言語の持つモダンな階層的scopeに管理工学的にはるかに劣る。
ここ勘違いしないように。

733 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:51:03.83 ID:9yAlTK3b.net]
>>705
日本語w

734 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:54:07.22 ID:Fg4seD6E.net]
テクニカルタームで煙に巻くのも便所の落書き

735 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:57:54.52 ID:n+YH3pNB.net]
まあ、forループの回数カウンタなんかローカルで充分だしな。

736 名前:デフォルトの名無しさん [2018/10/09(火) 21:58:49.50 ID:Z2FoPQmM.net]
この程度でテクニカルターム…

737 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 22:30:33.22 ID:UgeI4/Dm.net]
>>704
ようするにテストはプライベート変数を見たいってだけですよね?
テスト以外では必要ないですよね
カプセル化バンザイですよね?

738 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 23:05:57.02 ID:5o1aZXWL.net]
どれくらいのアクセス度がいいかはそのクラスのそれぞれによるところはある。
STLのvectorなんて見方によってはかなりオープンだけれどあれはあれで適切な開け方。

739 名前:デフォルトの名無しさん [2018/10/09(火) 23:18:00.29 ID:uKgwXIAC.net]
内部の状態が心配なら
ちゃんとクラスに内部の状態を(コンポジションなら当然再帰的に)ダンプする関数ぐらいつけてんだろうな
つけてないならお話にならない

外部で状態を管理して
外部で構造体を監視するのと
そう変わらない



740 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 00:01:14.01 ID:j7g+1zT7.net]
>>710
テストだけではないな
その関数が同一の結果を返す条件を固定したい
っていうかできねープログラムなんてぶっちゃけクソもいいとこだろ

741 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 00:06:10.55 ID:+GhPUDy2.net]
仕事関係なく趣味でソフト作ったやつの意見は尊重できる。仕事だけで横文字多様してる奴のはフィルター推奨だな。

742 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 00:10:05.04 ]
[ここ壊れてます]

743 名前: ID:+GhPUDy2.net mailto: 流石にいないか。それは。 []
[ここ壊れてます]

744 名前:デフォルトの名無しさん [2018/10/10(水) 00:54:19.42 ID:T78UR1cm.net]
本当にそれは状態として動的に管理すべき対象なのか
十分吟味してないだろ

745 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 01:07:23.22 ID:YM9RoEIA.net]
>>716
ん?
じゃあ、クソインスタンスがどんな状態でメソッドを呼んでも絶対同じ結果返すんだな?
その時点でメンバ変数いらねーけど

746 名前:デフォルトの名無しさん [2018/10/10(水) 01:35:56.64 ID:T78UR1cm.net]
>>717
日本語読めるようになってからレスした方が良いよ

747 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 01:48:46.78 ID:s7T/eKYL.net]
>>713
お前は現在時刻を返す関数は一生使うなよ
クソなんだろ?

748 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 02:19:17.93 ID:vuJDL2IF.net]
Haskellでいう副作用なら標準入出力、ファイルio、時間、ランダムなどが副作用なるな
モナド並にリッチなシステムをオブジェクト指向で組んで副作用を過敏排除するなら楽しそうやんけ

749 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 06:36:14.84 ID:az2ldVPt.net]
>>713
> その関数が同一の結果を返す条件を固定したい

引数Aにaを入れる、引数Bにbを入れる、引数Cにcを入れる
引数A、B、Cで関数funcを呼び出す

メソッドAでaを入れる、メソッドBでbを入れる、メソッドCでcを入れる
メソッドfuncを呼び出す


関数の引数に値を入れる代わりにオブジェクトに入れるだけの違いでしか無い



750 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:54:35.27 ID:75F81x8u.net]
>>719
現在時刻しか返ってこねーだろ?
テメーのは指定してもいないのにサマータイム返すクソだろ

751 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:55:48.71 ID:75F81x8u.net]
>>721
でも入力値は使用する側が意図的に入れるものだけど
メンバ変数は何になっているかわからない

この差がデカイ

752 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 08:08:36.10 ID:WWPIMa8b.net]
>>713
>その関数が同一の結果を返す条件を固定したい
同じ条件で違う結果が返ってくる関数ってハードウェア乱数発生器とかしか思い浮かばないんだけど、具体的にこんな関数ってのある?

753 名前:デフォルトの名無しさん [2018/10/10(水) 08:42:05.46 ID:00uAZtDo.net]
>>714
結局それも色々賢そうな事書いてるであろう仕事で書いてる人のコードが見てて凄いと思わないんだよ。
簡単な事を冗長的にフレームワークのようにしたコードが多くてただの社内での点数稼ぎなんだろうと伝わってくる。そして少し環境を変えてシステムを構築し直す時に問題が出て来るのって大抵そういうコードだったりする。

754 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 08:49:14.91 ID:az2ldVPt.net]
>>723
> でも入力値は使用する側が意図的に入れるものだけど
> メンバ変数は何になっているかわからない

変数に文字列入れたって、それがどういうフォーマットで入っているかなんてわからんだろ

文字コードは何なのか、内部エンコーディングなのか
文字列の最初に文字列長情報がついているのか
文字の終わりは\0なのか

変数に数値入れたって、それがどういうフォーマットで
入っているかなんてわからんだろ

32bitで保存されているのか、64bitなのか

変数に入れようがメソッド呼び出そうが
ある一定の手順の操作を行えば、それで状態は確定するんだよ

755 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 08:50:44.41 ID:az2ldVPt.net]
>>725
> 結局それも色々賢そうな事書いてるであろう仕事で書いてる人のコードが見てて凄いと思わないんだよ。

あぁ、プロの将棋を素人が見ても、凄さを理解できないのと同じだな
んで、何やってるか理解できないから、直すこともできない

756 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 09:25:59.20 ID:lh7vR7+I.net]
凄さを理解されなくても半分諦めてるプロって
ラノベ主人公でよくあるやつじゃん

757 名前:デフォルトの名無しさん [2018/10/10(水) 10:18:56.28 ID:00uAZtDo.net]
素人とプラグラマーに根本的な差を感じてる奴はちょっと怪しいな。

758 名前:デフォルトの名無しさん [2018/10/10(水) 10:58:13.09 ID:00uAZtDo.net]
素人だからこそ言い切れる。プログラミングって9割はツールを使いこなせるでしか無いよ。
将棋に関してもたぶん君は将棋について詳しくない人だと思うな。

759 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 11:03:52.32 ID:az2ldVPt.net]
素人が



760 名前:セい切れるわけ無いだろ。常識で物を言えや []
[ここ壊れてます]

761 名前:デフォルトの名無しさん [2018/10/10(水) 11:48:06.40 ID:00uAZtDo.net]
ま、分かったじゃあそう思っとけ。このご時世どんなに賢ぶってもそんなに凄いプログラマーが日本に溢れてないのが透けて見えてるんだけどな。

762 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:27:49.69 ID:AVL6Qil2.net]
俺もオブジェクト指向を中途半端にかじった中途半端な優等生が、
これ見よがしに作った自社製フレームワーク(全然便利ではない)しか
見たことないわ

作ったのは一流大卒の大手ベンダーの開発推進チームなんだが、
日本人ってその程度だと思うよ

Stringクラスって便利ー!ぐらいのほうが幸せになれるぞ

763 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:30:14.49 ID:AVL6Qil2.net]
中途半端な優等生の成果物がその程度なんだから、
三流大卒のおまいらの成果物なんて推して知るべくだよな

764 名前:デフォルトの名無しさん [2018/10/10(水) 12:35:08.25 ID:Vh7YHzSV.net]
べつに透かさんでも直接見えるやろw変なやつw

765 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:49:50.06 ID:2nqQsSqL.net]
>>726
でもprivateだとわからないよね

766 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 13:52:34.56 ID:VeUMq7t7.net]
プログラミングセンスと学力ランキングは比例しないんだよなぁ

767 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 13:57:58.08 ID:VeUMq7t7.net]
むしろ個人の性格の方がそのまんま実装に現れて来るからな。

768 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 14:27:07.52 ID:DTkCRDr0.net]
学力ランキングを批判するだけなら良いぞ
だが、学力の対案は性格っていうのがダメだ
おかしな対案を出すより何も出さない方がマシ

769 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 17:10:39.36 ID:az2ldVPt.net]
>>736
分かる必要がないよね。

どうせ関数型だって内部メモリの構造なんてわからないんだから



770 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 17:55:56.61 ID:DTc0bT+8.net]
>>733
大手企業のフレームワークは派遣さんがアホなことをしないようにあえて機能を制限してる
生産性が多少犠牲になっても非常識な派遣さんがやらかしてしまうリスクを減らすことが重要と考えたんだね
そういう意味ではオブジェクト指向の基本であるカプセル化は非常に役に立っていると言える

771 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 18:01:10.70 ID:az2ldVPt.net]
>>741
なら派遣を使うことがリスクなのでそれをやめればいいと思います。

本当のリスクは・・・無理なコスト削減なのでは?
コスト削減のために、無駄なコストをかける。

うーん、馬鹿なのでしょうね

772 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 18:25:41.34 ID:crjMMeGj.net]
既存のフレームワークにケチつけたい人は
それ以上のものを作れる人なの?
それとも、作れないし作ったことも無いけどケチつけたい人なの?

煽りじゃなくて純粋な疑問
ぜひ、小学生のような瞳をしてそっと教えて欲しい

773 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:14:20.95 ID:DTkCRDr0.net]
それを教えないのが正義っていうのが情報隠蔽、カプセル化

774 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:28:47.64 ID:AZXT33MT.net]
ママ役は薄幸そうな石田ゆり子かな

異論は認める

775 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:29:51.69 ID:AZXT33MT.net]
すまん、誤爆だ

776 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 20:28:30.09 ID:DTc0bT+8.net]
>>742
派遣さんを切ったら中抜きで稼いでる人達が困る
派遣さんは使う、でもバカな真似はやらせたくない
このバランスが大事

777 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 20:31:47.32 ID:1d6HAJSZ.net]
最近は中抜きはまだまともな行為だと思えてきた。
バカがクソみたいな意見押し通してくるよりマシだ。
そういう意味でベイシックインカム賛成。

778 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 20:32:00.42 ID:az2ldVPt.net]
>>747
結局、中抜きで困るからっていうのが本当の理由なのね(笑)

779 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 21:57:06.99 ID:YM9RoEIA.net]
>>740
え?グローバル変数使わなければ戻り値か引数が全てだけど?



780 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 22:09:31.63 ID:crjMMeGj.net]
>>750
つ[クロージャ]

781 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 06:25:53.98 ID:o+Pj5MkJ.net]
有識者、燃料投下ヨロ

くだらなくてつまんない

782 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 17:52:18.63 ID:lqVwZR/7.net]
んじゃクロージャ出たから

オブジェクト指向で末端の人、要は上の誰かが作った仕組みやクラス使って自分はそこからオブジェクト弄るだけの人は可能な限りクロージャ使いまくった方がと思うんだよな
よく委譲処理でこのふたつどちらか選ぶ事あると思うんだが末端なら即クロージャ

783 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 19:53:44.01 ID:hrM+9Jlq.net]
>>714
仕事は範囲が限られているからね
その仕事でやらなければならない範囲だけ出来れば
後は何が出来ようが出来まいが関係なくなるからね
一言で言えば視野が狭い
横文字を多用する人は狭い世界で通じてそれでokになっちゃってる
多種ではないし世界が兎に角狭い
実際ゲームなんかでは敵クラスを作って敵が増えるたびにオブジェクトを生成する
ってやると感覚的に凄く簡単

784 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:31:48.13 ID:m9vsKwrk.net]
>>752
どんな話題が面白いの?
このスレ的にはオブジェクト指向のメリットが説明できなければ
終わりなんだけど

785 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:34:12.11 ID:U1kKB/4M.net]
逆でしょ?説明されれば終わりなのがいやだから
答えが出てるのに、同じことをくり返し聞く

786 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:38:52.62 ID:m9vsKwrk.net]
>>756
え?メリット出てる?
見たことないよ
毎回、バカが長文書くだけで
品質向上なのか工数削減なのか、それが起こるロジックが全くの謎

787 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 21:05:36.68 ID:o+Pj5MkJ.net]
犬がワン、猫がニャン
→なにそれ美味しいの?

大規模じゃないとメリット説明しにくいよ
→説明できないって、大規模なプログラムを経験して体で覚えろと?

要するに、簡単には説明できないよ
→だったら学習コストとの天秤では?

俺の中ではこんな感じ

788 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 21:06:47.80 ID:U1kKB/4M.net]
品質向上だし工数削減にもなる

馬鹿はそこでなぜか品質向上と工数削減のために
追加作業が増えるとダメだと話を聞かない

789 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 21:07:43.81 ID:o+Pj5MkJ.net]
ちな俺、初心者プログラマだけど宮廷文系



790 名前:デフォルトの名無しさん [2018/10/11(木) 21:48:27.62 ID:29n02hV2.net]
いわゆる土方候補生か

791 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 22:35:19.32 ID:FTrPBrPb.net]
>>753
関数ポインタと汎用のvoidポインタ渡すインターフェイスより明らかに良いとは思うけど、
ガベコレない言語では上手くいかんだろ。
その場合は継承させるしかないっていうc++の選択は間違いじゃない。

792 名前:デフォルトの名無しさん [2018/10/12(金) 00:40:23.27 ID:U1NbXGxJ.net]
>>762
そういう欠点解消するため、
結構前に拡張されたのに何で勉強しないのかねOOP厨はホントにもう
https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html

793 名前:デフォルトの名無しさん [2018/10/12(金) 00:47:17.48 ID:U1NbXGxJ.net]
オレぐらいのレベルでないと
オブジェクト指向は使いこなせない

794 名前:デフォルトの名無しさん [2018/10/12(金) 00:47:48.97 ID:U1NbXGxJ.net]
だいたいわかる

低学歴知恵遅れが
ムダにオブジェクト指向あげしてる

795 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 00:48:51.77 ID:mmIXjKhu.net]
メリットの挙げられない技術を採用するな

796 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 07:03:34.63 ID:ogDn0rIL.net]
>>762
全く解消されてないだろ。。
キャプチャーしてる変数の寿命を考慮してなきゃならんし、こんなん使わねーわ。

797 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 08:23:50.28 ID:8+F5vpV5.net]
型の問題と寿命の問題を分離しない
OSとGUIを分離しない
フルスタックな環境を作る密結合指向って感じ

798 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 10:20:48.35 ID:4mK9L0 ]
[ここ壊れてます]

799 名前:RW.net mailto: >>768
それただの設計の問題じゃね?
[]
[ここ壊れてます]



800 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 11:04:22.00 ID:8+F5vpV5.net]
>>769
その設計にオブジェクト指向が関与していると疑われている
その問題の解決にオブジェクト指向は全く寄与しない、と宣言すれば疑いは晴れる

801 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 11:12:44.85 ID:4mK9L0RW.net]
>>770
いや、どう見ても設計の機能分けの問題
オブジェクト指向の前にレイヤーってあんだろ?

802 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 17:19:28.65 ID:5jm0P0/q.net]
オブジェクト指向信者もDI信者も同じ臭いがするね

【Java】DIコンテナって本当に便利か?
mevius.5ch.net/test/read.cgi/tech/1219242206/

次は何を担ぐのやら


外国で流行って育っていくのだから、それなりのメリットはあるんだろうけど、なぜか仕事では恩恵にあずかったことはない

803 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:33:03.38 ID:4mK9L0RW.net]
設計のセンスの無い奴はどんな流行が来たって糞な設計しか出来ないんだよなぁ
センスがある奴はなんとなくどんな流行のスタイルでもこなして来るからなぁ

804 名前:デフォルトの名無しさん [2018/10/12(金) 20:41:34.47 ID:CecLyO81.net]
どーでもいーけどコーディングの事設計てゆーのいーかげん恥ずかしくね?w

805 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:45:43.93 ID:4mK9L0RW.net]
は?
設計はコーディングじゃねーよw
四角い箱描いて矢印や電線で繋げて遊ぶ奴だぞ。

806 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:45:57.27 ID:SyXP90mj.net]
ある一定以下に対して理解できるような教範が出てこない
だから一部の人しか使えないようになってる
結局は出来る人の間で持て囃されるだけになってしまう
この何か新しいやり方を創造するのと一般に使えるようにする
というのは本来両輪なんだけど
普通以下の人達が使えるようになる教範を作る
というのはかなり難しい上に
それをやる人には余りメリットがないから
なかなか出てこない
だから
オブジェクト指向プログラミングにしても
関数型プログラミングにしてもその他の技術にしても
広く(普通程度以下)使われるのは難しいし
このスレのタイトルみたいな感想を持つしかなくなる
後は自分が出来るけど他の人が出来ないままのほうが出来る人には得だから妨害する
みたいなのが居るくらいだろうかねぇ

807 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:48:39.65 ID:4mK9L0RW.net]
あー電線繋げては遊ばないわ、危ないしw
点線の間違いだわ。

808 名前:デフォルトの名無しさん [2018/10/12(金) 21:12:49.59 ID:CecLyO81.net]
ガチでわかっとらん奴やったw

809 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 21:17:29.38 ID:mCoAwEvP.net]
>>772
DIはほんと便利
めちゃくちゃ開発が楽になった



810 名前:デフォルトの名無しさん [2018/10/12(金) 21:21:05.43 ID:xVyRtSc0.net]
少なくともこのスレにいるような低学歴知恵遅れのドカタには
オブジェクト指向言語を適切に使いこなせない

811 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 21:27:17.84 ID:d1sPni1g.net]
少なくともこのスレにいるような低学歴知恵遅れのドカタには
オブジェクト指向言語を適切に使いこなせない

812 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 22:41:19.80 ID:F7y/wInK.net]
>>772
テストしたことないのかい?

813 名前:デフォルトの名無しさん [2018/10/12(金) 23:12:30.21 ID:xVyRtSc0.net]
日銀短観のDIは便利
池沼あげのDIはtraitsなみにウンコくさい

814 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 10:26:58.14 ID:YNebL+WU.net]
今時DIも使いこなせない人材とか組織にとってのリスクでしか無いよ
あっちこっち結合しまくったクソコードを社内リポジトリにばらまくとか悪夢そのものじゃん

815 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 10:58:13.65 ID:H4Y+M12v.net]
DI使っても結合しまくったくそコードはくそのままだ
業務分析の時点でコケて役割分担がぐちゃぐちゃなんだからDI導入したって解決しない

816 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:25:17.45 ID:YNebL+WU.net]
>>785
DIを使わないから業務分析の時点でコケて役割分担がぐちゃぐちゃになるのでは?
設計者にDIを学習させてDIを使う前提で設計させればそのあたりの分担がキレイになるように意識して設計するようになるよ

817 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:13:29.66 ID:An0DfPZD.net]
>>786

818 名前:
それで成功した例なんてあんの?
[]
[ここ壊れてます]

819 名前:デフォルトの名無しさん [2018/10/13(土) 22:15:51.44 ID:L3Dj2/gz.net]
cのたくさんの構造体にいっぱい変数や関数ポインタもたせて
それ入力にして処理するのと同じ



820 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:29:25.59 ID:HA3RUpZg.net]
DIはたしかにきれいな設計になるが、めんどくて工数がかかる。
作業者にはYAGNIのほうが優先度高いから勝手に採用できない

だからそういうのはトップエンジニアが最初に管理方針としてきめとくもんだ
末端のプログラマーに責任押し付けるのは酷

821 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:38:19.49 ID:HA3RUpZg.net]
今のDIはめんどすぎる
既存コードをいじらないで中身をすげかえる
もっと楽な方法はないものか

822 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:42:51.86 ID:An0DfPZD.net]
DIは言語自体に組み込まれるべきもの
高級言語はどんどん高級になるべきだが
ガベコレ搭載あたりで停滞してしまったからね

本来はDIやデザインパターンやユニットテストや
フレームワークまで高級言語の仕様に含めなきゃいけない

823 名前:デフォルトの名無しさん [2018/10/13(土) 22:44:08.09 ID:L3Dj2/gz.net]
インターフェースを決め打ちにしたテンプレート作る間抜けな作りと
大してかわらないからな

824 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:48:54.83 ID:c+yfSqJ1.net]
使用者との合意の無いインターフェースほどクソなモンは無い
独りよがりで考えたものは全部クソなので誰にも見られないうちに捨てて欲しい

825 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:54:18.52 ID:An0DfPZD.net]
逆に言えば使用者との合意のあるインターフェースは問題ない
ということになってしまう。

826 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:59:41.42 ID:c+yfSqJ1.net]
>>794
もちろんそうだろ

827 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 23:21:29.03 ID:An0DfPZD.net]
>>795
あ、そうだって認めたねw

つまり、お前はインターフェースに問題があるとしようとしていたようだが、
俺はインターフェースには問題ないという話への誘導に成功したわけだ

828 名前:デフォルトの名無しさん [2018/10/13(土) 23:38:37.37 ID:L3Dj2/gz.net]
クソが余計なことをして
余計にクソなコードを生産するサイクルが途絶えることはない

829 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 23:45:30.90 ID:An0DfPZD.net]
SEが余計なことをして
クソコードを量産することになるのは
よくある話だな



830 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 11:01:28.22 ID:RzJcTIeH.net]
DIを使わないと結合部分に余計なコードが入り乱れて大変なんだよな

831 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 12:27:39.55 ID:mBxOrkWE.net]
え?どんなコードが入るの?
ありえないのに

832 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 20:24:46.22 ID:vo4hBZ/w.net]
なあ、おまえのクラス内に公開変数作って、そいつをインクルードして関数呼び出し時にポインター参照で指定するなんてインターフェス、誰が言い出したの?
しかも各関数は自前のその公開変数を直接参照して動いてるし。
こんな中途半端なやり方するなら、最初から隠蔽しちゃってくださいよ。

833 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 20:30:03.66 ID:1WHouwEf.net]
ごめん自分のデータクラスを全クラスの共通IFにする自信がなかった

834 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:16:54.08 ID:E6pr56BO.net]
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。

835 名前:デフォルトの名無しさん [2018/10/16(火) 03:09:47.94 ID:ou8fzFot.net]
この記事拍手の数すげぇな。まだ伸び続けてる
Goodbye, Object Oriented Programming
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53

836 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 07:54:43.79 ID:Z3LiiLXa.net]
誰か和訳してよ

837 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 07:57:35.98 ID:Z3LiiLXa.net]
オブジェクト指向を厚く語るヤツは
お勉強いまいちのヤツが多くて信用できないけど、
さらっとオブジェクト指向で書いたようなライブラリを公開してるヤツが
高学歴というわけでもない不思議な業界だよね

838 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 08:20:25.22 ID:Jp8CUHhN.net]
Banana Monkey Jungle Solution

まで読んだ

839 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 09:47:48.81 ID:hiAtkD1Q.net]
Elm最高まで読んだ



840 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 10:44:44.96 ID:KsONw+2K.net]
結局関数プログラミングが良い
って書いてある様に見えるけど
オブジェクト指向に対して何がどう良いのかは書いてないように見える
オブジェクト指向の問題点の指摘自体は有ってるように思えるけど
そもそもそういう使い方をするものじゃない
って気がするなぁ
現実世界とどうたらこうたら
こういう書き方をする人は自分からみてほぼ間違えている様に見える
騙された
って書いて有るけど
オブジェクト指向ってそんなに劇的に何かが壮大に変わるわけじゃないんだけど
その辺を誤解しているかオブジェクト指向を宣伝している奴がそもそも捕らえ違いをしている
そう自分には感じる事が多いなぁ

841 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 10:49:18.08 ID:hiAtkD1Q.net]
現実世界とマッピングさせようとしたらそりゃ上手くいかんし
バナナモンキージャングルになるわな
あほくさ

842 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 11:00:52.85 ID:sVO7hlJ7.net]
アクセス修飾子について分かりやすい説明しているサイトない?
privateからゲッター → セッターの理由がわかんないんだよな。
publicとの違いがなんなのか

843 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 11:06:30.91 ID:HqnwAz6t.net]
>>811
アクセサーを用意すると
ゲトーとセトーのアクセスを個別に制御できる

844 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 11:07:25.98 ID:HqnwAz6t.net]
ゲターもせターもパブリクーにするなら
アクセサーとフィールドの違いはない

845 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 11:39:32.23 ID:8J+M5yKD.net]
あとから処理をフックできるぞ!

846 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 11:40:12.83 ID:Ul6KAhVk.net]
setget時にログ出したいときに一括でできるぐらいか?

847 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 13:06:07.08 ID:GbK/byr7.net]
>>811
わかんないなら使わなくていいよ
用もないのにゲッターセッターを用意しろってのは間違って広まった悪いスタイルだ

多態したいとか、書かれてるようにログを取りたいとか、アクセサがあるとインスペクタで値が見えて便利とか
なんか用事がある時だけでいい

848 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 13:22:26.52 ID:sVO7hlJ7.net]
>>816
色々サイトみてるけど不要論も結構あるんだよな

よくわからないけどありがとう

849 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 14:20:20.47 ID:cFNbEHw0.net]
言語仕様で何とでもなるものにいちいちゲッターセッター付けるの無駄じゃね?



850 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 14:59:03.86 ID:8J+M5yKD.net]
それがプロパティなわけだが
ゲッターセッターと機能が重複しててほぼシンタックスシュガーで邪魔

851 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 15:33:44.68 ID:pkWZobMJ.net]
今時まだゲッターセッターなんて無意味なもん書いてる奴いんのか。

852 名前:デフォルトの名無しさん [2018/10/16(火) 16:52:45.97 ID:nQomBRvE.net]
セットなんちゃらって書く場面を考えると
なにかの状態遷移を伴うケースが大抵である
だとしたら、それを具体的に示す関数を書くべきなのでは
初期化が不便だというのもなんか違う

設定するメンバの組み合わせは決めておくべきではないか
それに併せて初期化関数を用意するだけ

853 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 17:08:05.58 ID:JHQMnpCL.net]
>>820
プロパティがない言語ではゲッターセッターが
プロパティの代わりになる

854 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 17:10:16.39 ID:JHQMnpCL.net]
>>821
> セットなんちゃらって書く場面を考えると

セットなんちゃらって書くと思うからいけない。
本当に書きたいことは、属性の変更

855 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 18:13:44.49 ID:AosmVST ]
[ここ壊れてます]

856 名前:K.net mailto: いつもクラスの例にでてくるPersonクラスはNameとAgeを持ってるけどあれ適当だよな
Ageは不変じゃないからいつの時点のAgeなのかもわからん

本来は誕生日を持っておいてAgeが必要なときにいつの時点の年齢が欲しいかを引数で与えて計算すべきなんだよな
[]
[ここ壊れてます]

857 名前:デフォルトの名無しさん [2018/10/16(火) 18:57:36.52 ID:PnSVhV/K.net]
言われたらそうだなw盲点だった

858 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:03:13.54 ID:JHQMnpCL.net]
そこででてくるのがプロパティだよ
ageは属性かメソッドかといったら属性だろ?

一見属性にアクセスしているようで、内部では
いろんな処理を行って値を返す。
それがプロパティ

859 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:04:22.70 ID:JHQMnpCL.net]
>>825
盲点でも何でも無いよw

例えば、Configクラスであっても、いつの時点のConfigかわからんだろ?
一年前の設定がほしいかもしれない。



860 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:12:47.50 ID:AosmVSTK.net]
>>826
引数が渡せるプロパティじゃないとね
c#使いなんだけどc#は引数を渡せない

861 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:22:26.29 ID:AzP++FB2.net]
状態状態ってよく悪者にされるけどOOPの肝はのへんににあると思う
#include <iostream>
struct logger {
std::ostream *out;
logger() : out(0) {}
void p(const char *s) {
if (out) *out << s << std::endl;
}
};
void f(logger &l) {
l.p("foo");
l.p("bar");
}
int main() {
logger g;
f(g);
g.out = &std::cout;
f(g);
g.out = &std::cerr;
f(g);
return 0;
}
ログの有効無効なんかをこうやって切り替えるのって
そんなに悪いこと?

862 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:24:41.24 ID:GbK/byr7.net]
Delphiなら配列の構文で引数付きプロパティを扱えたりするが
そんなことするぐらいならpersonからはbirthdayだけ見せて
今何歳かなんて呼び出し側で勝手に計算しやがれって思うわw

863 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:26:14.38 ID:OiVT6sa2.net]
読み取りのプロパティは冪等であるべきじゃないの?

864 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:27:08.86 ID:JHQMnpCL.net]
Nameも不変じゃないし身長体重性別だって不変じゃない
商品の値段も不変じゃない
不変のものなってまず無いだろう。

つまりは、オブジェクトの状態の過去のスナップショットを
オブジェクト自身に持たせるのが正しい設計かという話

865 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:30:01.71 ID:GbK/byr7.net]
>>831
だから>>824は時刻を引数で与えるよう提案しているわけだ。最初からそういう話
personクラスが中で勝手に現在時刻を取得してたりしたら複数インスタンスのageの基準がずれたりして
使い辛くてかなわんだろう

866 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:33:44.42 ID:JHQMnpCL.net]
>>833
その理屈だと結婚などでNameが変わることもあるから
Nameにも日時を与えるようにしないといけなくなる

867 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:34:54.98 ID:AosmVSTK.net]
話がずれてる
本質が理解されてないらしい

868 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:35:57.94 ID:JHQMnpCL.net]
本質は>>832に書いたとおり

> つまりは、オブジェクトの状態の過去のスナップショットを
> オブジェクト自身に持たせるのが正しい設計かという話

869 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:37:46.55 ID:AosmVSTK.net]
誕生日だけが提供されていたらコードのあちこちで年齢を出すメソッドが別々に書かれるかもしれない
同じ処理が複数で書かれてそれも同じ処理とも限らない

ロジックが散らばるのはよくないからクラスが持つべきではないかと思う



870 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:38:15.60 ID:eMqRZshQ.net]
大小比較のアルゴリズム自体を引数で渡したり、
オブジェクト指向っぽくてエレガントに見えはするけど、
一般プログラマには可読性低いなー
と思ったり。

一昔前のオブジェクト指向設計が売

871 名前:りの会社たちは、
オナニー会社として、まるで奮わなかったもんな

やっぱ適正レベルってもんが大事だよね
[]
[ここ壊れてます]

872 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:40:14.57 ID:GbK/byr7.net]
>>837
そこは、年齢に限らず単に時刻の差を計算する処理として
dateクラスのメソッドかグローバル関数であるべきでは

873 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:41:53.17 ID:eMqRZshQ.net]
C++はベターCとして、文字列いじるときとか楽できればいいんじゃね?

でもmallocとかメモリ管理が面倒だから、C#やJavaに流れるよね
要員確保できるもの

874 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:43:35.70 ID:AosmVSTK.net]
>>839
間違っても年齢を出す処理はdateクラスに持たせるべきではない

誕生日から年齢を出すのは実は結構めんどくさい
日本での年齢は日本の法律にのっとって決まってる

875 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:43:50.71 ID:eMqRZshQ.net]
だいたいそういうのは業務共通クラスとしてstaticメソッドてんこ盛りで置いておくよね

876 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:46:28.35 ID:JHQMnpCL.net]
つーか簡単だろ?

日付クラス。もしくは日付補助クラスに
2つの日付の差を年で返すメソッドを追加する

Personクラスには、誕生日とageプロパティをもたせ
ageプロパティは、誕生日と今日の日付の差を
さっきの年で返すメソッドを呼び出すだけにする


テストは日付クラスのメソッドはそのまま年計算のメソッドのテストを書けばいいし
Personクラスのテストは、単体テストの観点から日付クラスが
外部モジュールになるので年計算のテストは不要(すでにやってる)
年計算のメソッドを期待したとおりの引数で呼び出していることの確認と
返り値をそのまま戻しているかを確認すればいい


特定の年月日の年齢が知りたいなら、誕生日プロパティと特定の日付から
日付クラスの年計算メソッドを呼び出して差を計算するか、
適切な場所があるならそこにメソッドをおけばいい

877 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:47:01.66 ID:JHQMnpCL.net]
>>841
> 間違っても年齢を出す処理はdateクラスに持たせるべきではない

理由ぐらい書けよな

878 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:47:46.46 ID:JHQMnpCL.net]
dateクラスに持たせるべきではないというのなら
年齢計算クラスに持たせればいいだけだな

879 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:47:59.81 ID:GbK/byr7.net]
>>841
すまん、ならdateクラスは撤回する
国にも依るとなると尚更personにも持たせたくないな
単にグローバル関数にするか、いっそそれ用のクラスツリーをでっち上げて後々多態できるようにするか、かなあ



880 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:48:53.47 ID:tUmXldvA.net]
>>843
じーちゃん132歳とか出るパターンじゃね?

881 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:49:01.40 ID:JHQMnpCL.net]
国によって年齢計算のアルゴリズムを変えたいというのなら
ストラテジーパターンの出番だなw

882 名前:デフォルトの名無しさん [2018/10/16(火) 19:54:14.32 ID:nQomBRvE.net]
みんな賢いねぇ

883 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:36:04.05 ID:83dvK2wh.net]
俺やったらageプロパティやageオブジェクト作るんじゃなくて
ageクラス作ってpersonのデリゲートメソッドにageクラスオブジェクト返すものを作る。これで年齢とはそもそもなんぞや定義はの面倒な過程の話にも対応出来る
だが書く途中でゲッターですませやとキレだすと思う

884 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:39:51.39 ID:+sj1AQoJ.net]
普通に考えたら person と基準日を表すオブジェクトから年齢を返す関数を作るってことになると思うんだが。

885 名前:デフォルトの名無しさん [2018/10/16(火) 20:42:25.71 ID:H029zngb.net]
>>850
定義もわからんもの作んなカスwwww

886 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 21:14:56.44 ID:83dvK2wh.net]
>>852
定義がわからんからオブジェクト指向やろう
というか俺はプロパティで済ますわ

887 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 22:05:40.03 ID:t+SGPyRj.net]
もうメンバー変数とメンバー関数が混在するクラスは作るな
関数しかないinterfaceで十分
関数が一つしかないならlambdaでいい

888 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 22:35:26.96 ID:uJDDS3c2.net]
それ、区別する必要あるの?

889 名前:デフォルトの名無しさん [2018/10/16(火) 22:42:29.73 ID:H029zngb.net]
正直必要かどうかはわからない
ただおまえが欲しい
だめか?それだけじゃ?



890 名前:デフォルトの名無しさん [2018/10/16(火) 22:45:36.90 ID:VMcjBADQ.net]
その低学歴知恵遅れが作ったメソッドは
うるう年考慮してなさそうで変なバグが入ってそうだわ

2000年10月20日生まれなら
普通にintで
(20181016-20001020)/1000
でしまいだからな

891 名前:デフォルトの名無しさん [2018/10/16(火) 22:48:30.57 ID:VMcjBADQ.net]
そもそも常識的に
特殊なケースを除いて日付の引き算で
経過年数がかえってくるという発想はないからな

経過日数はあったとしてもな

892 名前:デフォルトの名無しさん [2018/10/16(火) 22:52:46.85 ID:VMcjBADQ.net]
(20181016-20001020)/10000
こうだな
危ない。。。

893 名前:デフォルトの名無しさん [2018/10/16(火) 22:54:43.61 ID:VMcjBADQ.net]
このとおり、
やっぱりな低学歴知恵遅れが
オブジェクト指向にふれるのは危険

オレぐらいのレベルがないとムリ

894 名前:デフォルトの名無しさん [2018/10/16(火) 23:02:22.64 ID:+0KL0EUx.net]
俺の周りじゃあ
バカほど大喜びで使っているよ

895 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 08:20:36.48 ID:K4tsdk4L.net]
>>832
勝手に変わるか、と言う意味では、生年月日は不変だけど、年齢は変わるんでは?

>>833
なるほど。そもそもそれはプロパティとは言ってなかったんだな。
それはおっしゃるとおり、関数にすべきだと思う。

896 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 08:22:14.61 ID:K4tsdk4L.net]
>>857
年齢はその前日の満了を持って加算される、のルールで抜けるパターンがあるんじゃね?
半角さんは間抜けなの?

897 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 09:03:37.20 ID:Vm5CNq+z.net]
半角さんを怒らせたら低学歴知恵遅れにされちゃうよ

898 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 09:56:27.08 ID:18gBK5Xa.net]
大抵の場合、正しく理解せずに中途半端な実装してる案件にぶち当たって嫌な思いした奴がここに集うんだろ?

899 名前:デフォルトの名無しさん [2018/10/17(水) 10:09:33.91 ID:nljGc94P.net]
実装レベルの議論してるやつと設計レベルの議論してるやつ
さらにもーちょい上から俯瞰して物を言ってるやつ
全部ごちゃ混ぜになってて面白いね



900 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 12:01:54.30 ID:vk6wOayh.net]
自分はプログラムの観点からだけで話してる
上にあった英語の奴もプログラムが主だったなぁ
設計は知らない
話題をスレで分けた方が良いのかねぇ?

901 名前:デフォルトの名無しさん [2018/10/17(水) 12:20:31.30 ID:BZlH8+Xm.net]
設計レベルの話とかでとらんけどw

902 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:05:39.44 ID:K4tsdk4L.net]
やっぱ平年の3/1に、うるう年の2/29に生まれた人の年齢が狂うな。
しかしこういう知ったかぶりが、ひどいバグを生んで改修大変になる。
と言うか、これを保存時にやられるとデータ修正ものなので、場合によっては偉いさんが頭下げに行って、出世の道が遠のくパターン。

903 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:07:46.09 ID:18gBK5Xa.net]
設計って、機能ごとに必要な処理をリストアップしたら、そのまんまオブジェクト指向なんじゃね?

904 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 15:04:16.60 ID:fcCyZegY.net]
「誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)
に1歳を加えることになる」の部分の解釈には
前日に1日加えると解釈される場合と
当日に1日加えると解釈される場合の2種類がある

905 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 15:32:27.26 ID:lTftiJN1.net]
2/29日生まれの人は4でわらないとね

906 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:00:02.67 ID:K4tsdk4L.net]
>>871
一番問題になる学教法にならうべきじゃないんかな。
前日に歳を取る、ただし前日の24:00を使用する。表記や概念的には、って感じで。
だから、4/1生まれは4/2生まれと学年が違う。4/1生まれは、3月中に歳をとってるから。

907 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:02:31.73 ID:aR4OF1u3.net]
誕生から1年経過することに1つ年を取るというのが定義であって
誕生日なんて全く関係ありませんよ。人間のクズども。

908 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:08:03.45 ID:DrCNXevb.net]
学校教育法17条 「保護者は、子の満六歳に達した日の翌日以後における最初の学年の初めから・・・」

909 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:09:22.06 ID:t+3zMNmx.net]
年齢の扱いをどうするかは法律で強制されているわけじゃないので
システムによって異なってもOK

だからどういう実装でも公平な実装であれば問題ないといえる。
例えば20歳おめでとうキャンペーンで、20歳になっていなくても
その月に20歳の誕生日を迎える人を対象にしても良いわけだ

だから何が正解かを議論することに意味はない

仕事の話をするなら
年齢の計算はどうしましょうか?と客に仕様を聞くべきか
年齢の計算はこのようにしますがよろしいですか?と客に仕様の確認するべきか?
そういったことを考えたほうが良い



910 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:10:12.75 ID:t+3zMNmx.net]
ふ、無能共にマジレスしてしまったぜw

911 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:11:46.81 ID:4yuTjZOF.net]
式の間違い云々よりも、皆ageはただの例示であることは前提とした上でOOPでどう表現するかの話をしてたのに
いきなり実装に踏み込んでくる思考が謎い

912 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:15:47.15 ID:DrCNXevb.net]
Personインスタンスのageのゲッターで計算しとく。
Personインスタンスが無い時にも年齢の計算が必要になったら、クラスメソッドにしてPersonのゲッター内部から使う

913 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:18:57.58 ID:t+3zMNmx.net]
プロパティが優れているのは
ageのように、

年齢?そんなものオブジェクトのフィールドにしておけばいいだろ?
え?生年月日から計算するようにしたい?
なら、そのフィールドをプロパティにして計算して返すだけだな

とクラスのインターフェースを変えることなく
実装を関数に変更できるところにある

914 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:32:11.49 ID:DrCNXevb.net]
年齢じゃなくてBMI値の計算にしようぜ

915 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:33:10.53 ID:t+3zMNmx.net]
>>881
俺もこれ見たよ

肥満の指標・BMIは営利目的で生まれたもので医学的根拠がない?「何を信じれば」と驚愕の声や「そやろな」と納得の声など #初耳学
https://togetter.com/li/1275152

916 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:48:54.97 ID:DrCNXevb.net]
>>882
いやw年齢だとシンプルすぎるかなと思っただけw

917 名前:デフォルトの名無しさん [2018/10/17(水) 16:59:07.49 ID:cz0N+1z5.net]
>>882
マジかよ保険会社最低だな
バレンタイン広めた菓子会社と同じくらい最低

918 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 17:15:22.09 ID:K4tsdk4L.net]
>>876
まあ、わかってて公平な実装と、それで良いと思ってるけど漏れがある実装は、仕様と不具合と大きく異なるけどね。

>>878
ほんといつも、半角さんがでしゃばった上に間違うからこんな事になる。

でもAgeはオブジェクトのプロパティとしては俺はおかしいと思うよ。
環境によって刻々と変わったり、恣意的に変えられる値は、オブジェクトとオブジェクトの演算で出るべきだと思う。
環境オブジェクトなり、指定時刻オブジェクトなりの、時刻を表すオブジェクトと、Personを組み合わせて、初めてAgeが出るんだし。
Personを含む生年月日があるオブジェクト.ageAt(時刻オブジェクト point)で年齢オブジェクトが出るなら理解できる。

919 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:34:11.00 ID:K4tsdk4L.net]
言い換えると、オブジェクトのプロパティはそのオブジェクトだけで表現可能なものに縛ったほうが良いと思う。



920 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:41:50.33 ID:JdG8Y6gT.net]
誕生日はプロパティにしてもよく、年齢は日付けに依存するから関数か

921 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:58:38.46 ID:DrCNXevb.net]
特定の日時の年齢が必要になったら
getAgeからgetAgeAt呼べばいいだけやん
言語によっていろいろやり方あるけどね
getAgeAt(Date.Today)しか書かれてないプログラムとかマヌケじゃん

既存クラスにメソッド追加できる言語なら
最終的にはDateにyears_between何ちゃら書く事になりそうだが

922 名前:デフォルトの名無しさん [2018/10/17(水) 19:05:52.01 ID:MwWLHD/k.net]
それで

923 名前:セったらPersonオブジェクトがどういう扱いなのかによってもAgeがプロパティか関数か違いそうだな。
データベース的な一回表示するだけだったら関数でも良いけど、ゲームやSNSのアバター的なのだったら、ステータス表示するたびに計算してたら無駄が多い。
誕生日イベントでもない限り1日くらいは1歳違う程度は許容されるなら、オブジェクト作成時(ログイン時)に計算して結果をAgeに入れるだけとか、誕生日イベント発生時に計算して入れるだけとかした方がよくないか?
モバイルゲームとかなら尚更。
[]
[ここ壊れてます]

924 名前:デフォルトの名無しさん [2018/10/17(水) 19:07:22.09 ID:pcmrmHBT.net]
お前らQiitaでも喧嘩してんのかよwwwww

925 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:21:58.46 ID:QBZICbug.net]
くだらねー議論してないで業務エキスパートに年齢の扱いを聞いてこい
それが答えだ

926 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:41:36.97 ID:lTftiJN1.net]
バッチが日付またぐけど開始した日で計算したいとなると「当日」をそういう扱いにするようにプログラム書くんだろうがインターフェースを変更する必要は無さそうだな

927 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:45:33.46 ID:e5Vejsh/.net]
プログラミング系の文章は長いのが多いw
Qiitaも無駄に長いし

928 名前:デフォルトの名無しさん [2018/10/17(水) 19:48:24.97 ID:MwWLHD/k.net]
そらそうよ。
一体何に細かく指示してると思ってんの。
それに比べれば全然短いわ。

929 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:49:12.51 ID:PbHb58aB.net]
保守性、生産性なんてどーでもいいみたいだなw



930 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:48:03.60 ID:SmhZ3W9+.net]
保守性がどーでもいいならスマートUI + 振る舞いレスオブジェクト + トランザクションスクリプト + スパゲティクエリで短期的な生産性を上げることができる
保守性と生産性を同時に上げる方法は残念ながらオブジェクト指向しか知らない

931 名前:デフォルトの名無しさん [2018/10/17(水) 21:11:18.05 ID:MCL000/y.net]
>>893
いわゆる職業病だな

932 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 21:15:15.43 ID:t+3zMNmx.net]
言語の解説本でもムダに長いからな
ポケットリファレンス程度でいいのに

933 名前:デフォルトの名無しさん [2018/10/17(水) 21:29:59.95 ID:MCL000/y.net]
livedoor.4.blogimg.jp/hatima/imgs/c/d/cdb5756f.gif

934 名前:デフォルトの名無しさん [2018/10/17(水) 22:12:39.18 ID:Ny9Q/0jK.net]
低学歴知恵遅れは日付クラスにそんな頭悪いコードを入れると書いてるからな
>>843 ← このとおり

935 名前:デフォルトの名無しさん [2018/10/17(水) 22:16:19.44 ID:Ny9Q/0jK.net]
普通に考えてな
日付クラスにそんな頭悪いコードなんかいれない

低学歴知恵遅れはいろんなもんに利用する日付クラスに
年齢求めるコードをいれると書いてる

低学歴知恵遅れがクラスを設計()すると
こういうバカな作りになるという典型的な例といっていい

この板にいるような低学歴知恵遅れにはやっぱりな
オブジェクト指向なんかムリ

936 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 22:18:11.61 ID:vodxAkHQ.net]
>>891
契約時年齢だって

937 名前:デフォルトの名無しさん [2018/10/17(水) 22:21:21.35 ID:Ny9Q/0jK.net]
ただの起算日の違いの問題だからな
計算方法はかわらない

そもそも日付クラス()なんかやるようなもんじゃない

938 名前:デフォルトの名無しさん [2018/10/17(水) 22:26:45.89 ID:Ny9Q/0jK.net]
ともかくあきれるぐらい頭が悪い

939 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 22:29:57.57 ID:t+3zMNmx.net]
>>901
日付クラスに入れるのは、年の差を計算するロジックやで?
日付同士の差を求める演算。結果の年だけを取得する

誰が年齢の差のはなししてるんだよw



940 名前:デフォルトの名無しさん [2018/10/17(水) 22:30:36.34 ID:MwWLHD/k.net]
確かになー。。。
と言うか、大抵のフレームワークに日付クラスがあるのに、わざわざ改造して年齢計算メソッド付けるって発想が浮かばない。
普通はPersonに付けるだろうし、スマホゲームとかならクライアントに計算させてバッテリー減り過ぎも困るから、場合によっては鯖側に管理クラス作ってそっちに付ける。

941 名前:デフォルトの名無しさん [2018/10/17(水) 22:30:39.23 ID:Ny9Q/0jK.net]
ホント頭悪いわ

942 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 22:35:00.27 ID:SmhZ3W9+.net]
アタマが悪いと短いレスすら誤解して読んでしまうらしい
ほんとかな?

943 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 22:35:22.24 ID:t+3zMNmx.net]
>>906
日付クラスに入れるのは

944 名前:日付の計算(もちろんすでに入ってるのならそれを使う)
年齢はPersonクラス、仕様が一致してるなら日付クラスのメソッドを呼ぶだけでいい

日付の計算と年齢の計算は(仮にロジックが一致していたとしても)別物
そういうことを考えるのが抽象化
[]
[ここ壊れてます]

945 名前:デフォルトの名無しさん [2018/10/17(水) 22:54:19.67 ID:MwWLHD/k.net]
>>909
入ってるのは今の所見たことないけど、メソッドにする程か?
日付クラス同士の足し算引き算出来るはずで、年数計算って結局ただの引き算やぞ。

別に駄目とは言わんが、Ageメソッド内で「今日の日付−生年月日」するのと、「日付クラス.年数計算(今日の日付,生年月日)」するのと手間は同じ。
むしろ長くなる。

946 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:03:02.79 ID:4yuTjZOF.net]
operator - が日付クラス内で定義されてる例なんていっぱいあるでしょ

947 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:05:08.82 ID:t+3zMNmx.net]
>>910
Personクラスの属性にしていれば、
内部の実装が変わってもインターフェースを
変えなくてすむんだよ。

それにオブジェクト指向の特徴だが人間のメンタルモデルに近いから
理解しやすい。例えば「あなたの年齢は?」みたいに聞くだろう?
年齢を知りたいときに、あなたの生年月日は?って聞いてからわざわざ計算しないだろ?

"あなた"が知っていることは、"あなた"に問い合わせればよい。
というのが人間にとって一番理解しやすいんだよ

948 名前:デフォルトの名無しさん [2018/10/17(水) 23:05:26.01 ID:Ny9Q/0jK.net]
日付クラスの - オペレーターで
経過日数ではなく経過年数を返す作りになるのか。。。

さすが低学歴知恵遅れがいうことは斬新だわ

949 名前:デフォルトの名無しさん [2018/10/17(水) 23:07:02.95 ID:Ny9Q/0jK.net]
やっぱり低学歴知恵遅れって感じ
もうすぐに分かってしまう

まともな教育を受けてればでてここないような発想が
ポンポンでてくる

低学歴知恵遅れのレスってすぐにわかる
いちいち低学歴知恵遅れですと自白するからな。。。



950 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:09:12.35 ID:t+3zMNmx.net]
弱い犬ほど?

951 名前:デフォルトの名無しさん [2018/10/17(水) 23:09:52.03 ID:Ny9Q/0jK.net]
バカはバカであることに気づけない
ホントになよくわかるわ

952 名前:デフォルトの名無しさん [2018/10/17(水) 23:17:38.65 ID:pcmrmHBT.net]
関数型論者だったら「人」はDNAだけで表し、生まれた日、場所、その他その瞬間の宇宙の諸環境をすべて引数で与えて最後に経過時間も与えるのかな?
なんだ、関数型論者って決定論者だったんだな。

953 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:30:29.90 ID:4yuTjZOF.net]
>>910が日付の計算が日付クラスのメンバーになっているのを見たことがないと言っているので
それに対して俺は>>911で知らないうちに演算子オーバーロードの恩恵を受けているのではと言っているだけ

「今日の日付−生年月日」は日数で「日付クラス.年数計算」の「年数」とは一致しないが
そんな事は気にせずに単にdateの計算をどこに置くかの話をしているだけ
繰り返すが日付自体がただの例示だから、単位だの閏年だの細部を詰めることに意味はないと皆わかってる

そこから一人実装を始めたり短絡的にoperator -で年数を返すと変な結びつけ方をしたりして
自分が作り上げた架空の敵相手に憤ってしまうのがもうね

954 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:33:06.41 ID:LhMTIXwM.net]
>>917
それは関数型論者でなくて適切な抽象度が理解できないただの抽象馬鹿だろ。

955 名前:デフォルトの名無しさん [2018/10/17(水) 23:48:24.78 ID:MwWLHD/k.net]
>>913
あれ?日付クラス(Date)の中にYaer、Man、Dayって年クラス、月クラス、日クラスって無かったっけ?
すまんね。
だいぶ離れてて、うろ覚え。

>>912
うん?
だからPersonクラスがAgeプロパティだかメソッド持つんだろ?
日付クラスだか時間クラスだかが年数計算メソッド持つ必要は無い。
時間はただ時間、日付はただ日付。
年齢もただ年齢ってのもある意味じゃ正しい。
システム上不都合なら管理クラスに計算させて、結果を受け取るだけでも良い。

オブジェクト指向は、必ずしも現実と同じ区分けでなくて良い。
責任分担をキッチリするための道具でしかない。
保守性に問題なければ、システムの特性に合わせてどちらが管理するのか決めれば良い。
(むしろ現実と離れることが多いから、あんまり現実だとこうだから〜とか、こだわり過ぎない方がいい)

956 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:55:39.80 ID:RzUo3BE1.net]
生年月日は、属性・インスタンス変数

年齢は、computed・算出プロパティ

957 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 00:04:29.24 ID:/P5hGycw.net]
Ruby で、年齢をクラス化したもの

誕生日から年齢を計算するhappybirthday gemをリリースしました
https://takanamito.hateblo.jp/entry/2018/05/15/091820

958 名前:デフォルトの名無しさん [2018/10/18(木) 00:08:50.77 ID:8YBQxCvu.net]
るびぃ〜すとwwwww

959 名前:デフォルトの名無しさん [2018/10/18(木) 00:19:48.94 ID:qf9NxgCD.net]
>>918
年齢計算や年数計算は大事な場所じゃ無かったし、言う通り日付クラスに年数計算メソッド付けるべき?が話題の中心だったと思う。


年齢計算や年数計算は
_______日付クラスA = 今日の日付 − 生年月日(または任意の年月日)
return 日付クラスA.Yaer

とかだった気がする。
うろ覚えだが。



960 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 00:25:14.97 ID:855u7n6N.net]
難しい物なんだから
話が長くなるのは当たり前
既に知っている事を話す以外だと
相手に解る様に話すのに分量が掛かる
当然だろう

961 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 00:35:20.72 ID:/ofNkRJS.net]
>>924
日付(年の差)計算と年齢計算をごっちゃにしてはいけない
日付クラスにつけるのは年の差計算処理
年齢の計算のことは考えてはいけない

Personクラスにつけるのは年齢プロパティ
中で日付クラスを使うかどうかは実装による

年齢計算の方法が複数あるというのなら、ストラテジーパターンを導入し
アルゴリズムを切り替えられるようにしておけばいいだろう
>>843で書いたことの繰り返しだがな

962 名前:デフォルトの名無しさん [2018/10/18(木) 00:36:08.12 ID:THsg9J3q.net]
いや低学歴知恵遅れは
頭ワルイという病気

不治のヤマイ

963 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 00:38:55.28 ID:/ofNkRJS.net]
またワンワンって聞こえる

964 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 00:40:38.70 ID:d31P7rqb.net]
>>927
あなたのその病治らなくて大変ですね

965 名前:デフォルトの名無しさん [2018/10/18(木) 00:56:35.59 ID:qf9NxgCD.net]
>>921
これ言うと元も子もないが、実際にはアカウント作る際に生年月日と年齢を別々に書かされる通り、計算なんて何処もしちゃいない。
気が付いたらユーザーが書き直してねって。

お勉強でもなけりゃ年齢計算はしない。
年計算用途の方が実践で使われてるかもね。

966 名前:デフォルトの名無しさん [2018/10/18(木) 01:06:50.02 ID:qf9NxgCD.net]
>>926
うーん?
誕生日を生年月日にしただけで、同じ意見に見えるが。。。
閏年に誕生日が〜とかも含めるって事?
だから、実際のサイトじゃ年齢も入力させる形なのかね?

967 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 06:47:29.90 ID:8rVApEa4.net]
class Age {
public DateTime BirthDay { get; }
private DateTime Today { get; }
public int Years { get {
int b = BirthDay.Year * 10000 + BirthDay.Month * 100 + BirthDay.Day;
int t = Today.Year * 10000 + Today.Month * 100 + Today.Day;
return (t - b) / 10000; }}
public Age(DateTime b, DateTime t) { ...

class Person {
public DateTime BirthDay { get; set; }
private DateTime Today { get; set; }
public Age Age => new Age(BirthDay, Today);
public Person(DateTime b, DateTime t) { ...

968 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 08:12:51.70 ID:0Dh4HQ87.net]
>>912
その質問は暗黙に(今の)が入ってるんじゃない?

969 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 08:15:28.19 ID:0Dh4HQ87.net]
半角さんは設計スキルないんだからもう書き込むなよ。
実際間違った実装を想定して設計の話ししただろ?



970 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 08:19:16.70 ID:0Dh4HQ87.net]
>>930
電子カルテだとまあまず患者マスタに年齢は持たないよ。
いつ時点に、何歳か、って方が大事だから。
どのタイミングで年齢計算するかとなると、入院中に歳を取るパターンがあるので結局毎日計算するハメになる。

それこそ業務によると思うが。
ただ普通のウェブサイトでも、生年月日聞くところで年齢を聞かれる事はあんまり無いんじゃないかな。

971 名前:デフォルトの名無しさん [2018/10/18(木) 08:45:54.88 ID:qf9NxgCD.net]
>>935
なるほど、カルテだったら閏年で何歳ってより、生物として生まれて何年目、的な意味合いの方が重要だし、有りかも。

年齢まで求める場所減ってるか知らないけど、情報的な価値は低いかもね。
統計的に扱うだろうから、生年月日で何年生まれか分かれば十分だし。

972 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 11:41:18.85 ID:ia232fMX.net]
手術した日から何年経ったか表示してと言われて裏で誕生日クラスが使われる

973 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 12:26:47.14 ID:PmW8gRMT.net]
>>891
>くだらねー議論してないで業務エキスパートに年齢の扱いを聞いてこい
>それが答えだ

これで解決する議論をぐだぐだとまあ…
何がしたいんだ?
年齢にまつわる宇宙の真理をクラス化したいのか?

974 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 12:45:03.88 ID:0Dh4HQ87.net]
>>936
何歳って概念も結構大事で、6歳未満にはできない、とか、6歳未満だからいくら、とか結構決まり事があるんよ。
それ守らないと保険組合からお金がもらえない。
暦の上の、いわゆる法律上の年齢も無視できないんよ。
それは、医師の指示を実施した日で計算するとか、日付の取り方も色々ある。

医学的に必要になってくるとすると、何ヶ月早産児の何ヶ月児が、正規産だと何ヶ月児だよ、とか。
こっちは、だいたい週計算する。

975 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 12:45:24.34 ID:b1Fs59oz.net]
日付クラスを継承して誕生日クラスとか作り出す奴がいるから無駄に複雑になる。

976 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:23:27.88 ID:b1Fs59oz.net]
無駄にクラス化しようとする奴も同罪。だからオブジェクト指向がクソと言われる。

977 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:01:33.21 ID:bqWuTIEf.net]
だから業務共通クラスの1メソッドにしとくんだろ、普通

バッチが日跨ぎしても基準日は変えないとか、業務やシステムの要素と切り離しできるなら話も変わるけど

978 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:13:24.19 ID:A+ZA0oir.net]
クラスもいいけど、共通処理は単なる関数ライブラリの方がありがたいよな。

979 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:59:01.57 ID:6luTq9qj.net]
>>940
継承は間違い
日付型のフィールドを持つだけの誕生日値オブジェクトクラスを作るのが正解だな



980 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 15:25:24.79 ID:3douRw4T.net]
Person.birthday.dateなの?

981 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 16:59:23.38 ID:A+ZA0oir.net]
2つの日付けを引数にしてその日数を返す関数あれば、それだけでよくね?
変にクラス内に閉じ込めてもメリット無いと思うんだけど?
少なくともpersonクラスには誕生日を返すくちがあればそれでいいと思うよ。
それをどう加工するかは、表示クラスだったり年金計算クラスだったりでやればいいんだよ。

982 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 17:52:04.62 ID:/ofNkRJS.net]
>>946
コンピュータの立場で考えるのではなく
人間の立場になって考えるようにしましょう

Personクラスはどういう属性を持っているか?
それを考えるのが設計。実装のことは一旦忘れましょう

983 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 17:55:05.67 ID:80M+etW5.net]
関数型や手続きだとこんな議論にならん辺りやっぱオブジェクト指向はアカンな

984 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:03:23.12 ID:b1Fs59oz.net]
誕生日から年齢導くだけの処理に、幾つのファイルとどの位のコストが必要なのかねぇ。
保守性とはホント真逆だわ。

985 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:12:21 ]
[ここ壊れてます]

986 名前:.82 ID:vIc/Em84.net mailto: >>949
年齢を整数のまま扱うといつか誰かが
Xピクセル=10歳+50kg
みたいな奇妙な演算をやらかす
それは困るからクラス化して保守性をあげよう
[]
[ここ壊れてます]

987 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:17:11.53 ID:b1Fs59oz.net]
それよりも複雑化によるデメリットの方が計り知れない。
そもそもコード量を減らすためにクラス化とかあるのに逆に増えるってどんな呪いだよ。

988 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:20:48.86 ID:vIc/Em84.net]
>>951
重複コードがほぼ一掃されるので全体のコード量は減る
利用者側は年齢にまつわる詳細なルールを知らなくても使えるようになるから複雑性も解消される

989 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:29:38.57 ID:3douRw4T.net]
棒グラフにするの大変やな



990 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:32:26.45 ID:3douRw4T.net]
平均年齢もきつい

991 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:34:20.75 ID:7CPcoAfm.net]
設計がおかしいとおかしなクラスが乱造される

一クラス一機能をつら抜いてFileRemoverとかFileRenamerクラス作ってる人は死んだほうがいい
MultiFileRemoverとか本当に必要なら作れよと思う

992 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:37:53.29 ID:b1Fs59oz.net]
>>952
だから呪い。実際、出来上がってるものの大半は真逆の事になってるんじゃないかね。

993 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:42:34.52 ID:80M+etW5.net]
オブジェクト指向は書く量と段取りを増やすデメリットをもって
パーツや責任関係の切り分けを行う作業と理解しております

994 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:45:45.21 ID:b1Fs59oz.net]
それならわかる。

995 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:06:46.96 ID:vIc/Em84.net]
日付型とかあるじゃん
あれ中身はただの整数値だけどだからってじゃあ整数値のままでいいじゃんとはならない
なぜなら整数値を日付とみなして注意深く扱うよりも
さっさと日付型を作ってしまったほうが間違いが減って問い合わせや演算が楽になり理解しやすくなるから
同じことをドメインでもやりましょうというだけの話なんだけど何をそんなに恐れてるのだろう

996 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:25:21.20 ID:7CPcoAfm.net]
架空言語にて

private Name name=new Name()

public Person(string name){
Name tmpName=new Name(name);
if(tmpName != null){
this.name=tmpName;
}
}

997 名前:デフォルトの名無しさん [2018/10/18(木) 19:26:39.70 ID:qf9NxgCD.net]
>>947
そう言うのがいるからうちの会社は社用スマホが古いんだから、もっとアプリ軽くしろとか注文入って鯖に処理を移す事になるんだよ。。。
ある程度はどっちに比重置くか考えて作った方がいい。
そういう所こそ設計の腕の見せ所。

998 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:30:01.60 ID:/ofNkRJS.net]
> そう言うのがいるからうちの会社は社用スマホが古いんだから、もっとアプリ軽くしろとか注文入って鯖に処理を移す事になるんだよ。。。

全く無関係の話をされても困るんだが?

999 名前:デフォルトの名無しさん [2018/10/18(木) 19:39:03.88 ID:qf9NxgCD.net]
理想と現実は違うって事。
人間のこと考えたいけど、仕様変更繰り返すうちにグダグダになる。
出来る事は破綻しない様に事前に想定される事に対処して、その後も破綻しない様に管理することだけ。



1000 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:50:43.92 ID:KBtBXMK/.net]
>>963
だからオブジェクト指向が必要なんだよね

1001 名前:デフォルトの名無しさん [2018/10/18(木) 19:54:07.63 ID:qf9NxgCD.net]
>>964
そう。
そのはずだ。
入門書でAnimalクラスを継承してDogクラスとCatクラスが〜とか例えた弊害か、人間の事をとかなる。
人間の事を考えるなら顧客の事だ。

1002 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:54:59.16 ID:/ofNkRJS.net]
従業員かもしれんし、何を言ってんだお前は?

1003 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 20:37:26.00 ID:4AdjqlvR.net]
>>938
エキスパートと思われる人にヒアリングしたら
そいつが「年齢にまつわる宇宙の真理」とか求め出すというクソ案件はたくさんある。

1004 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:17:00.48 ID:A+ZA0oir.net]
>>947
だからさ、業務によって年齢の扱いが違うんだから、固有の業務に特化した属性なんて実装は避けるべきなんだよ。
やりたいならpersonクラスじゃなくて業務クラスに持たせるべき。
それじゃ無いと、様々な業務に適用させる度に微妙に違う属性を返さなきゃならんくなるだろ?

1005 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:24:05.33 ID:/ofNkRJS.net]
> だからさ、業務によって年齢の扱いが違うんだから、固有の業務に特化した属性なんて実装は避けるべきなんだよ。

Personクラスはそもそも業務に特化したクラスだろう?

現実世界の人間を完全シミュレートする。それがオブジェクト指向だって
考えてるのはお前だけやで

1006 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:25:37.05 ID:A+ZA0oir.net]
>>969
いや、そもそもオブジェクト指向はパーツの使い回しがテーマだからな。

1007 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:26:42.98 ID:/ofNkRJS.net]
パーツの使い回しはオブジェクト指向じゃなくてもできるんで
それは全然違いますー

1008 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:28:20.39 ID:/ofNkRJS.net]
いやはや驚きだ。これが馬鹿というものか

まさか、どんな業務にでも通用する
Personクラスを想定していたとは

世界にたった一つPersonクラスがあれば
ゲームから業務まで何でも使えるものを想定していたとはな

愚かとしか言いようがない

1009 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:32:01.02 ID:A+ZA0oir.net]
少なくとも会社や自分の作るアプリで使い回す為にオブジェクト指向で作るんだからな。
おまえみたいに毎回特定業務に特化してフルスクラッチから作るとかバカしかやらんぞ。



1010 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:33:57.36 ID:/ofNkRJS.net]
>>973

え?お前こういったじゃん

> やりたいならpersonクラスじゃなくて業務クラスに持たせるべき。

お前は、使い回すために業務クラス作ってんのか?
どんな業務でも汎用的に使えるもの = 業務クラスだったのか?

1011 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:35:16.82 ID:/ofNkRJS.net]
使い回さ(せ)ないもの = 業務クラス
Personクラスは使い回せない = 業務クラス

俺はこう言ってるだけなんだが、
こいつは何を言ってるんだろうか?

1012 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:37:02.39 ID:A+ZA0oir.net]
アホに構ってしまった。
personなんて一般的な名前で個別に特化したクラスを作るあほは社会の迷惑だからしんでくれ。

1013 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:38:08.80 ID:/ofNkRJS.net]
>>976
キミはネームスペースというものを知ったほうが良いぞ
多くの言語ではクラスはネームスペースの中に入れるから
一般的な名前が使えるんだよ

1014 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:43:24.79 ID:A+ZA0oir.net]
それじゃ解決できねーんだよw

1015 名前:デフォルトの名無しさん [2018/10/18(木) 21:59:23.07 ID:d31P7rqb.net]
マクロ使ってスコープ無視してるんじゃね

1016 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:04:29.72 ID:A+ZA0oir.net]
つうか、使いまわせないから却下。

1017 名前:デフォルトの名無しさん [2018/10/18(木) 22:20:46.14 ID:d31P7rqb.net]
名前空間内に入っていてその業務に特化したpersonという標準クラスはok派。
それを継承して使いまわしてもいいじゃない。

1018 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:53:19.65 ID:2FmMLZik.net]
名前空間のせいで型名が長い
その反動で関数名は短すぎるから型を省略したら情報が少なすぎて読めない

型を宣言する言語としない言語の対立が最も激しくなる仕組み

1019 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:03:48.89 ID:vIc/Em84.net]
personに関わる宇宙の真理を考えてる奴がマジでいてクソワロタwww



1020 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:17:56.72 ID:sfuI0a7S.net]
オブジェクト指向で作った時点で失敗

メンバ変数の状態の数だけパターンが増えていく
これを仕様で固定せず
オブジェクトの状態数×オブジェクトの状態数
の工数爆発を汎用性による品質の向上とか思ってるキチガイばっかで救いようがない

無限の汎用性とは無限のバグ数を持っていることを悟るべき

1021 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:19:33.39 ID:/ofNkRJS.net]
> オブジェクト指向で作った時点で失敗

いきなり結論ありきw

1022 名前:デフォルトの名無しさん [2018/10/18(木) 23:19:44.24 ID:THsg9J3q.net]
人類クラスからホモクラスを導出するぐらい頭ワルイことを平気でするからな

1023 名前:デフォルトの名無しさん [2018/10/18(木) 23:22:42.95 ID:Buojxy+7.net]
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない

1024 名前:デフォルトの名無しさん [2018/10/18(木) 23:25:00.93 ID:qf9NxgCD.net]
>>973-974
あー。。。
オブジェクト指向は素晴らしいかもしれん。
だがな。
納期に追われた焦った脳で扱うには手が余る。
精々次の一回使い回せたら使えたってのが現実。
(と言うか、そんなんだから継承は悪とか言われるわけで)

上で誰かがライブラリ的な方が嬉しいとか書いてたろ?
あれが真実。(誓って書いたのは俺じゃあない)
流石にまんま関数をライブラリにしなくて、関数とクラスをまとめたライブラリにするが。(むしろ気持ち悪いかこれは)

だから言ったろ?
現実と理想は違うって。

理想を追い求めて納期間に合わなくて、クビになったら元も子もないやろ?
いつかは。。。とか思いつつ、その連続よ。

1025 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:26:14.41 ID:/ofNkRJS.net]
>>988
お前の現実の話なんか
他人には関係ない

1026 名前:デフォルトの名無しさん [2018/10/18(木) 23:28:09.99 ID:qf9NxgCD.net]
そう思うんなら、まだ現実を知らない。

1027 名前:デフォルトの名無しさん [2018/10/18(木) 23:28:24.82 ID:THsg9J3q.net]
一番頭ワルイやつが大量にレスしてるわ。。。
まさに典型的な頭の悪さ

1028 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:28:41.89 ID:/ofNkRJS.net]
お前の現実なんか知らんわw

1029 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:33:25.51 ID:/ofNkRJS.net]
>>988
Personのような業務クラスは使いまわしできるわけがないのは常識で
どうせ作る力ないんだから作るな。使え。
オープンソースなんかの汎用クラスを使え
見事にオブジェクト指向で世界中使い回し出来てるんだから。



1030 名前:デフォルトの名無しさん [2018/10/18(木) 23:35:05.22 ID:THsg9J3q.net]
業務でどこの馬の作ったか分からんような
ちゃんと試験されたかどうかすらわからんようなコードを使うとかな
コイツは間違いなくニート

1031 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:43:20.55 ID:/ofNkRJS.net]
ちゃんと試験すればいいだけじゃね?

どうせ自分で作っても試験するんだから
他人が作ったものを試験するほうが
作るコストが節約できる

第一そもそも作る能力がないレベルなんだから
他人のが使えませんと言っても
自分で作ることもできませんっていうのが落ちだろう

1032 名前:デフォルトの名無しさん [2018/10/18(木) 23:45:03.61 ID:THsg9J3q.net]
クソニートの世界では手続きとういもんがないのは分かる

1033 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:46:15.45 ID:/ofNkRJS.net]
ダメな奴は
できる方法を考えるのではなく
できない理由を考える

1034 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:46:31.81 ID:/ofNkRJS.net]
はい、さっき次スレ立てましたよー

オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/

1035 名前:デフォルトの名無しさん [2018/10/18(木) 23:46:57.71 ID:THsg9J3q.net]
オマエはこのスレで頭わるいことばっかり書きこむまえに
ハロワへいく必要がある

1036 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:47:17.33 ID:vIc/Em84.net]
>>984
状態をクラスにカプセル化することによって独立性を保てる境界ができる
すると状態の組み合わせ数が激減するんだよ

1037 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 55日 10時間 15分 8秒

1038 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<285KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef