オブジェクト指向を教えてくれ!★2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/04/27(火) 15:02:28.94ID:mH9VXFld
オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。

・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)

・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)

・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?

・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
308デフォルトの名無しさん
垢版 |
2021/08/05(木) 12:21:20.10ID:tb55kYVB
人々が拘っているものがそこにある、例えばコペルニクス以前に『宇宙』は無かった!

269 デフォルトの名無しさん sage 2021/08/04(水) 00:58:17.26 ID:fygjemgo
オブジェクト指向の本質とは何か、とかさすがに青臭過ぎると思って
何も答えなかったけど、そういえば最近偶然面白い記事を発見したことを思い出した。
https://news.mynavi.jp/article/komugi-100/

割と真面目な話、オブジェクト指向の本質はこの記事にも出てくる「色即是空」だと思う。
この記事を書いた人もたぶんそう思ってるから書いたんだろう。

「色」(オブジェクト)なんて人間の認識の産物であり、バーチャルな仮構に過ぎないのに
なんでそんな物を考えるのか?

それは人間の思考が「色」に注目して作動するようにできているからとしかいいようがない。
309デフォルトの名無しさん
垢版 |
2021/08/05(木) 12:36:01.16ID:vYqoxD8p
この世の全ては『信憑性』で成り立っているのであり、

>「色」(オブジェクト)なんて人間の認識の産物であり、バーチャルな仮構に過ぎないのに

例えば『通貨』は信憑性を失えばただの紙くず!

>人格を『おちんちんに乗っ取られる時間』

(中学入学当時の思い出)
女子の着換えブルマ姿に欲情してチンポがシコシコしてたらケツの穴が緩んでおならブー、慌ててトイレに
駆け込んでセンズリとウンコを済ませて教室に帰ると、みんなが臭い臭い屁をコイタのは誰だと騒いでた。
310デフォルトの名無しさん
垢版 |
2021/08/05(木) 12:43:43.42ID:vYqoxD8p
>>274
>それはどのプログラミングパラダイムにも固有の振る舞いがあるから

プログラミングパラダイムに関係無く、

>認識の産物云々はオブジェクト指向固有の説明にすらなってない。

オブジェクト指向は元から俺の股間に付いているということだな!

>人格を『おちんちんに乗っ取られる時間』

>>212
>この場合の合成は何かというと、オブジェクトを、そのオブジェクトができる行動の組み合わせとして捉える考え方です。

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
311デフォルトの名無しさん
垢版 |
2021/08/05(木) 12:47:03.85ID:vYqoxD8p
>>260
>自動変数の存在意義をこのスレで質問することは適切ですか?

自動変数
テトリス(コンティニュー不可)
静的変数
スーパーマリオ(コンティニュー可能)
312デフォルトの名無しさん
垢版 |
2021/08/05(木) 12:49:28.31ID:vYqoxD8p
>>258
>属性と操作をきっちり定義することで、内部機能と外部機能を明確にすることが本質的に大切であって、

例えばオシッコするときに、前立腺とか外尿道括約筋とかを意識する必要無いからな。
313デフォルトの名無しさん
垢版 |
2021/08/05(木) 13:26:58.04ID:vYqoxD8p
>>240
>まともな人達が作った製品のUIがシンプルを指向するのは、
>人間の認識力には限界があって、一般に多くの物の中から今自分が必要としているものを
>見つける類の作業は得意じゃないから。

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
2021/08/05(木) 16:45:00.81ID:X3a/pnmu
>>277
publicキチガイ死ね
315デフォルトの名無しさん
垢版 |
2021/08/05(木) 16:52:02.36ID:vYqoxD8p
オブジェクト指向の継承は再定義とも言い換えられ、

>>304
>脳クラスを継承する唯一の器官じゃないか?

クリントンも評判悪くなって、『クリントンの再定義』を強いられたのだ!

>クリントンの「不適切な関係」
2021/08/05(木) 18:28:03.41ID:kWELkfXP
多重インヘリットやポリモやデザパタがどうのよりも、OOPを駆使したアプリのフォルダー構成に興味あるな。
OOPなんて使ってなんぼなんで、目的実現したアプリのフォルダー構成が一番の刺激。
317デフォルトの名無しさん
垢版 |
2021/08/05(木) 18:35:15.61ID:vYqoxD8p
>>316
>多重インヘリットやポリモやデザパタがどうのよりも、OOPを駆使したアプリのフォルダー構成に興味あるな。

