無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語: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/
前前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
前スレ
オブジェクト指向ってクソじゃねぇかよPart3
https://mevius.5ch.net/test/read.cgi/tech/1542884872/
探検
オブジェクト指向ってクソじゃねぇかよPart4
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/04/28(日) 23:38:35.09ID:URSBxRTf749デフォルトの名無しさん
2019/09/29(日) 16:22:46.52ID:FcHQ3mHw >>748
それは一般化過ぎて一言で言える解にいたるのは非常にムヅカしいと思います。
オブジェクト指向が有効な場面もあります。レイヤや応用、場面によって変わってきますし…
私としてはレイヤと用途によって向いたパラダイムを分けて考えていますす
・最内・最下位レイヤはオブジェクト指向の出番はまずない。手続き的な記述
あるいはリストや再帰を使うならfunctionalで宣言的な記述が適している
・中間レイヤ;特定のコンパクトなデータ構造に対するまとまりのある処理を表現する場合は
オブジェクト指向が有効な場合もありますが、従来からある静的・階層的な
スコープとextent管理および、機能をパッケージまたはモジュール化する機能階層分割による構造構築
・上位・アプリレイヤ:複合型化オブジェクト指向は記述に適さず、従来からある静的・階層的な
スコープとextent管理および、機能をパッケージまたはモジュール化
以上は個人的な考えです
それは一般化過ぎて一言で言える解にいたるのは非常にムヅカしいと思います。
オブジェクト指向が有効な場面もあります。レイヤや応用、場面によって変わってきますし…
私としてはレイヤと用途によって向いたパラダイムを分けて考えていますす
・最内・最下位レイヤはオブジェクト指向の出番はまずない。手続き的な記述
あるいはリストや再帰を使うならfunctionalで宣言的な記述が適している
・中間レイヤ;特定のコンパクトなデータ構造に対するまとまりのある処理を表現する場合は
オブジェクト指向が有効な場合もありますが、従来からある静的・階層的な
スコープとextent管理および、機能をパッケージまたはモジュール化する機能階層分割による構造構築
・上位・アプリレイヤ:複合型化オブジェクト指向は記述に適さず、従来からある静的・階層的な
スコープとextent管理および、機能をパッケージまたはモジュール化
以上は個人的な考えです
750デフォルトの名無しさん
2019/09/29(日) 16:23:54.16ID:DMdYV2Cf751デフォルトの名無しさん
2019/09/29(日) 16:24:45.16ID:YvuYETry752デフォルトの名無しさん
2019/09/29(日) 16:28:27.71ID:YvuYETry >>749
>スコープとextent管理および、機能をパッケージまたはモジュール化
抽象論では意味がないので、トイレに行って、チンポに力を入れたりチンポから力を抜いたりしてみよう!
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>スコープとextent管理および、機能をパッケージまたはモジュール化
抽象論では意味がないので、トイレに行って、チンポに力を入れたりチンポから力を抜いたりしてみよう!
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
753デフォルトの名無しさん
2019/09/29(日) 16:31:15.07ID:FcHQ3mHw >>751-752
そうすると女性はオブジェクト指向できませんね…
そうすると女性はオブジェクト指向できませんね…
754デフォルトの名無しさん
2019/09/29(日) 16:31:47.54ID:YvuYETry >>744
>自動詞と他動詞の違いでしょ
では聞くが、チンポは随意筋なのか不随意筋なのか?
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、サブクラス➡スーパークラス!
オブジェクトの『属性』とは、そこのお前は一体何者なのかという問いかけであり、
オブジェクト間メッセージングとはまさに自我とチンポの二人称対話に他ならない。
>自動詞と他動詞の違いでしょ
では聞くが、チンポは随意筋なのか不随意筋なのか?
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、サブクラス➡スーパークラス!
オブジェクトの『属性』とは、そこのお前は一体何者なのかという問いかけであり、
オブジェクト間メッセージングとはまさに自我とチンポの二人称対話に他ならない。
755デフォルトの名無しさん
2019/09/29(日) 16:41:34.23ID:0nfUCEDh >>754
チンポの大部分は海綿体という組織でできてて興奮することによって血液が流れ込んで勃起するっていうのは中学校の保健体育で習うじゃん
チンポの大部分は海綿体という組織でできてて興奮することによって血液が流れ込んで勃起するっていうのは中学校の保健体育で習うじゃん
756デフォルトの名無しさん
2019/09/29(日) 16:47:20.94ID:0nfUCEDh 国語でも保健体育でもそうなんだけどドメインに関する基礎知識が不足してて適切なオブジェクトを設計できないだけなんじゃないかな
プログラミングの手法を語るのはまだ早いよ
プログラミングの手法を語るのはまだ早いよ
757デフォルトの名無しさん
2019/09/29(日) 19:13:55.92ID:YvuYETry758デフォルトの名無しさん
2019/09/29(日) 20:15:37.87ID:0nfUCEDh >>757
生き物の定義はなーに?
生き物の定義はなーに?
759デフォルトの名無しさん
2019/09/29(日) 21:14:54.48ID:YvuYETry >>758
独立して自ら考え、自ら行動する。
独立して自ら考え、自ら行動する。
760デフォルトの名無しさん
2019/09/29(日) 21:22:17.77ID:1ct4yMlj >>759
心臓は?
心臓は?
761デフォルトの名無しさん
2019/09/29(日) 21:24:37.02ID:7beohfQp チンポの話してる奴、オブジェクト指向とかちゃんと理解した上で、頭良いこと言ってれば面白いのに、言ってることがクソ馬鹿だからつまらん
762デフォルトの名無しさん
2019/09/29(日) 21:27:51.21ID:1ct4yMlj763デフォルトの名無しさん
2019/09/29(日) 21:33:02.19ID:YvuYETry >>760
チンポはオシッコを止めたり出したり出来るが、心臓は血液を止めたり出したり出来ない!
チンポはオシッコを止めたり出したり出来るが、心臓は血液を止めたり出したり出来ない!
764デフォルトの名無しさん
2019/09/29(日) 21:35:16.78ID:sEvguTJ+765デフォルトの名無しさん
2019/09/29(日) 21:37:37.16ID:7beohfQp >>764
違うよ
違うよ
766デフォルトの名無しさん
2019/09/29(日) 21:45:10.18ID:BB/choW1 だらだらっとプログラムを書くと大体1000行ぐらいで
訳が分からなくなる。言語は問わない。
ある方法論の下でプログラムを書いた方が破綻することが少ない
その方法論の一つがオブジェクト指向だ。
だが、オブジェクト指向ですべての問題が解決するわけではない。
使わないよりはましというだけ。現在のところオブジェクト指向よりも
ましな方法論がない。それだけの話だ。
巨大 and/or 複雑なプログラムはどういう方法論を使っても
しょせん無駄だが。いわゆる天才待ち。
訳が分からなくなる。言語は問わない。
ある方法論の下でプログラムを書いた方が破綻することが少ない
その方法論の一つがオブジェクト指向だ。
だが、オブジェクト指向ですべての問題が解決するわけではない。
使わないよりはましというだけ。現在のところオブジェクト指向よりも
ましな方法論がない。それだけの話だ。
巨大 and/or 複雑なプログラムはどういう方法論を使っても
しょせん無駄だが。いわゆる天才待ち。
767デフォルトの名無しさん
2019/09/29(日) 21:48:07.24ID:sEvguTJ+ >>760
心臓にはメッセージング出来ないが、チンポにはメッセージング出来る!
心臓にはメッセージング出来ないが、チンポにはメッセージング出来る!
768デフォルトの名無しさん
2019/09/29(日) 21:51:38.67ID:sEvguTJ+ >>766
>ある方法論の下でプログラムを書いた方が破綻することが少ない
>その方法論の一つがオブジェクト指向だ。
オブジェクト指向は常に独立指向であり、メッセージングとはオブジェクト間の二人称対話である!
心臓とは対話出来ないが、チンポとは対話できる。それでいてチンポは独立性を失わない!
>ある方法論の下でプログラムを書いた方が破綻することが少ない
>その方法論の一つがオブジェクト指向だ。
オブジェクト指向は常に独立指向であり、メッセージングとはオブジェクト間の二人称対話である!
心臓とは対話出来ないが、チンポとは対話できる。それでいてチンポは独立性を失わない!
769デフォルトの名無しさん
2019/09/29(日) 21:55:59.16ID:sEvguTJ+ つまりオブジェクト指向とは、俺の股間に付いているモノなのである!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
770デフォルトの名無しさん
2019/09/29(日) 22:05:34.51ID:1ct4yMlj つまりまぶたは自分で動くから生物らしいw
771デフォルトの名無しさん
2019/09/29(日) 22:07:55.53ID:sEvguTJ+ >>770
まぶたがまばたきするのは条件反射だけど、チンポが勃起するのはチンポ自身の意思決定である。
まぶたがまばたきするのは条件反射だけど、チンポが勃起するのはチンポ自身の意思決定である。
772デフォルトの名無しさん
2019/09/29(日) 22:09:17.43ID:1ct4yMlj まぶたもまぶた自身の意思決定だよ
773デフォルトの名無しさん
2019/09/29(日) 22:20:37.42ID:hJuDFY/5774デフォルトの名無しさん
2019/09/29(日) 22:28:51.62ID:hJuDFY/5 >オブジェクト指向ってクソじゃねぇかよ
チンポには知能回路が不可欠だが、まぶたには必要無いな。
チンポには知能回路が不可欠だが、まぶたには必要無いな。
775デフォルトの名無しさん
2019/09/29(日) 23:54:11.11ID:0nfUCEDh >>759
違います
違います
776デフォルトの名無しさん
2019/09/30(月) 00:06:41.58ID:pLPQTkxW オブジェクトは自立して動くものというのが理想だったからな
現実は自立して動かないから指示系統が複雑化してヤブヘビに
という訳で切り離すべきはモノじゃなくて処理という観点から軽量プロセスや関数型が注目されると
現実は自立して動かないから指示系統が複雑化してヤブヘビに
という訳で切り離すべきはモノじゃなくて処理という観点から軽量プロセスや関数型が注目されると
777デフォルトの名無しさん
2019/09/30(月) 11:50:17.45ID:6u3x8oZT >>775
何が違う?
何が違う?
778デフォルトの名無しさん
2019/09/30(月) 12:02:24.90ID:36/oNbaU779デフォルトの名無しさん
2019/09/30(月) 18:43:47.51ID:OlSN46y3 >>745
肯定派に発言権があるかはわからないけど、オブジェクト指向の利点はもっとシンプルだと思います。
そういえば、スレタイは オブジェクト指向はクソ でしたね。では、糞で例えます。
非オブジェクト指向
kusoDasu1();
kusoDasu2();
kusoDasu3();
※一見、短いコードに見えるが...3つの糞を生むために、3つのkusoDasu関数を定義する必要がある。
オブジェクト指向
Kuso kuso1 = new Kuso();
Kuso kuso2 = new Kuso();
Kuso kuso3 = new Kuso();
kuso1.Dasu()
kuso2.Dasu()
kuso3.Dasu()
※3つの糞を生成するために、1つのKusoクラス一つ定義だけで済む。
一つの関数を使い回すのでブレークポイントを張っても馴れないと分かりにくいのはあると思います。でも、可読性やコーディングのしやすさという観点ではどうでしょうか?
一つのクラスを定義しただけで糞を簡単に量産できるんですよ?
3つの糞なんてケチ臭い制約はいりません。メモリが許す限り、アンリミテッド・糞・ワークスができるんですよ?
しかも、継承を使えば...
Kuso kuso1 = new Poo();
Kuso kuso2 = new BananaKuso();
Kuso kuso3 = Ore.Dappun();
kuso1.Dasu()
kuso2.Dasu()
kuso3.Dasu()
このように様々な糞を様々な方法で生成できます。どうでしょう?オブジェクト指向の良さを理解していただけましたか?
肯定派に発言権があるかはわからないけど、オブジェクト指向の利点はもっとシンプルだと思います。
そういえば、スレタイは オブジェクト指向はクソ でしたね。では、糞で例えます。
非オブジェクト指向
kusoDasu1();
kusoDasu2();
kusoDasu3();
※一見、短いコードに見えるが...3つの糞を生むために、3つのkusoDasu関数を定義する必要がある。
オブジェクト指向
Kuso kuso1 = new Kuso();
Kuso kuso2 = new Kuso();
Kuso kuso3 = new Kuso();
kuso1.Dasu()
kuso2.Dasu()
kuso3.Dasu()
※3つの糞を生成するために、1つのKusoクラス一つ定義だけで済む。
一つの関数を使い回すのでブレークポイントを張っても馴れないと分かりにくいのはあると思います。でも、可読性やコーディングのしやすさという観点ではどうでしょうか?
一つのクラスを定義しただけで糞を簡単に量産できるんですよ?
3つの糞なんてケチ臭い制約はいりません。メモリが許す限り、アンリミテッド・糞・ワークスができるんですよ?
しかも、継承を使えば...
Kuso kuso1 = new Poo();
Kuso kuso2 = new BananaKuso();
Kuso kuso3 = Ore.Dappun();
kuso1.Dasu()
kuso2.Dasu()
kuso3.Dasu()
このように様々な糞を様々な方法で生成できます。どうでしょう?オブジェクト指向の良さを理解していただけましたか?
780デフォルトの名無しさん
2019/09/30(月) 19:07:21.40ID:OlSN46y3 む...なんか、糞が糞を出しているみたいで微妙な例だった...。
糞が出来ることは臭いを放つくらいなのに...。
糞が出来ることは臭いを放つくらいなのに...。
781デフォルトの名無しさん
2019/09/30(月) 21:53:20.32ID:65htVXQ/ >>779
なんでデータごとに別名で同じ内容の手続き用意するんだよ
共有関数って概念を欠いてるのか。
別名で同じ内容の手続きを展開することに対する継承の利点を主張しても
この例だと委譲に対する継承の利点はなんら現れてこないし。
オブジェクト指向以前に、プログラミングの入門のイロハノイから勉強すべきだよ
肯定派ってこのレベルでオブジェクトが良いだの何だの言っているのか…
なんでデータごとに別名で同じ内容の手続き用意するんだよ
共有関数って概念を欠いてるのか。
別名で同じ内容の手続きを展開することに対する継承の利点を主張しても
この例だと委譲に対する継承の利点はなんら現れてこないし。
オブジェクト指向以前に、プログラミングの入門のイロハノイから勉強すべきだよ
肯定派ってこのレベルでオブジェクトが良いだの何だの言っているのか…
782デフォルトの名無しさん
2019/09/30(月) 22:00:40.66ID:M1BD3UNk >>779
これは酷い。半万年ROMってろ。
これは酷い。半万年ROMってろ。
783デフォルトの名無しさん
2019/09/30(月) 23:45:10.32ID:ZQM0teIb784デフォルトの名無しさん
2019/09/30(月) 23:56:13.99ID:65htVXQ/ 下手なあおりだな
785デフォルトの名無しさん
2019/10/01(火) 00:39:29.97ID:/7xdykYG 共有関数がーとか言うけどさ、関数を共有化させたところで、内部的にはグローバルstatic変数を使って実装することになるのでは?
非オブジェクト指向で必要なモジュールの数を可変させるのが面倒であるという事実は変わらないと思うよ。
もちろん、static変数を使わずに
struct X;
InitX(X);
UpdateX(X);
みたいな記述もできるけどさ、それってC++言語が選択できなかった時代のC言語組み込み開発におけるオブジェクト指向の実現手段になってしまうよね。かなり原始的だけど。
非オブジェクト指向で必要なモジュールの数を可変させるのが面倒であるという事実は変わらないと思うよ。
もちろん、static変数を使わずに
struct X;
InitX(X);
UpdateX(X);
みたいな記述もできるけどさ、それってC++言語が選択できなかった時代のC言語組み込み開発におけるオブジェクト指向の実現手段になってしまうよね。かなり原始的だけど。
786デフォルトの名無しさん
2019/10/01(火) 00:45:39.87ID:uvk8N18h >>785
ばかだな、、つける薬が見つからないw
ばかだな、、つける薬が見つからないw
787デフォルトの名無しさん
2019/10/01(火) 00:48:09.54ID:rxcb8vGn なんや?また言い返せないからって
ばーかばーかって言って勝ったつもりになってんのか?w
ばーかばーかって言って勝ったつもりになってんのか?w
788デフォルトの名無しさん
2019/10/01(火) 00:50:07.63ID:uvk8N18h いやだからfacytory関数とオブジェクト指向を同一視し過ぎだって
池沼かよ
池沼かよ
789デフォルトの名無しさん
2019/10/01(火) 01:00:24.34ID:uvk8N18h それ以前に、lexical scopeとextentがどうしても非同期にせざるを得ない場合を除き、
動的・非階層的にデータ構造を生成してややこしい状態を一生懸命管理するのは避けて、
なるたけextentとlexical scopeを対応させ
階層的、静的、組合せ回路的構造でプログラムを構築すれば
大規模で複雑な構造も表現できるというのが
現代computer scieneの基本セオリの1つだろうに
この愚か者が
動的・非階層的にデータ構造を生成してややこしい状態を一生懸命管理するのは避けて、
なるたけextentとlexical scopeを対応させ
階層的、静的、組合せ回路的構造でプログラムを構築すれば
大規模で複雑な構造も表現できるというのが
現代computer scieneの基本セオリの1つだろうに
この愚か者が
790デフォルトの名無しさん
2019/10/01(火) 01:01:04.47ID:/7xdykYG なんか、ごめんなさい。
夜も遅いので池沼お兄さんは寝ます。
夜も遅いので池沼お兄さんは寝ます。
791デフォルトの名無しさん
2019/10/01(火) 01:02:59.68ID:uvk8N18h792デフォルトの名無しさん
2019/10/01(火) 12:26:50.14ID:Ni47W9Iw793デフォルトの名無しさん
2019/10/01(火) 12:30:34.45ID:Ni47W9Iw 訂正。
当たり前と言うのは、factory関数とOOJが別だと言う話な。
というか、同一視って何?どこからそんな話が出た。
当たり前と言うのは、factory関数とOOJが別だと言う話な。
というか、同一視って何?どこからそんな話が出た。
794デフォルトの名無しさん
2019/10/01(火) 12:55:49.02ID:pl5uAcQp でもオブジェクト指向は俺の股間に付いているからな!
795デフォルトの名無しさん
2019/10/01(火) 20:04:25.88ID:x7eW/FrR ぼくの両乳首はオブジェクト指向
それぞれ独立していて小気味よく動作する
一方をつねるとその入力は脳に伝わる
そして口から嗚咽を出力するのさ
年を取ったらピンクの乳首を継承して黒乳首になる
実装によっては乳液だって出るのさ
それぞれ独立していて小気味よく動作する
一方をつねるとその入力は脳に伝わる
そして口から嗚咽を出力するのさ
年を取ったらピンクの乳首を継承して黒乳首になる
実装によっては乳液だって出るのさ
796デフォルトの名無しさん
2019/10/01(火) 20:48:58.62ID:pl5uAcQp ちんぽはちんぽそのものが独自の知能回路を有しているのだからな。
797デフォルトの名無しさん
2019/10/01(火) 21:07:15.85ID:pl5uAcQp 896 その名前は774人います (ワッチョイWW 7fad-Vw6X) 2019/05/15(水) 10:20:20.32 ID:nOEC7nyk0
とあるピンクサロンで、
チンポがシコシコするしぐさを考えろ!
チンポがシコシコする踊りを踊れ!
チンポがシコシコする唄を歌え!
チンポがシコシコする言葉を吐け!
チンポがシコシコするマッサージをしてくれ!
チンポがシコシコする眼差しで俺を見つめろ!
・・・店追い出された>涙
とあるピンクサロンで、
チンポがシコシコするしぐさを考えろ!
チンポがシコシコする踊りを踊れ!
チンポがシコシコする唄を歌え!
チンポがシコシコする言葉を吐け!
チンポがシコシコするマッサージをしてくれ!
チンポがシコシコする眼差しで俺を見つめろ!
・・・店追い出された>涙
798デフォルトの名無しさん
2019/10/01(火) 23:21:52.20ID:FDUqY2Pa799デフォルトの名無しさん
2019/10/01(火) 23:28:55.29ID:FDUqY2Pa >>789
staticおじさんこんなこと言ってたっけ…
staticおじさんこんなこと言ってたっけ…
800デフォルトの名無しさん
2019/10/01(火) 23:36:09.12ID:FDUqY2Pa staticおじさんの要旨はこれかな?
ttps://ryoasai.hatenadiary.org/entry/20110702/1309600182
>・コードを共有化すると、共有しているプログラムを修正した場合の修正の影響範囲が広がってしまう。
>・機能ごとに似たようなコードをコピーし、独立したプログラムとして開発すれば、それぞれ独立して変更できるからメンテナンスが楽。
>・コピペを中心とした開発であれば開発担当のPGのスキルも低くてすみ、外注コストも削減できる。
>・ホストからのダウンサイジングもある程度進んでおり、今時フルスクラッチで新規開発する案件は少なく、2次開発案件では部分的なコピペで機能を追加できれば十分。
>・だから、小難しい理屈を使いこなすような達人プログラマーなどは不要であり、若いうちにSEやPMになることを考えた方がよい。
ttps://ryoasai.hatenadiary.org/entry/20110702/1309600182
>・コードを共有化すると、共有しているプログラムを修正した場合の修正の影響範囲が広がってしまう。
>・機能ごとに似たようなコードをコピーし、独立したプログラムとして開発すれば、それぞれ独立して変更できるからメンテナンスが楽。
>・コピペを中心とした開発であれば開発担当のPGのスキルも低くてすみ、外注コストも削減できる。
>・ホストからのダウンサイジングもある程度進んでおり、今時フルスクラッチで新規開発する案件は少なく、2次開発案件では部分的なコピペで機能を追加できれば十分。
>・だから、小難しい理屈を使いこなすような達人プログラマーなどは不要であり、若いうちにSEやPMになることを考えた方がよい。
801デフォルトの名無しさん
2019/10/01(火) 23:48:23.99ID:FDUqY2Pa あるいはこっちかな…?
ttps://qiita.com/minebreaker/items/45ffaaa5e8729e16cfb4
このサイトを見るとオブジェクト指向厨がstaticおじさんの発言を
無理と悪く受け止めてミスリードを誘うような批判は行き過ぎととらえ
>この記事で言いたかったこと
> 複雑さはそれ自体害悪である。単純なのはよいことだ。
> 「なんか新しくてすごいテクノロジー2.0」を知らないからといって、劣等感を感じる必要はない。シンプルで簡単で使いやすいツールを選べ。
> プログラミング業界の「常識」「あたりまえ」「みんな使ってるよ」を鵜呑みにするな。自分で考え、最適な技術を選べ。
> 誰かを馬鹿にするよりも、他山の石として研鑽に励もう。
大人だな。
必要もないのに動的インスタンスの生成をするのではなく
ネスしたスコープやエクステントに任せてスマートポインタを使うなどの良いのは
ま、真理だわな
ttps://qiita.com/minebreaker/items/45ffaaa5e8729e16cfb4
このサイトを見るとオブジェクト指向厨がstaticおじさんの発言を
無理と悪く受け止めてミスリードを誘うような批判は行き過ぎととらえ
>この記事で言いたかったこと
> 複雑さはそれ自体害悪である。単純なのはよいことだ。
> 「なんか新しくてすごいテクノロジー2.0」を知らないからといって、劣等感を感じる必要はない。シンプルで簡単で使いやすいツールを選べ。
> プログラミング業界の「常識」「あたりまえ」「みんな使ってるよ」を鵜呑みにするな。自分で考え、最適な技術を選べ。
> 誰かを馬鹿にするよりも、他山の石として研鑽に励もう。
大人だな。
必要もないのに動的インスタンスの生成をするのではなく
ネスしたスコープやエクステントに任せてスマートポインタを使うなどの良いのは
ま、真理だわな
802デフォルトの名無しさん
2019/10/01(火) 23:53:47.25ID:FDUqY2Pa803デフォルトの名無しさん
2019/10/02(水) 00:21:33.38ID:Xlygym3r804デフォルトの名無しさん
2019/10/02(水) 00:23:30.54ID:Xlygym3r805デフォルトの名無しさん
2019/10/02(水) 00:29:20.13ID:Xlygym3r ttps://video.twimg.com/ext_tw_video/1172343538832379904/pu/vid/640x480/HpRdIcr00S8_pdXC.mp4
806デフォルトの名無しさん
2019/10/02(水) 01:26:39.96ID:9qRss58O >>800
腹かかえてワロタwwwww
腹かかえてワロタwwwww
807デフォルトの名無しさん
2019/10/02(水) 08:53:08.65ID:7/oukv6j808デフォルトの名無しさん
2019/10/02(水) 09:17:55.93ID:Ndg07KII >>800に同意している人も反対している人も
現場でやってることに大差はないんだろうね
現場でやってることに大差はないんだろうね
809デフォルトの名無しさん
2019/10/02(水) 09:19:32.62ID:gGwgwb6G 悲しいなぁ
810デフォルトの名無しさん
2019/10/02(水) 10:46:48.54ID:VgxhRvTX まあ、似た様な仕様をまとめてひとつの処理にしておいて、やっぱ機能違うってなってから分ければいいだけやん。
メンテナンス考えたら至る所に似た様なコードがあって、仕様改定したら全部直して回るなんて方が大変だしな。
中には同じ機能なのに実装が微妙に違うから更に面倒とかあるしな。
メンテナンス考えたら至る所に似た様なコードがあって、仕様改定したら全部直して回るなんて方が大変だしな。
中には同じ機能なのに実装が微妙に違うから更に面倒とかあるしな。
811デフォルトの名無しさん
2019/10/02(水) 14:08:10.01ID:YHHkcMxI ちんぽはちんぽそのものが独自の知能回路を有しているのだからな。
他の臓器とは全く違う!
他の臓器とは全く違う!
812デフォルトの名無しさん
2019/10/02(水) 18:05:37.56ID:/XE7KUd6 このスレってオブジェクト指向・肯定する人と否定する人の割合ってどれくらいなんだろう。
あと、普段は何の開発を何言語で開発しているのかも気になる。
あと、普段は何の開発を何言語で開発しているのかも気になる。
813デフォルトの名無しさん
2019/10/02(水) 18:09:42.77ID:Ndg07KII814デフォルトの名無しさん
2019/10/02(水) 19:34:35.21ID:2MisKgeV 規模が多けりゃオブジェクトが断然だが、そもそもそのレベルの規模に合わないからな日本のプログラマは
815デフォルトの名無しさん
2019/10/02(水) 20:18:21.39ID:WQvlnYHg ある意味、>>800 staticおじさんの「コードはコピペで何とかしろや、共通部分増やすと変更時の影響がでかいだろ」は素直な意見なんだなーって思う。
そして、この現象(共通部分が増えると変更時の影響がでかくなる...というか、大変になる)が起きるのは共通部分の仕様が不透明だからだと思う。
コードを見て使われているstatic変数の真の意味をプログラムから察する必要があるわけだし。
オブジェクト指向であれば、オブジェクトが要求するオブジェクトの仕様を明確にする仕組みがある(しかも言語レベルでサポート)のだが、非オブジェクト指向だとこれと言った方法がないからね。
staticおじさんの困りごとは本当に、素直な意見だなーとは思うのだが、なぜ、そこまで課題に気がついているのにオブジェクト指向を採用しないのか、とは思うね。
そして、この現象(共通部分が増えると変更時の影響がでかくなる...というか、大変になる)が起きるのは共通部分の仕様が不透明だからだと思う。
コードを見て使われているstatic変数の真の意味をプログラムから察する必要があるわけだし。
オブジェクト指向であれば、オブジェクトが要求するオブジェクトの仕様を明確にする仕組みがある(しかも言語レベルでサポート)のだが、非オブジェクト指向だとこれと言った方法がないからね。
staticおじさんの困りごとは本当に、素直な意見だなーとは思うのだが、なぜ、そこまで課題に気がついているのにオブジェクト指向を採用しないのか、とは思うね。
816デフォルトの名無しさん
2019/10/02(水) 20:31:36.21ID:9nRFYl/a >>815
コピペすると修正の範囲が増えるだろ?
コピペすると修正の範囲が増えるだろ?
817デフォルトの名無しさん
2019/10/02(水) 20:44:55.93ID:WQvlnYHg >>816
いや、俺に言われましても...。
いや、俺に言われましても...。
818デフォルトの名無しさん
2019/10/02(水) 20:48:27.18ID:WQvlnYHg >>816
いや、すまん。まぁ、あなたの言うとおりstaticおじさんのやり方だと、とある問題を解決するために別の問題を発生させているわけだ。
いや、すまん。まぁ、あなたの言うとおりstaticおじさんのやり方だと、とある問題を解決するために別の問題を発生させているわけだ。
819デフォルトの名無しさん
2019/10/02(水) 20:53:37.03ID:Z/jCHkKZ820デフォルトの名無しさん
2019/10/02(水) 21:20:48.78ID:gSiaZ46v なんでDRYとオブジェクト指向の話がごっちゃになっとん
821デフォルトの名無しさん
2019/10/02(水) 21:27:29.04ID:WQvlnYHg >>819
誰もお前のオブジェクトなんて要求してねぇから(辛辣)
まぁ、オブジェクト指向なら、「私は太いチンコを要求する!」「私は何でもいいからチンコを要求する!」「私は君のチンコを要求する」といった感じで人間にも分かりやすい仕様を明確にすることができるけど...
もし、ソフトウェアモジュールの分割の単位を考えないで設計をすると...「酸素原子n個、炭素原子n個、水素原子n個...のチンコを要求する!」みたいな感じで細か過ぎて要求するものが何なのか人間の感覚では分かりにくくなることはあるね。
分割の仕方は他にも色々あるんだけど、自分が知る中ではオブジェクト指向の責務分割が一番、人間にとって理解しやすいと思う。
誰もお前のオブジェクトなんて要求してねぇから(辛辣)
まぁ、オブジェクト指向なら、「私は太いチンコを要求する!」「私は何でもいいからチンコを要求する!」「私は君のチンコを要求する」といった感じで人間にも分かりやすい仕様を明確にすることができるけど...
もし、ソフトウェアモジュールの分割の単位を考えないで設計をすると...「酸素原子n個、炭素原子n個、水素原子n個...のチンコを要求する!」みたいな感じで細か過ぎて要求するものが何なのか人間の感覚では分かりにくくなることはあるね。
分割の仕方は他にも色々あるんだけど、自分が知る中ではオブジェクト指向の責務分割が一番、人間にとって理解しやすいと思う。
822デフォルトの名無しさん
2019/10/02(水) 21:28:26.39ID:Ew8RFt8B 信頼性の高いソフトウェアを開発して、開発そのものを簡単に理解したりメンテナンスできる
ようにする唯一の方法は、DRY原則に従うことです。
すべての知識はシステム内において、単一、かつ明確な、そして信頼できる表現になっていなければならない。
https://qiita.com/yatmsu/items/b4a84c4ae78fd67a364c
ようにする唯一の方法は、DRY原則に従うことです。
すべての知識はシステム内において、単一、かつ明確な、そして信頼できる表現になっていなければならない。
https://qiita.com/yatmsu/items/b4a84c4ae78fd67a364c
823デフォルトの名無しさん
2019/10/02(水) 21:30:50.07ID:Ew8RFt8B824デフォルトの名無しさん
2019/10/02(水) 21:33:18.07ID:Ew8RFt8B825デフォルトの名無しさん
2019/10/02(水) 21:35:45.55ID:2Yo9PRwa >>812
批判派です
最近は主にpython, C/C++, Perl、VBA
たまに MATLAB, Skill(Lispの一種), Javascript, VB, R, かつてFortran、javascript
趣味でかじった程度が Haskell, SM/L, Racket, OpenDylan
ほか
そいや最近Javaの案件もやった。
批判派です
最近は主にpython, C/C++, Perl、VBA
たまに MATLAB, Skill(Lispの一種), Javascript, VB, R, かつてFortran、javascript
趣味でかじった程度が Haskell, SM/L, Racket, OpenDylan
ほか
そいや最近Javaの案件もやった。
826デフォルトの名無しさん
2019/10/02(水) 21:36:20.94ID:gSiaZ46v827デフォルトの名無しさん
2019/10/02(水) 21:37:04.63ID:gSiaZ46v MATLABで金もらえる仕事ってどこで何やってんだ?!
828デフォルトの名無しさん
2019/10/02(水) 21:40:24.98ID:Ew8RFt8B829デフォルトの名無しさん
2019/10/02(水) 21:41:37.18ID:2Yo9PRwa >>825
javascript二回書いちゃった。
あとPHP, assembler, 一部CPUの機械語などもやってた
開発対象はかいつまむと
主にエンプラの統計解析DB、機械学習、製造工程管理、
並列シミュレーション(非線形構造、原始・分子軌道、プロセス)、CAGD, モデルベース、
組み込みも少々、R関係、ロボット関係、IoT、Edge など
javascript二回書いちゃった。
あとPHP, assembler, 一部CPUの機械語などもやってた
開発対象はかいつまむと
主にエンプラの統計解析DB、機械学習、製造工程管理、
並列シミュレーション(非線形構造、原始・分子軌道、プロセス)、CAGD, モデルベース、
組み込みも少々、R関係、ロボット関係、IoT、Edge など
830デフォルトの名無しさん
2019/10/02(水) 21:57:33.48ID:2Yo9PRwa 今までかかわった開発で規模の大きかったソフトは一千万行のLispプログラムの拡張
二番目が35万行のFortranで書いた数値シミュレーション×二件、20万stepC/C++/FortanのCADソフト
最近プロマネやっている案件がJava10万行+サービス部がC16万stepの移植、検証
他の案件の規模は高々数万〜10万stepくらいだったかな。
自分自身で沢山CDした言語はCが40万step以上もっとかも、Fortranが10万step以上かもっと、
python, perl, C++ がそれぞれ2〜3万step程度、Javaなど他の言語は1万step未満だと思う
二番目が35万行のFortranで書いた数値シミュレーション×二件、20万stepC/C++/FortanのCADソフト
最近プロマネやっている案件がJava10万行+サービス部がC16万stepの移植、検証
他の案件の規模は高々数万〜10万stepくらいだったかな。
自分自身で沢山CDした言語はCが40万step以上もっとかも、Fortranが10万step以上かもっと、
python, perl, C++ がそれぞれ2〜3万step程度、Javaなど他の言語は1万step未満だと思う
831デフォルトの名無しさん
2019/10/02(水) 21:57:58.98ID:WQvlnYHg832デフォルトの名無しさん
2019/10/02(水) 22:00:40.29ID:Ew8RFt8B833デフォルトの名無しさん
2019/10/02(水) 22:01:51.56ID:2Yo9PRwa >>830
このJava10万stepがオブジェクト指向の悪い面が思いっきり出ていて最悪のコードで、
移植拡張しようにもJava勉強してきた若い人の手におえなくて、仕方ない
俺はjavaやらないんだけれど、なくなく自分でじきじきにプログラム構造解析して移植、拡張した。
このJava10万stepがオブジェクト指向の悪い面が思いっきり出ていて最悪のコードで、
移植拡張しようにもJava勉強してきた若い人の手におえなくて、仕方ない
俺はjavaやらないんだけれど、なくなく自分でじきじきにプログラム構造解析して移植、拡張した。
834デフォルトの名無しさん
2019/10/02(水) 22:05:16.14ID:gSiaZ46v どこがだめだったん?
835デフォルトの名無しさん
2019/10/02(水) 22:30:26.61ID:2Yo9PRwa >>831
SmalltalkやC++などはストラウプの1.2の出たかなり昔から断続的に勉強してきたし、
自分自身プログラミングは若い頃から得意で(息をするようにというのは誇張だけど)自然にすらすら書ける方だと思っていたけど
そういう言語のオブジェクト指向の機能を使って開発したときに、プログラムを構成する手段として
表現しにくいなーという実感が拭い去れなくて、疑問視するようになっていた違和感がまず下地にある。
そこにネットバブルのときにJavaのオブジェクト指向が流行して、だんだん工学的な視点から外れ話が広がり、
アクセス制限してgetter/setterカプセル化だ、継承で抽象化だw、デザパタのレビューだシングルトンで
グローバルインスタンスはべんりだw、ダイナミックにnew/deleteして動的だ、機能強度の弱い
SN比の低いmetod callを各階層上から下まで行ったりきたりしてに状態管理やってんだかなんだかわかりにくいから
シケンス図だ、UMLの資格取得だ、CMMIだって、もう都市伝説みたいな科学的根拠のない話に
どんどんずれて行って、それだけならまぁ笑い話で勝手にやってくれりゃ良かったんだけれど、
それに触発されたアホがソフトウエア開発の基礎も勉強せずに、都市伝説の宣教師みたいになって
長久にプログラムすら組めないのに開発者の方法論にクチ挟んで屁理屈見たいな批判言ったり、
免疫のない若いエンジニアをたぶらかして結構流行してしまって、その結果ソフト工学的観点からみて
まずいつくりのグチャグチャのコードが量産されてしまい、実害があると実感にいたった
一見理解しやすく説明され一度はやってしまったものは、もう一人歩きが停まらなくなって
軌道修正できない段階にはいっているんだと思う
SmalltalkやC++などはストラウプの1.2の出たかなり昔から断続的に勉強してきたし、
自分自身プログラミングは若い頃から得意で(息をするようにというのは誇張だけど)自然にすらすら書ける方だと思っていたけど
そういう言語のオブジェクト指向の機能を使って開発したときに、プログラムを構成する手段として
表現しにくいなーという実感が拭い去れなくて、疑問視するようになっていた違和感がまず下地にある。
そこにネットバブルのときにJavaのオブジェクト指向が流行して、だんだん工学的な視点から外れ話が広がり、
アクセス制限してgetter/setterカプセル化だ、継承で抽象化だw、デザパタのレビューだシングルトンで
グローバルインスタンスはべんりだw、ダイナミックにnew/deleteして動的だ、機能強度の弱い
SN比の低いmetod callを各階層上から下まで行ったりきたりしてに状態管理やってんだかなんだかわかりにくいから
シケンス図だ、UMLの資格取得だ、CMMIだって、もう都市伝説みたいな科学的根拠のない話に
どんどんずれて行って、それだけならまぁ笑い話で勝手にやってくれりゃ良かったんだけれど、
それに触発されたアホがソフトウエア開発の基礎も勉強せずに、都市伝説の宣教師みたいになって
長久にプログラムすら組めないのに開発者の方法論にクチ挟んで屁理屈見たいな批判言ったり、
免疫のない若いエンジニアをたぶらかして結構流行してしまって、その結果ソフト工学的観点からみて
まずいつくりのグチャグチャのコードが量産されてしまい、実害があると実感にいたった
一見理解しやすく説明され一度はやってしまったものは、もう一人歩きが停まらなくなって
軌道修正できない段階にはいっているんだと思う
836デフォルトの名無しさん
2019/10/02(水) 22:34:33.44ID:Ew8RFt8B >>835
>一見理解しやすく説明され一度はやってしまったものは、もう一人歩きが停まらなくなって
>軌道修正できない段階にはいっているんだと思う
では聞くが、「チンポがシコシコする」という日本語表現は、文法的に正しいのだろうか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
>一見理解しやすく説明され一度はやってしまったものは、もう一人歩きが停まらなくなって
>軌道修正できない段階にはいっているんだと思う
では聞くが、「チンポがシコシコする」という日本語表現は、文法的に正しいのだろうか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
837デフォルトの名無しさん
2019/10/02(水) 22:37:26.38ID:2Yo9PRwa 手メコっていうくらいだから日本語としての主語は手である。
お前のチンポは皮で窒息して既に死んでいる。
以上
お前のチンポは皮で窒息して既に死んでいる。
以上
838デフォルトの名無しさん
2019/10/02(水) 23:11:48.77ID:gSiaZ46v だめだ
頭と認識がぐちゃぐちゃで話にならんタイプだ
かかわったプロジェクトの行数以外のこともちっとは整理しる
頭と認識がぐちゃぐちゃで話にならんタイプだ
かかわったプロジェクトの行数以外のこともちっとは整理しる
839デフォルトの名無しさん
2019/10/02(水) 23:16:33.19ID:9qRss58O >>835
なるほど勉強になります
なるほど勉強になります
840デフォルトの名無しさん
2019/10/02(水) 23:50:01.51ID:swYdyz8H841デフォルトの名無しさん
2019/10/03(木) 00:07:51.95ID:jt7Jxpem コネでか
842デフォルトの名無しさん
2019/10/03(木) 00:12:27.83ID:yTySnl0p まさかコネでソフトはできません
843デフォルトの名無しさん
2019/10/03(木) 00:16:28.40ID:jt7Jxpem じゃあガチガチってなんだ
844デフォルトの名無しさん
2019/10/03(木) 00:20:29.46ID:yTySnl0p 関係が強固で一見さんが付け入る隙のないさま
言われなきゃ分からないのかよ
言われなきゃ分からないのかよ
845デフォルトの名無しさん
2019/10/03(木) 00:21:05.22ID:yTySnl0p846デフォルトの名無しさん
2019/10/03(木) 00:32:28.55ID:jt7Jxpem これおまえが書いたんか!?
847デフォルトの名無しさん
2019/10/03(木) 00:37:09.38ID:yTySnl0p848デフォルトの名無しさん
2019/10/03(木) 10:17:18.15ID:fxIuY6tL >>835
オブジェクト指向以前に、階層化の考え方があったと思うが...
オブジェクト指向は階層化と組み合わせると下位階層のデバイスドライバやハードアウェアとの責務分割が明確になる。
そして、上位階層の開発をする人は、それらの内部的な振る舞いを全く意識しないで開発できるようになるのだから、工学的な話が無くなるのは当然と言えば当然だと思うよ。
コンピューターの仕組みに翻弄されて本当に実現したいものを実現できませんでした。を避けたい人がオブジェクト指向を採用するわけだし。
ただ単に、分割するだけなら階層化の考え方だけで充分だが、
オブジェクト指向以前に、階層化の考え方があったと思うが...
オブジェクト指向は階層化と組み合わせると下位階層のデバイスドライバやハードアウェアとの責務分割が明確になる。
そして、上位階層の開発をする人は、それらの内部的な振る舞いを全く意識しないで開発できるようになるのだから、工学的な話が無くなるのは当然と言えば当然だと思うよ。
コンピューターの仕組みに翻弄されて本当に実現したいものを実現できませんでした。を避けたい人がオブジェクト指向を採用するわけだし。
ただ単に、分割するだけなら階層化の考え方だけで充分だが、
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 南海トラフ直しといた
- 女って金とイケメンしか見てないよな
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 高市総理、睡眠時間30分😢
- フェリーの魅力を語ろう。
- 【速報】高市早苗、起床 [779938112]