プログラミングはググってコピペであり、日本の小学校ではプログラミングを教えられる教師が少ないだろうし、
わからなければ先生が答えを教えてくれるだろう
という環境はプログラミングが上手になるやり方ではない
というのは
そうなのかー英語と一緒だー て感じだった
(私が思うに プログラミングって1問1答ではないし 無数のやり方から自分で探し組み立て…というキモが教えられる気がしないし…)
https://honto.jp/netstore/pd-review_0629471500.html
318デフォルトの名無しさん
垢版 |
2021/08/05(木) 18:47:37.20ID:vYqoxD8p
車輪の再発明とは
「あっ、それを作っちゃったの?うん……努力は認めるよ……。でもね、昔、それと同じものを作った人がいてさ。それは、もう世の中にあるんだよね」のこと。
もう少し真面目ぶって書くと
すでに世の中にあって一般的に知られている物(、技術、考え方など)を、もう一度、一から生み出すこと
です。
https://wa3.i-3-i.info/word16180.html
2021/08/05(木) 19:00:57.01ID:KLGT5upQ
オブジェクト指向の本質は上で誰か既に言ってたような気がするけど
データと関数がいっしょになってることだと思うわ
そんで、それをデータとも関数とも違う(?)
オブジェクトという単位で扱っていくことだと思うわ

それが、Smalltalkとか一部の環境で動いてるとき
すっごい映えて見えて、さぞかしよかったんやろなあ
オブジェクトからメソッドやフィールドがズラズラ生えてるような操作感覚が
2021/08/05(木) 19:13:15.12ID:QydRqGe9
オブジェクトをどう定義するとか業務に拠るのかなと思うけどどうだろ
2021/08/05(木) 19:38:49.25ID:1MGTqLcC
オブジェクト指向自体人間が普通にやってる
考え方だからアイディア自体は普通
それを実現するプログラミング言語を作った
というのが偉業
2021/08/05(木) 19:55:18.93ID:kWELkfXP
最近は、Domain、Infrastructure、Prism使ったView ViewModelのフォルダー構成が多いみたいね。
他にInterface(Repository)中心のDDD構成ってあるのかしらん?
SQL関係のフォルダーを見てみたいわ。
てか、DDD以外のアーキを見てみたい。
323デフォルトの名無しさん
垢版 |
2021/08/07(土) 15:46:28.72ID:SUwyDSs2
>>319
データはデータベースにおいてあるのではなく?
324デフォルトの名無しさん
垢版 |
2021/08/08(日) 16:03:29.17ID:b5LDdPK/
 .     .,x;Ρ.                  .  r'ニ、               
 ..  с⌒l^     г、     .rョ   .__|{_,..\ヒノ.     .rュ   _  n′
 ...、.=ニ.〉..、  `ゝ'    ノ/.   `¬¬;冖'''′     ,xヒ'.,コ;-、 ´\ `' 
 .´~ ̄⌒"|.Г~~`        ノ/     ィ  |_| -、     Υ//.  」.|  ヘヽ、
     、//          ノァ′    l.}  }|. `('x,    、/j'′ .ノン.    `'´
    ,ンシ´.      ⊂ニニ-'′.    tノ  、|.|   \ .  ~  └`       
 ...  `´.                      `′    ~′             
 ..   ∩...                    .          ,、.._        
 .   Л..        Lニニニ⊃..      |.|          `^''''¬¬-ニr   
    」{.                     l|.                    
    !イ.     ;、               И     ,.n              
    V.    //.    .-..、_  _....    Y-   ィン´..    `〜ニ;-=ィ'√  
    ´`:-コェz:シ      ´`'. ̄-'⌒.       ̄ ̄ ̄           ̄.    
325デフォルトの名無しさん
垢版 |
2021/08/08(日) 16:17:33.68ID:OPVfLitN
>>308
> 割と真面目な話、オブジェクト指向の本質はこの記事にも出てくる
>「色即是空」だと思う。
いちおう、「色」というのは「実在」「存在物」という話であり、
「空」というのは「(相互)作用」だと云われている
(小原弘万『般若心経いろはがるた』より)。
それを考えると、オブジェクトは「色」であり、メッセージングが「空」
ということになって、「どこからも参照されていないオブジェクトは
存在しないのと同じ」だから GC で解放されちゃう、という
フツーにわかりやすい発想ではないかと思う。
326デフォルトの名無しさん
垢版 |
2021/08/08(日) 16:27:05.38ID:9M/UErff
頭がバグってるとしか思えないけど
2021/08/08(日) 17:04:44.88ID:cj6zZHQI
>>325
URLが貼ってある記事をちゃんと読んだ方がいいよw

色というのは簡単に言えば人間にしか見えないものだ。
記事にある四季や左右の概念がそうだし、国家や社会や法律や企業(法人)がそう。

それらは観念の世界にしか存在しないので、
観念を持たない犬猫には見えない。

オブジェクト指向のオブジェクトも同じこと。
何度も言ってるキューなんて認識の産物であり観念の世界にしか存在しない。
2021/08/09(月) 10:51:07.77ID:5Oj13b1X
犬猫はプログラムなんて組まないからなあ
当たり前だろw
329デフォルトの名無しさん
垢版 |
2021/08/10(火) 20:50:04.90ID:tjfOG/XT
481 名無しかましてよかですか? sage 2021/08/05(木) 20:31:41.90 ID:/GXfnijE
>>480
小林信者って動詞と形容詞の区別すらつかないのか
チンポがシコシコするなんて言わねえだろアホ
尊師から末端信者までマジでバカしかいねえ
330デフォルトの名無しさん
垢版 |
2021/08/10(火) 23:04:32.42ID:A4Dnq6cA
あわしろ氏は解釈の問題だと言ってた。
331デフォルトの名無しさん
垢版 |
2021/08/11(水) 20:26:07.60ID:J6myrgAB
>>327
難しく考えすぎ。
どこからも参照されないメモリ領域に残っているデータは
ただのゴミクズなので、動的なメモリ管理をしている
言語だと回収されるだけ。
「当該のプログラムが参照する」という相互作用が「空(関係/相互作用)」で、
「当該の領域に記録されているデータ」が「色(実体)」。
2021/08/12(木) 14:43:46.54ID:Cjb3AJ9v
>>331
アホだ。難しく考えすぎなのは君の方である。
少なくとも俺には君が何を言っているのかさっぱり理解できない(笑)
賭けてもいいが、君自身自分が何を言ってるのか理解してやしないだろw

こちらは具体例を挙げて色とは観念の世界にのみ存在する「もの」
のことだと言っている。
こんなの何が難しいのだ?10才の子供でも分かるよw
2021/08/12(木) 14:50:14.65ID:Cjb3AJ9v
っていうか、21世紀にもなってオブジェクト指向の本質が分からんとか言ってるタイプの人が
どういう人だかよく分かるよねw

オブジェクト指向の意味するところなんて何も難しくない。
当たり前だ、オブジェクト指向が重要なのはそれが人間の思考に親和的だからなんだから。
2021/08/12(木) 16:17:40.25ID:GeyAERvY
>>333
ほう、では聞くがオブジェクト指向の本質とは何かね
335デフォルトの名無しさん
垢版 |
2021/08/12(木) 16:26:36.64ID:Jv7mG6fo
>>334
>ほう、では聞くがオブジェクト指向の本質とは何かね

チンポ【が】シコシコする、まさにこの発想ね!
2021/08/12(木) 17:32:06.45ID:GeyAERvY
>>335
黙れぶっ殺すぞ
2021/08/12(木) 17:40:52.13ID:GeyAERvY
二度と俺の前で下品なことを言うな、不愉快極まりない、こっちは真面目に議論してるんだバカ野郎が
2021/08/12(木) 17:41:48.29ID:GeyAERvY
あーチンコ痒いわーおすすめの塗り薬教えて
2021/08/12(木) 17:43:48.58ID:LQwXlujn
NGワード:本質
2021/08/12(木) 17:52:29.39ID:GeyAERvY
>>333
オブジェクト指向の本質とチンチンの痒み止めは何か答えよ
341デフォルトの名無しさん
垢版 |
2021/08/12(木) 18:19:06.32ID:HkfEGEyR
メモリだとかポインタだとか参照だとか、
VMやインタプリタ的には、
変数も配列もオブジェクトの最初と最後の
アドレスを、値が同じでもその二つに分けて
常に管理している
生存は上のネストに使えない場合のみ
ドット演算子やアロー演算子は、
元オブジェクトと要素オブジェクトを繋ぐのみ
メモリ管理的には元と要素の二つの管理だから
上のオブジェクト管理技術に似ている、または
同じ
2021/08/12(木) 20:11:11.45ID:V8+unqW1
>>334
礼の用は和を貴しと為す
343Mb
垢版 |
2021/08/12(木) 21:06:20.30ID:a2nsWCdu
>>332
> 賭けてもいいが、君自身自分が何を言ってるのか理解してやしないだろw
おれが理解しているのかどうかを誰が判定するのか知らないが、
英語だと「空」は「Relations(関係・相関)」で、
実在は「オブジェクト」以外に「エンティティ」「サブスタンディングス」
という表現がある。
データベースを使うような大きなプロジェクトだと、「ER図」と
いうのが出てくるので、「おれはそういうのは認めない!」とか
喚いていると、仕事をしくじると思うぞ。
344デフォルトの名無しさん
垢版 |
2021/08/12(木) 21:14:29.57ID:a2nsWCdu
>>342
> 礼の用は和を貴しと為す
「和志を貴ぶ」のほうを推したいな。
「医心房・房内編」で、「和志(ラポール)」「安心(リラックス)」
「定気(「やる/される」という心理的な構え)」が重要だ、と
説かれている。
345デフォルトの名無しさん
垢版 |
2021/08/12(木) 21:17:27.64ID:a2nsWCdu
つーかエロゲの広告が画面に出てると、
娘の前で開きづらいんだよなぁ(T_T)。
2021/08/13(金) 10:33:07.33ID:UQXwRNun
チンポをシコシコするのか
チンポがシコシコするのか
かわエロ後輩に聞いてみたい
347デフォルトの名無しさん
垢版 |
2021/08/13(金) 10:44:08.03ID:sJTiJVnI
>>346
チンポは自我を超えて自我乗っ取りパワーを有している!

>意志の大きさとかではなく、生理と同じように『おちんちん乗っ取りパワー』にも重さがある。
2021/08/13(金) 11:51:11.58ID:pIseU7da
オブジッ上
349デフォルトの名無しさん
垢版 |
2021/08/13(金) 19:54:17.39ID:qYxunMq5
>>346
珍宝とみるか魔羅とみるかという観念の違いだな。
「オブジェクト志向言語」というネーミングが失敗だった、
という意見もあって、「メッセージング主導言語」と
名づけておけばよかった、という意見もある。
350デフォルトの名無しさん
垢版 |
2021/08/13(金) 20:11:48.49ID:qYxunMq5
>>341
> メモリ管理的には元と要素の二つの管理だから
> 上のオブジェクト管理技術に似ている、または
> 同じ
確かにそうだ。
ただ、オブジェクト志向だと、「実行時にチェックしてくれる」という点で、
(コンピュータ・リソースに関しては負担になるものの)
>>333
が言うように、
> オブジェクト指向が重要なのはそれが人間の思考に親和的だからなんだから。
という点で、プログラムを書くときに楽だ、というのが大きいと思う。
昔は「コンピュータ・リソース」が貴重だったので
「ヒューマン・リソース(人的資源)」がないがしろにされていたワケだが、
いまどきはコンピュータ・リソースが余りまくっていて
人的リソースが不足してて困っているので、
「コンピュータ・リソースをじゃぶじゃぶ使って、人間(プログラマ)は
楽しよう」というのがオブジェクト志向なのだと思う。
机上デバッグに三日使うよりは、テスト実行を千回やったほうが楽だ、
っつーのが、根幹にあると思う。
351デフォルトの名無しさん
垢版 |
2021/08/14(土) 13:31:37.12ID:Kjr+S4As
真面目な話、
「オブジェクトチンポシコシコ隔離病棟」
https://mevius.5ch.net/test/read.cgi/tech/1619499726/l50)で、
「何が当該人物をそうさせたのか?」を議論して、
メンヘラ板かなんかに送り出す(かつ、精神科の治療を受けさせる)
のが誠実な対応ではないかと思うんだがどうだろうか。
オブジェクトは、
クラス定義というものがあり、
・静的に定義されたもの
と、
・new されたもの
があって、「メッセージを投げると、内部状態が
変わる∨内部状態のメッセージが返ってくる∨
連鎖的に他のクラスやオブジェクトにメッセージを投げて、
new したりメッセージングしたりということをする」ので、
C 言語のグローバル変数みたいに「何がどこに影響を与えるか
わからない」ことを防ぐために内部状態の隠蔽をしているだけの
シンプルな概念だと思うが。
352デフォルトの名無しさん
垢版 |
2021/08/14(土) 22:14:14.04ID:El2A9tuO
チンポがシコシコするぜ!
353デフォルトの名無しさん
垢版 |
2021/08/14(土) 22:29:27.59ID:Kjr+S4As
>>352
精しくはこちら
『オブジェクトチンポシコシコ隔離病棟』
https://mevius.5ch.net/test/read.cgi/tech/1619499726/l50
354デフォルトの名無しさん
垢版 |
2021/08/16(月) 21:09:10.68ID:v41p+Te1
よって我々はモノに着目している場合ではない。機能に着目すべきなのだ。インターフェイスとは機能を
ユーザー側の視点から記述したものだ。これによって機能を構成するものの中でユーザーが知る必要のない情報(実装)を隠蔽するのである。
各コンポーネントが自分が知る必要のあることだけを知ることで、現代の複雑かつ大規模なソフトウェア開発が可能になるのである。
https://qiita.com/hush/items/33da14ddf45f45b5ef65

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
2021/08/16(月) 21:44:27.52ID:Hs68msvN
>>349
OOはオブジェクトを整理する言語かと思ってた
メッセージジング主導言語ってどういうことだろ
356デフォルトの名無しさん
垢版 |
2021/08/17(火) 13:27:55.36ID:phcnfjEw
>>355
相手がいなけりゃ投げられないだろ?
動的な class は実体がなければ投げられないので、
まず new して「クラス定義という設計図」から、
「実際に動く実体としてのオブジェクト」になってから
メッセージを投げるんだよ。
こんなもん、平安時代の陰陽師だって知ってたぞ。
まず「式(クラス定義)」に従って
「形代(かたしろ)」に呪(リソース)を入れて、
そうやってできた「式神(使役神)」を
「打つ」(システム内で利用可能にする)だけだ。
難しいこっちゃない。冷静に考えれば、
だいたい同じ結論に至ると思う。
もちろん解釈には違いはあるだろうが、
それは「他人にどう説明するか」の話であって、
最終的には「どういうふうにコードで表現するか?」の
話でしかない。
「とりあえず動けば勝ち」なんだから。
2021/08/17(火) 13:40:25.96ID:RFnENn6b
>>356
思い出した。

こういう衒学趣味丸出しの意味不明な文章に酔ってる奴、
昔のJava界隈にはいっぱいいたねw
2021/08/17(火) 21:37:33.31ID:FOI2vCqX
デフォルトコンストラクタのありがたい例って何ですか?
参照の場所だけ準備して何もしないとうれしいという場面が思いつかないのですが
359デフォルトの名無しさん
垢版 |
2021/08/17(火) 22:01:21.06ID:PmoLxbwT
デフォルトコンストラクタがない時って、動作できるか?
2021/08/18(水) 00:07:38.92ID:T3eK7ore
インターフェースの空っぽメソッド実装とかがようわからん
361デフォルトの名無しさん
垢版 |
2021/08/18(水) 11:22:29.52ID:wv2V9IdH
>>360
インターフェイスとは機能をユーザー側の視点から記述したもので、チンポはチンポということ。
362デフォルトの名無しさん
垢版 |
2021/08/18(水) 13:19:08.95ID:wv2V9IdH
『チンポ』という三文字はそれだけでは無意味たが、チンポがオシッコを出したり止めたり、
チンポがシコシコして人格をおちんちんに乗っ取られてしまったりと、そこからあらゆる意味が生じる。
363デフォルトの名無しさん
垢版 |
2021/08/18(水) 13:23:08.65ID:wv2V9IdH
>>357
メッセージングとは具体例を挙げれば、トイレでチンポからオシッコを出したりオシッコを止めたりすること。
364デフォルトの名無しさん
垢版 |
2021/08/18(水) 16:37:12.37ID:XbsD54oj
>>360
言語によるけど、Java だと多重継承ができないので、
「こういうメッセージが来たら、こういう型の値を
返せ」という約束事がインタフェース。
だから、実装はしなくていい。
抽象クラスだと、複数のインタフェースに対応してて、
とはいえデフォルト実装とかはサボッているので、
継承して実クラスを定義しようと思うと
足りないメソッドは実装しないといけない。
2021/08/18(水) 17:34:59.49ID:mq7j6UtS
>>360
分からないのはたぶん意味論(何の意味があるか?)を考えているから。
意味論を考えるのは無意味だ。

エンジニアが考えるべきなのは「何に使えるか」
それを知るのは実際の用例を見るのが100の説明を聞くより早い。
実例を見ずにそれを理解できるのは特別頭がいい人だけ
366デフォルトの名無しさん
垢版 |
2021/08/18(水) 18:38:28.79ID:NT9VogPV
プログラムの意味論はプログラムと数学の関係を研究するものだよ
なんの意味があるかを意味論とはいわないよ
367360
垢版 |
2021/08/18(水) 20:46:53.20ID:Sk2jJRm7
>>361
あらがとう排尿機能とか射精機能かな

>>364
多重継承とか抽象クラスとかまだまだ意味不

>>365
どう使えるかというか、コントローラーのボタンとか
ユーザーインターフェースとしてインプリメントして使いたいんだけど、書き方が分からない。
368デフォルトの名無しさん
垢版 |
2021/08/19(木) 08:42:33.53ID:qaty0bPV
>>367
> 多重継承とか抽象クラスとかまだまだ意味不
オブジェクト志向は実装レベルの話が主なので、
実行順序依存なのかイベント駆動なのかという
ところから考えたほうがいいと思う。
> どう使えるかというか、コントローラーのボタンとか
> ユーザーインターフェースとしてインプリメントして使いたいんだけど、
> 書き方が分からない。
言語によるが、そういうイベント駆動の場合、
各機能がバラバラにあって全体の流れがわかりづらい。
ペーパープロトタイピング(要するにお絵描き)で、
個々のアイテムにどういう操作が行われたときに
何をするかを整理し、
「いま、何がどうなっているか」(状態フラグ)を網羅し、
こふたつを表にして(「デシジョンテーブル」といって、
アセンブラや C で制禦系のプログラムを書く時代からあった古い手法だ)、
それを参照しながら分岐条件の先を埋めてゆくというのが
うちら年寄りの手法だ。
最近になってもっと楽なコンセプトとかツールがあるかもしれないので、
開発環境に詳しい人に話を聞いてみるのもいいかもしれない。
セガのゲームプログラマーだった平山尚さんの本なんかは
評判はいいらしいが、やたら厚いんだよな。
途中まで読んだが「本を読むよりコードを漁ったほうが楽そうだ」と
思って諦めた。
2021/08/19(木) 15:48:49.10ID:rGMWolva
平山尚のセガ本は、
C++・オブジェクト指向・3D プログラミングの3つを、1冊で説明しようとした本で、
日本の賞も取ってるけど、

漏れら、10言語以上やってる者から言わせると、その試みは失敗している

例えば、概念・プログラミング自体を最初に、C++で学ぶ必要はない。
最初は、Ruby とか簡単な言語で学んでおいてから、C++へ転向した方が簡単

C++, 3Dも、個別の本で学ぶ方がよい。
セガ本は、3つとも中途半端で、勉強にはならない
370デフォルトの名無しさん
垢版 |
2021/08/19(木) 17:13:31.41ID:qaty0bPV
>>369
その
> セガ本は、3つとも中途半端で、勉強にはならない
つーのが問題なんだよなぁ。
昨今の若者に、Knuth の
『THE ART OF COMPUTER PROGRAMMING』から
はじめろ、つーのは無理がありそうだというのは
> 漏れら、10言語以上やってる者
の世代にしてみれば、ちょっと無理な気がする。
ジャッキー・チェンのカンフー映画の時代じゃ
ないからなぁ。
ミヤギさんじゃないけど、「えっくす・おん、えっくす:おふ。
しふと・いん、しふと・あうと。どんと・るっく、はんど!
るっく・おん、すくりーん!!」みたいなのは、
GUI や スマホ全盛の現代では、どうだろうかと思う。
キーボードが打てなくて辞めてく新人がいる時代だからなぁ ……
371デフォルトの名無しさん
垢版 |
2021/08/19(木) 17:16:45.10ID:qaty0bPV
スマン。
「ぶっちゃけ始めるのにいい言語て何 part6 」
https://mevius.5ch.net/test/read.cgi/tech/1628771431/
と、ごっちゃになっていた。
372369
垢版 |
2021/08/19(木) 18:23:01.55ID:rGMWolva
セガ本は、C++・オブジェクト指向・3D の3つを、1冊で説明しようとした、平山尚の自己満足。
こういう本で分かる人は、いない

小学生に、大学生の教科書をやらせているような感じ

小学生なら、Ruby とか簡単な所から、
ファイル操作・テキスト処理、オブジェクト指向などから始めなければ、無理

今まで、3つの事を1冊で学べる本は、世界中で無いよね。
だから、僕が書きました

と言うのは、単なる自己満足の発表会。
誰も、この本では学べない

小学生に教えるには、猿並みにものすごく簡単な所から、始めなければならない
373デフォルトの名無しさん
垢版 |
2021/08/19(木) 18:32:41.93ID:m3tJTxvg
>>372
>小学生に教えるには、猿並みにものすごく簡単な所から、始めなければならない

ならば「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?

チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。

オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。

違うか?

「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
374デフォルトの名無しさん
垢版 |
2021/08/19(木) 21:08:38.31ID:qaty0bPV
>>372
> C++・オブジェクト指向・3D の3つ
「その原理をウエイトレスに説明できないのであれば、
それはウエイトレスではなく、その原理に問題があるのだ」
アーネスト・ラザフォード。
すなわち、C++・オブジェクト志向・3DCGのうち、
少なくとも一つは間違っていると思われる。
2021/08/20(金) 00:11:47.52ID:Lkecw4GA
秀和システム『ゲームプログラマになる前に覚えておきたい技術』
買いましたし、お世話になるどころか、まだ作れてません

前半C++:コンピュータに司令を出す書き方を学ぶ
中盤オブジェクト指向:振る舞いとアルゴリズムの方法
後半3D:描き方見せ方、データ保存やエラー対策その他

で、Unityだと

まず3D仮想空間から始まって
あらゆる全てがゲームオブジェクトで成り立ち
C#のスクリプトでコンピュータに司令を出す方法を書きましょう
と逆を辿る
376デフォルトの名無しさん
垢版 |
2021/08/20(金) 00:58:19.30ID:yVpE+f82
オブジェクト指向は何度も出てるけど「人間側の便宜のために
できるだけロボットのように命令に従う”物“(オブジェクト)に
命令を与える型にしましょう」から始まってるから

・命令で動くオブジェクトを組み合わせて大きなものを組み立てる。
・オブジェクトの中ではどのように命令を処理しているか。

というまったく別のトップダウンとボトムアップのアプローチがあって
普通の形の(既存の)「プログラムの勉強」だと下からやって
「最近はオブジェクト指向というのもあります」で終わっちゃうんだよね。
ユニティとかSwiftPlayGroundとか「オブジェクト指向環境で始めるプログラミング」だと
環境で「オブジェクトがあります、命令を与えるとこうなります
命令は中でこう処理されています…」って上から下に教えてく形になるのだけど。
377デフォルトの名無しさん
垢版 |
2021/08/20(金) 17:25:45.17ID:T5ICWOLv
>>372
> 小学生に教えるには、猿並みにものすごく簡単な所から、始めなければならない
3DCGというのは、光学系(カメラのレンズとか)の設計に使われる
「光線追跡法」というものの逆の「視線追跡法」というのが使われていて、
そのモデリングには図形の論理演算とかメタボール・アルゴリズムとか
テクスチュア・マッピングとかが使われている。
このあたりから真面目に教えていたら、小学生にはなんも面白くない。
とはいえ小学生にも手軽に使える CG 作成ツールがあるかどうか、
という話にはなる。
だったら、LOGO のタートル・グラフィクスあたりからはじめるのも
ひとつのアプローチではないかと思う。
378デフォルトの名無しさん
垢版 |
2021/08/22(日) 07:54:20.75ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
379デフォルトの名無しさん
垢版 |
2021/08/22(日) 13:53:24.82ID:l91cVjvi
>>378
おまいは大川隆法の信者か wwww
380デフォルトの名無しさん
垢版 |
2021/09/05(日) 18:02:15.25ID:q6bsFI1P
https://mobile.twitter.com/migimagari42/status/1431666280969297925

ちん
@migimagari42
某食われるパンの替え歌で

勃起のちんぽが ちんちんちん♪
エッチな巨乳 ぶるるんるん♪
パイパン♡ ツルマン♡ズブ濡れマン♡
ちんぽが大好き パンパンパン♡
アンアンかわいい 喘ぎ声♡
シコシコ擦るよ おちんぽを♡
チンポが ギンギン! たんじろう
それイけ♡ ぼくらの 杏子さん♪
https://twitter.com/5chan_nel (5ch newer account)
2021/09/06(月) 07:15:34.02ID:FfG+5nxw
まずは作業者というクラスを作る
そしてチンコというクラスを作る
作業者とチンコはメッセージをやり取りをしながら業務を行う
382デフォルトの名無しさん
垢版 |
2021/09/23(木) 11:55:02.38ID:1TSTqED5
クラスAのプロパティをクラスBから参照するときに
どのオブジェクト指向言語でもクラスAを事前に実体化する必要がありますか。

その場合、クラスBのブロック内で実体化を行うステートメントを
記述するのは正しいやり方でしょうか。
2021/09/23(木) 14:42:18.17ID:SEFMI9R1
クラスライブラリいくつ覚えれば仕事になるの?
2021/09/23(木) 15:06:24.74ID:+1CY5Q9Y
使うやつ全部
2021/09/23(木) 15:29:01.45ID:YlCU9yCm
>>382
>クラスAを事前に実体化する必要がありますか。
クラスAとクラスBの依存関係の種類次第

Bのインスタンスの生存期間とは関係なくAのインスタンスが独立して存在していて
且つBのインスタンスは常に有効なAのインスタンスへの参照が必要な場合は
Aのインスタンスを事前に生成する必要がある
2021/09/24(金) 04:27:32.27ID:5RECe5Rp
>>382
どうせネタだろうけど。

そんなの考えるだけ無駄。
そもそも「プロパティにアクセスするためにインスタンス化する」
などという状況はありえない。

そんなのは売上高を知るために企業を興すと言っているのと同じアホな倒錯だw
2021/09/24(金) 11:00:46.86ID:Al9wBdUS
>「プロパティにアクセスするためにインスタンス化する」
誰も言ってないことを持ち出して意味のない批判をするのは倒錯したアホw
2021/09/24(金) 20:21:22.48ID:S1b7rQAS
>>385
こういう依存関係の感覚って1年生で身に付けるべきものだと思うんだけど
数年やってても身についてない人多いよね
2021/09/25(土) 23:05:55.03ID:eMNy88mX
>>383
自前で作ってもええんやで
390デフォルトの名無しさん
垢版 |
2021/09/28(火) 22:31:02.43ID:mkxQja70
>>382
クラスとはちょっと違うかも知れないけど、VBAは標準モジュールというのがあって、それで作成すればインスタンスを作成する必要がない。というかインスタンスが作成出来ない。

あと、こんな例出さなくても
VB.NetなんかもSharedで宣言した奴は別にインスタンスを作成しなくても使えるんじゃなかったっけ?
2021/09/28(火) 23:06:07.60ID:CtuWEcAo
皆さん類(class)と実例(instance)の違いをちゃんと把握しましょう
392デフォルトの名無しさん
垢版 |
2021/10/03(日) 07:15:15.05ID:FX/m517v
AddAplusB(A,B)

は共有のサブルーチンで一個あってそこにAとBを送れば戻り値が来るだけで
それをいろんなモジュールが使いまわすのか、それはPC内に一個あればいいのか
多くのネットワークからアクセス集中するから各所で必要なのか
それとも、これ自体が戻り値の数値を保持する機能を持っていて
ライフタイムの間、外から書き換えられては困るものなのか…などなど
「その言語の考え方」と「プログラムでの実装」で
サブルーチンだよ関数だよひな形クラスだよインスタンスだよが
入れ替わるのでそのあたりを掴んでおかないと大変なことに。
2021/10/04(月) 10:59:48.55ID:T6a47w3J
>>390
モジュールはC#で言うstatic class
394デフォルトの名無しさん
垢版 |
2021/10/20(水) 19:30:20.83ID:/lgW6vvi
YAGNI (You Ain't Gonna Need It) 直訳は「そんなモン要らんって!」
YAGNIの原則は「機能は実際に必要となるまでは追加しないのがよい」とすること。後で使うだろうという予測
の元に作っても、実際に使われるのはほんの一部。ソフトウェア実装において「予期しない変更」は常につい
てまわり、できるだけ設計をシンプルにするべき。現実の問題に集中して余計なモノを足さない。
それがヤーグニ。
https://jabba.cloud/20180119204314
395デフォルトの名無しさん
垢版 |
2021/10/20(水) 19:35:12.28ID:VyYhhIkP
ヤーグニは少尉だからそんなに偉くない。
396Mb
垢版 |
2021/10/21(木) 16:00:56.43ID:JKBkOCuC
オブジェクト・オリエンテッド言語は、
かつては「算体主導言語」と訳されていた。
本来ならば、「メッセージング」を基本にした
プログラミングにおけるパラダイム、という
コンセプトがあるんですけど ……
システム開発の現場で、いきなり
言われても困るよね?
2021/10/22(金) 03:20:48.16ID:OMPuRiy7
>>394
それは元々考えた人が何を意図していたかはともかく、
そういう風に教条主義的に考えるのも間違っていると思うよw

つまり、変更の可能性や拡張性なんか考えるな、と理解するのは間違っている。
そうではなく、コストを意識しろという意味だと理解した方がいい。

必要になる可能性が極めて低い変更に今高いコストを払うのも馬鹿だが、
今のちょっとの時間の節約のために普通にあり得る変更を想定しないのもやっぱり馬鹿だ
2021/10/22(金) 08:21:37.68ID:vM8ZVLKX
いやそれはそんなレベルの高い話では無いよ
> 余計なモノを足さない
だけが主張
> 普通にあり得る変更を想定しないのもやっぱり馬鹿
拡張性を考慮しなくて良いという話ではなくそれは当たり前とした上で
「求められても居ない蛇足を勝手に付けるな」という話
アレも要るかも知れない。コレも要るかも知れない。と、仕様や要求の無い機能をゴテゴテと盛り沢山にして使い勝手が悪くなり本末転倒みたいなバカな真似をしないでくれ。という主張
親切心も押し付けや考え無しでは仇となる
399デフォルトの名無しさん
垢版 |
2021/10/22(金) 13:33:36.08ID:Jk7oLMFs
>>398
>仕様や要求の無い機能をゴテゴテと盛り沢山にして使い勝手が悪くなり

【PC】「Chromebook」の世界出荷台数が前年同期比75%増--Canalys [ムヒタ★]
https://egg.5ch.net/test/read.cgi/bizplus/1627865731/

PCはChromebookに買い替えた。Windowsみたいに余計な機能が無くてシンプル。
400Mb
垢版 |
2021/10/22(金) 14:15:57.58ID:ti2XTd85
>>398
「KISS」コンセプトには賛成する。
「単純にしろ! 馬鹿者め!」っつーことだよな。
「キープ・イット・シンプル! ステューピッド」
というコンセプトには、基本的に(個人的には、
全面的に)同意する。
2021/10/22(金) 16:06:40.51ID:WVguHJg3
>>397
むしろお前さんみたいに変更の可能性や拡張性を教条主義的に言う奴が多いからYAGNIが言われるわけで…w
2021/10/23(土) 12:55:36.67ID:Vr2VQptT
ポリモーフィズムとか継承を使えているエンジニアなんて2割ぐらいしかいなくね?
このコードをコピペしてくださいとか、DIできてなくて一部システム変わるたびにコードも全部変わるとかザラでしょ
403Mb
垢版 |
2021/10/23(土) 13:11:01.27ID:sCVE0pd7
>>402
> ポリモーフィズムとか継承を使えているエンジニアなんて2割ぐらいしかいなくね?
二割もいるのか!! 5 % 以下だと思っていたんだが ……
リテラシーが向上してるのかな?
2021/10/23(土) 18:04:59.77ID:7e9V8Ufm
>>403
あれっ、恵まれてたんか?
エンジニア9人で3人がTDDしてポリモーフィックも実現できるレベルだったからそんなもんかなと思った
2021/10/23(土) 18:56:48.00ID:ySz1YIYr
どう見ても3割超えてるだろ…
算数もできないエンジニアw
406Mb
垢版 |
2021/10/24(日) 12:33:50.94ID:XB+g3pLb
>>405
単純計算だと三分の一だが、
母数が少ないので統計的に捉えると
どうだろうか。
「ランダムに抽出した九千人のうち、
三千人がポリモーフィックも実現できるレベルだった」
つーんならエビデンスになるだろうが、
それでも抽出に偏りがあるという疑惑は拭い得ない。
たぶん、>>404 は恵まれた職場にいるように
思う。
2021/10/24(日) 20:26:48.22ID:WmGWLr+1
>>406
頻度的にやるとそうなるのは分かるし、理想的な話ができてないのは理解してる
ベイズな推計ということで許してください
甘すぎる初期値だった
エンジニアレベルのヤバさを学べて助かりました
2021/10/25(月) 12:37:11.36ID:S5NrZ3MV
そんなに難しいものなのか?
ハード屋さん的にはごくシンプルなものに感じるが。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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