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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:20:41.34 ID:/ofNkRJS.net]
すごいんだよ?


カプセル化(英語: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/

666 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 14:49:22.43 ID:bE/8yEKV.net]
「悪貨は良貨を駆逐する」ってさ、負け犬の遠吠えだよねw

お前が応援している○○が勝った時、
「悪貨は良貨を駆逐した結果だ」って言えんの?って
聞いてみたいねw

667 名前:デフォルトの名無しさん [2018/11/02(金) 15:37:45.42 ID:O3ODr4CD.net]
有言実行について一言。

668 名前:デフォルトの名無しさん [2018/11/02(金) 15:39:47.08 ID:7ojsfeLp.net]
>>650
ごめん、そう書いたつもりだったけど間違ってたw
寝ぼけてたかも知れんw

669 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 15:45:04.45 ID:EV14OdoL.net]
「実践テスト駆動開発」を勧める。
オブジェクト指向の良さも悪さも実感することになる。

670 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 15:47:57.21 ID:fm3kIxqs.net]
MFCが出た当時は誰もオブジェクト指向について分かって無かったから
わざとオブジェクト指向度を下げて成功したらしいよ
逆にボーランドのライブラリーはオブジェクト指向度が高かったから失敗した

671 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 18:55:46.72 ID:TZjyuZ95.net]
>>651
> 単に当時のMSのAPI設計の品質が滅茶苦茶だったから。

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

俺もかつてwin32で色々つくったこともあり
当時はイライラさせられたことも確かにあるが
だからといってあれが滅茶苦茶な設計だとは思えない
だいたいああいう感じに基本なっちゃうんじゃないの?と思ってる

672 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 20:12:44.48 ID:Hx89MQzb.net]
原始人の集い

673 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 20:27:01.39 ID:jwIpxQSG.net]
msはWindowsの設定とかのguiが破天荒なのにソースは綺麗という方が無理があると思うの

674 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 22:29:33.77 ID:Jnk4S5ca.net]
正直テンプレートの無い当時のc++は糞だったから仕方ない部分はある



675 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 22:36:33.06 ID:mN7F6YEE.net]
正直テンプレート来てからは何でもテンプレート使ってカオス状態になったからc++がくそなのは仕方ない部分がある。

676 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 22:48:40.66 ID:vC2JX3NS.net]
つまりテンプレートあろうがなかろうがC++はクソ

677 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 22:53:18.50 ID:bE/8yEKV.net]
テンプレートって名前やめて
コードジェネレータって名前にしたほうが良かった
コンパイル時にコード生成するとか

678 名前:デフォルトの名無しさん [2018/11/02(金) 22:55:26.50 ID:KoqyjIsr.net]
クソはなにを使ってもクソにする能力がある
それが低学歴知恵遅れ

679 名前:デフォルトの名無しさん [2018/11/02(金) 23:45:21.09 ID:1ym8qpVP.net]
オンラインゲームってのはコードの質が低いねぇw

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

🐸「その要望にお答えします!」

680 名前:デフォルトの名無しさん [2018/11/02(金) 23:56:32.56 ID:1ym8qpVP.net]
同じ苦労を知っている齊藤氏は、開発初期から大事にしていることが1つあった。
「一番口酸っぱく言っていたのは『属人的な開発の仕方をするな』ということですね。
長いこと開発していけばお客さんの入れ替わりと同様に開発スタッフも変わっていくわけなので、
属人的なスキルに依存した開発をしていると、その人がいなくなったタイミングでアップデートがで
きなくなります。それをまたサルベージしてやりましょうというのはとてつもない作業量になります。
『ドラクエX』で100%属人的じゃない体制を作れたかというと決してそんなことはないんですけど、
意識してそれをやるようにというのは開発初期からやりました」
https://jp.ign.com/dragon-quest-10/28251/news/xpso2

681 名前:デフォルトの名無しさん [2018/11/03(土) 00:21:11.94 ID:ahgTmUNP.net]
言われたことをきちんとこなせる能力も大事ですが、自分の意見もしっかり伝え、相手の意見を突っぱねずに、
柔軟に聞き入れるのも重要です。何かを思ったり考えついたりしても、それを内に秘めたまま発信しないこと
には何も考えていないことと一緒であり、そう思われかねません。事態が悪い方向に進んでから、だから
こうした方がよかったのに、と後悔するよりも、思いついたことがあるのならば、率先して口に出していきましょう。
互いに納得が出来る道を探るにはコミュニケーションをとるしかありません。プログラミングの分から
ない人が理解できるように説明する能力も重要で、論理的思考スキルと合わせて手にしておきたいスキルです。
加えてコミュニケーションが不足していると、あまり話した事がないからどんな人かわからない、
声をかけづらいなどと相手にマイナスなイメージを与えてしまい、新しい仕事を得るチャンスを、
知らず知らずのうちに失ってしまうかもしれません。そう言われてもコミュニケーションはやっぱり苦手だという方は、
まずは挨拶からはじめてみてはいかがでしょうか?それだけで自分の中でも相手の中でも、印象が変わってくるはずです。
https://mynavi-creator.jp/blog/article/skills-necessary-to-game-programmer

682 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 00:42:17.78 ID:dQj0A1Se.net]
>>666
そこからヒントを得てスレを一つ立てた

低スキルでも読めるコードは、属人的なコードになる
https://mevius.5ch.net/test/read.cgi/tech/1541173295/

683 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 07:11:09.12 ID:jAcy1rC3.net]
>>663
正しいと思うがVCのビルド環境を見る限り、msはできる限りビルド環境を隠蔽したがってることは明白。
あいつらにビルドを明確にした方が良いって発想はない。

684 名前:デフォルトの名無しさん [2018/11/03(土) 13:04:44.43 ID:ahgTmUNP.net]
顧客の主張を聞かず、逆に顧客を罵倒する脳筋プログラマーwww


904 名無しさん@ゴーゴーゴーゴー! (ワッチョイ 7f9b-J3xm [14.132.225.33]) sage 2018/11/03(土) 08:15:09.88 ID:e3rghfI10
ろひすや、飴、飴、豚、ゴミ
私有地のように毎日のさばってんな
そんなに思い通りになるまでやめないの?
思い通りになったらますますやめないの?
こいつら俺はドラクエXの運命を変える力があるとでも勘違いしてね?



685 名前:デフォルトの名無しさん [2018/11/03(土) 13:29:31.51 ID:ahgTmUNP.net]
こいつをみんなで無視しようなってのもwww


174 名無しさん@ゴーゴーゴーゴー! (スフッ Sd33-wjEJ [49.104.38.82]) sage 2018/09/30(日) 03:22:02.03 ID:3/yN7cf3d
>>173
クソに安価付けてレスしないで
JPとバットンキンはNGName推奨です

686 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:36:08.97 ID:wVRfAOhJ.net]
オブジェクト指向というデザインが何を指してるのか曖昧だけど、
C#のデリケートやSwingのイベントリスナーによってコードがスッキリするのは言語の進歩。
それが『オブジェクト指向』によるなのかというと全然違う。Publish/subscribeモデルという言語を越えたデザイン。

少なくともカプセル化、継承、多態性などがメリットに直結する説明の本は糞だと思う。

687 名前:デフォルトの名無しさん [2018/11/03(土) 13:44:40.08 ID:ahgTmUNP.net]
91 その名前は774人います (ワッチョイ c93e-d2wE) sage 2018/10/30(火) 14:22:34.62 ID:MV4WqrjP0
まあ「学園だけ本気だった」って揶揄されてるけど
実際は学園すら本気じゃなかったと思うよこのカスは

順番に鍵開けるだけのワンパターン手抜きストーリーはもちろん
初期の不具合でコケたクラス形成のまともなテコ入れは一切なく最初から死んだままだし
フェスはクソくだらないモンスター先生()退治ばかりで盛り上げようって気は一切見えなかったし
不評と失敗が明らかになってからはDQXTVでは箝口令
辞める前の運営だよりで学園総括しろという真っ黄色の提案があったにもかかわらず「学園」の二文字すら一切なし
例の「アレルギー」以外に総括や反省どころか振り返りすらせずにぶん投げておしまい

学園ですら、カスにとっては作り終わって飽きたいつものポイ捨てコンテンツの一つに過ぎなかった
リソースの浪費とゲームへのダメージは甚大だったけど、サイコパスにはそんなこと関係ないんだね

>辞める前の運営だよりで学園総括しろという真っ黄色の提案があったにもかかわ

688 名前:轤ク「学園」の二文字すら一切なし

242 名無しさん@ゴーゴーゴーゴー! (ワッチョイ d1bd-BIB0 [220.22.170.198]) sage 2018/10/03(水) 22:47:59.97 ID:qPQMVAOd0
このスレにも致命的なバカが迷い込んでるがw
どう考えたってそう思うが押されるわけないじゃんw
押されたい提案をすりゃいいのに揃いも揃って基地外だもんなw
[]
[ここ壊れてます]

689 名前:デフォルトの名無しさん [2018/11/03(土) 14:08:45.45 ID:ahgTmUNP.net]
自慢じゃないが、あっちのスレで俺は煙たがられているんだ!

915 名無しさん@ゴーゴーゴーゴー! (ワッチョイ bb33-PRUr [106.160.151.234]) sage 2018/11/03(土) 13:56:13.48 ID:MJll2UhP0
>>911
スルーしましょう

それよりも、ねころのネコと足跡来てる魚子さんとの間にさざ波が…
口論って程じゃないけど

690 名前:デフォルトの名無しさん [2018/11/03(土) 14:21:06.46 ID:ahgTmUNP.net]
>凸されてキレる奴がアホって認識だろ?

5ちゃんねるの俺からの追求は『スルー』www

691 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 15:41:08.85 ID:YgnNRhbL.net]
おつでーす

692 名前:デフォルトの名無しさん [2018/11/03(土) 21:11:49.81 ID:fUshZxLk.net]
>656
確かにそんな感じだった
当時は何をどうしたらいいのかすらよく解らなかった

693 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:19:12.70 ID:Ob9oFI2P.net]
Javaぐらい洗練されてれば最初から成功したはず

694 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:54:02.56 ID:YgnNRhbL.net]
>>678
何と比較して言ってるの?



695 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:32:52.08 ID:ZYzZrFY6.net]
そりゃ後から出ればな
そしてjavaも今や

696 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:35:06.25 ID:YgnNRhbL.net]
だから何と比較して話してんだよお前ら

697 名前:デフォルトの名無しさん [2018/11/04(日) 00:38:15.08 ID:KXFfF/ne.net]
>>672
>オブジェクト指向というデザインが何を指してるのか曖昧だけど、

ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか?

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

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

違うか?

511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋

「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!

698 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 03:13:54.13 ID:JcXnTdcw.net]
Cairoは失敗した

699 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 03:32:53.19 ID:Z92SZUbh.net]
cat.pushObject(door)

引数の状態が変化する場合には主語
完全解決

700 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 03:35:15.66 ID:Z92SZUbh.net]
オブジェクトが主語としてふるまうばあいは三人称とか定着すればよかったのに
英語の活用がいい加減なせいで区別つかない場合があるから普及しなかったのだろうか

701 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 09:23:28.79 ID:f5svfmew.net]
そういう、どのオブジェクトが主体なのかってのはプログラミングして解決したい問題では些末
オブジェクト間の関係性、つまり実際の処理が解決したい問題になる
foo(X,Y)とX.foo(Y)とY.foo(X)のどれが良い?ってのはfooの中身から明確に答えが出ることもあるし、どれでもいいよってなることもある

OO以外じゃどうでもいい話を、さもプログラミングする上で問題になるように持ち上げるやり方をマッチポンプパターンとして提唱しよう

702 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 09:56:29.68 ID:NXH4yvMa.net]
チンポくんもこじらせてるねえ

何を主体にしたいかとか、プログラミング言語じゃなくて言語学の話だから

703 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 10:07:04.04 ID:3pon2MBD.net]
そこにこだわっても1円にもならんよね

704 名前:デフォルトの名無しさん [2018/11/04(日) 10:10:40.59 ID:iTJ8u5Nd.net]
>>687
間違えるなチンボが勝手にこじるんや



705 名前:デフォルトの名無しさん [2018/11/04(日) 11:28:18.81 ID:hQdPSgHl.net]
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html

706 名前:デフォルトの名無しさん [2018/11/04(日) 11:28:45.28 ID:hQdPSgHl.net]
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html

707 名前:デフォルトの名無しさん [2018/11/04(日) 11:28:48.90 ID:hQdPSgHl.net]
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html

708 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 12:21:47.97 ID:YHqourM/.net]
まーたそのゴミみたいなblogか
そういうゴミ情報はさっさと潰れてほしい
検索結果に出てくるだけ社会の害悪じゃん

709 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 12:31:09.85 ID:EBz82Uiq.net]
>>693
お前が素晴らしいブログを書かないからな

710 名前:デフォルトの名無しさん [2018/11/04(日) 15:34:37.57 ID:95qKkVOL.net]
>>686
なんとnimではfoo(X,Y)とX.foo(Y)が同じ意味

711 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 17:42:49.32 ID:YHqourM/.net]
javaのstringのequalsと
pythonのjoin

"abcde".equals(str)
','.join(list)

「文字列をequalsで判定する時」なんかは21ページまで行ってて会議室の中で一番長いんじゃねえのコレ

712 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 20:29:25.47 ID:yioi4JUk.net]
そういえばc++の発展の歴史は文字列をどれだけプリミティブ型のように扱えるようにするかの
歴史だと言ってる人がいたね。

713 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 07:03:06.05 ID:5/8gaaQr.net]
VB6のコンポーネント指向でよかったけどな
マルチスレッドディスパッチャとかデリケートを言語で強化していくとか

Javaに追い付け追い越せはC#に任せてさ

マシンパワーの進歩で.NETのもっさりも気にならなくなって、
結果論では正解だったのかもしれないけど

714 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 07:37:31.23 ID:C39H/qom.net]
>>698
マシンパワーの進化だけじゃない



715 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 12:24:42.20 ID:4r6RuT4G.net]
>>698
vb6にもイベントデリゲート機能は既に有ったよ
プロパティセッターゲッターとかも有ったし
何時のバージョンから搭載されていたかは知らないけど

716 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 12:29:19.16 ID:ZdyRAhNg.net]
>>698
VB6はVB6で使いやすかったんだけどな
言語としての機能性がプアなのは仕方ないが
労を惜しまなければなかなかのもの

717 名前:ェできたんだよ
Javaと変わらず遅いけどw
[]
[ここ壊れてます]

718 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 12:32:29.72 ID:i/VkDtta.net]
このソフトの動作にはvbランタイムのインストールが必要ですからのそっ閉じ

719 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 21:13:55.01 ID:Nuy+gqjZ.net]
>Javaに追い付け追い越せはC#に任せてさ
は???

720 名前:デフォルトの名無しさん [2018/11/05(月) 21:19:07.12 ID:wo65FOER.net]
はじゃないが

721 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 21:24:18.41 ID:Qr9+IO/r.net]
Javaは殺されたから。

722 名前:デフォルトの名無しさん [2018/11/05(月) 22:03:33.97 ID:qCG7kgky.net]
ポリモーフィズムによる依存関係の逆転

723 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:10:56.48 ID:4r6RuT4G.net]
vbランタイムは付けても良いし
ベクターから落としても良いし
javaみたいに金は取られないよ

724 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:12:17.42 ID:C39H/qom.net]
>>704




725 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:12:54.89 ID:wVSM+ShE.net]
ランタイムとかありえねー
1バイナリで配布に決まってるだろ
dllとか意味わかんないw

726 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:56:05.83 ID:rQPPTNrE.net]
意味すら分からんか…

727 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 23:41:27.95 ID:0wNeh4D8.net]
JavaのVMってそうだよな

728 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 06:40:30.15 ID:8BHBMccI.net]
オブジェクト指向を売りにしてた会社、息してる?

729 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 07:52:37.47 ID:3OcY7eEH.net]
15年前とか、オブジェクト指向宣教師にVB厨とかいってバカにされてたけど、
その宣教師達の見る影もないな

730 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 07:57:11.96 ID:3OcY7eEH.net]
>>672
カプセル化、継承、多態性は、オブジェクト指向密教の念仏、お題目だからな

信じるものは救われるw

731 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 11:44:39.77 ID:F+oSge0O.net]
密教はマジモンのオカルトで、
肝心なことは密にされてる、つまりは秘密にしてる、というか伝えられない、言語化できない、っていう方面の宗派だ

オカルト=秘されたもの、だからな
その対義語?がサイエンスだ
だもんで密教はオカルト中のオカルトだ

顕教はその名の通りに教えの中核を明文化して伝える宗派
宗教やオカルトにもいろいろあるが基本的には「隠す技法」だ
隠せば隠すほど有難味が増す

732 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 17:43:17.25 ID:2Imqjq5w.net]
カプセル化と多態は普通に使うけど
ここで必死に否定してる連中は何使ってんの?

733 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 18:49:11.18 ID:pbTvUYL6.net]
>>716
c言語方式
極めるとグローバル変数を一切使用しない関数に行き着く

734 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 19:48:06.13 ID:4FZ8VBND.net]
イミュータブル性、スコープに合わせた資源管理、関数の長さ、ビルドの構成
この辺りを気にした方がマシ。



735 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:19:36.81 ID:u4fT6EdO.net]
>>717
関数がファーストクラスじゃないから制限が多いかな

736 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:24:27.77 ID:8BHBMccI.net]
カプセル化なんかをメリットとして力説するのが痛いんじゃない?

変数のスコープや寿命なんて、オブジェクト指向言語以前の命題でさ

737 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:26:55.09 ID:K8RrAru7.net]
まあ、C言語でもオブジェクト指向は出来るからなぁ

738 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:35:26.74 ID:4FZ8VBND.net]
とはいえ、ポリモルフィズムが有効な場合というのは見極めが難しいからな。
そのコードの流れと直交するような動作ならいいけど、
そんなのコードに慣れてない奴には絶対判断できん。

もう少しソリッドな技術から学ぶ方が重要。

739 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:09:25.86 ID:pbTvUYL6.net]
>>722
いや、リーナスさんも言ってるけど
曖昧さってのはガンにしかならない

740 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:38:14.09 ID:4FZ8VBND.net]
>>723
個人的に同意だが、しかしある機能においてはどうしても動的に変えられるように
作らなきゃならんこともあると思う。
例えばUSBドライバのロードとか。

741 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:49:55.31 ID:9ybaAnNd.net]
Cで作るにしてもデータ隠蔽や関数ポインタ使って動的に動作変えるとかやるからな

742 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:19:48.19 ID:pbTvUYL6.net]
>>725
やんねーよ
そんなん

743 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:33:55.97 ID:5ks02k45.net]
workingset みたいなもん定義して
ws->pre_fn(ws), ws->work_fn(ws), ws->post_fn(ws)
とかはCでもやる

744 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:35:06.48 ID:2Imqjq5w.net]
なんだただの無能かよ
お前は一生switch文書いてろ



745 名前:デフォルトの名無しさん [2018/11/06(火) 23:32:49.41 ID:98MtNrWT.net]
やっぱcはゴミだわ

746 名前:デフォルトの名無しさん [2018/11/06(火) 23:49:50.37 ID:ATtfWESv.net]
ところでさぁ、

この車、タイヤがパンクしてるぜ!
この俺、チンポがシコシコしてるぜ!

どちらも「オブジェクト指向」だろう? 違うか?

注目は、選択肢イです。この上向きが集約で、下向きが分解です。
自動車は、アクセルやブレーキ、ハンドルなどに分解されるからです。
sm.seeeko.com/archives/65913086.html

浮気に激怒の妻、眠る夫の局部を切断しトイレに流す(印)
TechinsightJapan 2018年02月25日 04:00
https://www.excite.co.jp/News/world_clm/20180225/Techinsight_20180225_477828.html

747 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:04:50.55 ID:MnvgpN9Q.net]
CがゴミってんならC++なんてクソだろ?それもゲリクソ
あっちこっちで食あたりコードを生み出すゲリクソ生産機

748 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:05:19.02 ID:Qiut+jNc.net]
オブジェクト指向とかいうブラックボックス礼賛思想
こんなんに付き合ってたら頭おかしなるで

749 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:16:59.62 ID:nAQp6wBh.net]
オブジェクトはどういう操作してもバグらないのが前提
常に整合性を保てるクラスを作るのはとてもテスト工数がかかる
わりに合わないと思うこともある

でも問題を分離することが人間の進歩だ
オブジェクト指向はとても遠大で高邁な理想なんだ

750 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:37:46.20 ID:Uv/5eSRN.net]
Cの関数ポインタはよく使ったなー
今でも別な言語で似た使い方するけど楽の一言に尽きる

751 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:38:57.58 ID:Uv/5eSRN.net]
>>732
オブジェクト指向そのものはブラックボックス思想ではないんだよ
オブジェクト指向でプログラムを組む人がブラックボックスを作りたがるだけなんだよ

752 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:58:25.04 ID:UCphLCxy.net]
ソースコード見れるのにブラックボックスってどういうこと?

ライブラリの関数、中身見ないから
ブラックボックスっていうのなら、
それは手続き型でも同じだし

753 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:12:33.71 ID:T8AyQ5+v.net]
ブラックマジックの間違いだったとか

754 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:42:59.61 ID:Z88Q6V1f.net]
>>736
グローバル変数のデメリットを理解してる?



755 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:51:06.86 ID:UCphLCxy.net]
>>738
手続き型はグローバル変数になるから、
オブジェクト指向で隠蔽化するってこと?


手続き型でもローカル変数にして
隠蔽化=ブラックボックス化するのは同じでしょうって
言ってるんだが?

756 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 03:22:51.34 ID:/RV3raqf.net]
>>717
極めるw
何を極めたんだよ
関数ポインタを諦める事か?

757 名前:デフォルトの名無しさん [2018/11/07(水) 03:35:19.63 ID:h4FWJh3K.net]
>>729
OS無しの組込にはアセンブラかCしか選択肢がないけどね。(良い悪いはともかく)
C++も最近増えたみたいだけど、書き込む領域がそれなりに無いと。

758 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 08:25:23.73 ID:60G+FgCT.net]
逆にC以外の言語で使えるのと言ったらhaskell位しか思いつかない。

759 名前:デフォルトの名無しさん [2018/11/07(水) 13:02:23.58 ID:R2gvt502.net]
>>739
>隠蔽化=ブラックボックス化するのは同じでしょうって

511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋

760 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 15:29:42.78 ID:wjSd2cHh.net]
>>717
変数をすべてローカルで作って、
関数に引数10個ぐらい使って引き渡してるソースなら見たことがある。

たしかに極まってるわ。

761 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 16:49:01.37 ID:xNIAd77E.net]
>>744
それ、構造体にしてポインタ渡しにしねえか普通。

762 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 17:28:35.58 ID:iy3fg8p3.net]
ついでに構造体のメンバに関数へのポインタをセットするのは気持ち悪いから、構造体に実装埋め込みたいよね?

763 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 17:59:56.06 ID:YuYLxFMn.net]
構造体という名前の特殊な関数だと思い込めばいい
それでクロージャみたく解決だ

764 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 18:01:48.26 ID:Z88Q6V1f.net]
>>744
実際やると10個じゃ済まない
50個ぐらい行くかも

でもやってみればわかる
それでもソースは読みやすい



765 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 18:49:57.53 ID:1MfDECIP.net]
んなわけあるかあほか
設計能力がないだけじゃねぇか

766 名前:デフォルトの名無しさん [2018/11/07(水) 18:56:11.17 ID:WrYxOUux.net]
>50個ぐらい行くかも
>
>でもやってみればわかる
>それでもソースは読みやすい
読みずれーよ馬鹿w
関数のさらにネストしたところでしか使わん変数を引数で引回すコードの
メンテをしたことあるがめちゃくちゃ大変だぞ。

767 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 19:52:01.40 ID:Z88Q6V1f.net]
>>750
エアプ乙

でも引数からしかアクセスないじゃない?
これがメンバ変数だったりグローバル変数だったりするから滅茶苦茶になるんよ
引数オンリーは絶対に問題起きない
やってみろ
レベル上がるぞ

768 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 19:58:50.02 ID:WrYxOUux.net]
本当の馬鹿か。。
さすがに構造体否定する奴は初めて見たわ。

769 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 20:17:31.42 ID:xNIAd77E.net]
みんなthisポインターにズルズル引きずってしまえば楽さw

770 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 20:32:58.61 ID:Z88Q6V1f.net]
>>752
やってみりゃわかるよ
引数に書いてた一覧を
構造体に移植するだけよ
つまり関数と似た名前の構造体ができるだけ
意味があると思うなら用意すればいい
俺も最初はやっていた

完全に同じもんが必要になることなんて
まずないから放置

771 名前:ポエマー mailto:sage [2018/11/08(木) 00:45:08.19 ID:CWqVGGGe.net]
お前ら今までのレスでさんざ書かれてきた問題点を
何も学んでないな

772 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 02:37:06.73 ID:3xGWJe6p.net]
>>754
巨大な構造体を引回す関数群か
ポインタ渡しにすることになるから、もはやグローバル変数と変わりはないな

773 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 03:18:02.43 ID:rJTiWJ81.net]
>>756
巨大な構造体で、どうやってグローバル変数のように
どこからでも参照できちゃう状態にできるの?

どこからでも参照できないなら、ローカル変数と変わりないな

774 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 03:24:31.46 ID:rJTiWJ81.net]
>>754
> 引数に書いてた一覧を
> 構造体に移植するだけよ
> つまり関数と似た名前の構造体ができるだけ
> 意味があると思うなら用意すればいい

えとな、引数に書いていた一覧を構造体に移植するだけだから、
関数と似た名前の構造体ができるだけなんだぞ。

意味がないのは、お前が「引数に書いていた一覧を構造体に移植するだけ」
という変なことをやってるからだ。全てお前自身の問題なんだよ。



構造体にする基準は、リファクタリングの「引数オブジェクトの導入」の基準と同じだ
https://ja.wikipedia.org/?curid=93818
> 引数オブジェクトの導入
> たびたび一緒に受け渡しされる複数の値は、オブジェクトとしてまとめたほうが分かりやすい。

「一緒に受け渡しされる複数の値」を構造体にするんだよ
全部を一つの構造体にするバカはお前だけだ



775 名前:デフォルトの名無しさん [2018/11/08(木) 04:49:57.80 ID:2oWgTmr1.net]
追加するのは簡単だけど、削除したり改変したりするのが大変だねー。

776 名前:デフォルトの名無しさん [2018/11/08(木) 05:08:09.76 ID:yQlGi5bN.net]
プログラミング言語の性能差
主な言語とスループット
言語 スループット 特性
C/C++ 100 静的言語ネイティブコード
Java 1〜10 静的言語VMバイトコード
Ruby/Python 0.1〜1 動的言語
オンラインゲームのサーバではC/C++が最も使われ

www.wata-lab.meijo-u.ac.jp/file/seminar/2013/2013-Semi1-Atsushi_Somekawa.pdf


Javaのメモリ管理自動化機能は便利だけど、ネットワーク通信では使いにくいねえw

731 デフォルトの名無しさん sage 2018/11/07(水) 00:04:50.55 ID:MnvgpN9Q
CがゴミってんならC++なんてクソだろ?それもゲリクソ
あっちこっちで食あたりコードを生み出すゲリクソ生産機

777 名前:デフォルトの名無しさん [2018/11/08(木) 05:15:39.14 ID:yQlGi5bN.net]
メモリ管理がポインタがうんたらなんてややこしい話はJavaやRubyでは関係無いけど、
ネットワーク通信だとC/C++の一択でポインタをいじくり回してメモリ管理するしか無い。

この認識で、違うか?

778 名前:デフォルトの名無しさん [2018/11/08(木) 05:22:41.91 ID:yQlGi5bN.net]
プログラミング言語
1 C/C++
2 その他

・・・だと思う。

779 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 06:16:25.68 ID:eumdoCgr.net]
CとC++を一緒にまとめて語ってる事がナンセンス

780 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 08:34:35.38 ID:A44A323l.net]
>>757
全ての関数の引数にその巨大な構造体のポインタを入れるとそうなるね

781 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 08:49:16.98 ID:lZiGipil.net]
>>751
void main()
{
struct {
int x,y,z,foo,bar,everything;
} global;

func(&global);
}

782 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 08:55:45.61 ID:rJTiWJ81.net]
>>764
> 全ての関数の引数にその巨大な構造体のポインタを入れるとそうなるね

グローバルってことは、ポインタを渡された関数以外からアクセスできるわけだけど、
それでどうやって渡された関数以外からアクセスするの?
渡された関数だけからしか参照できないなら、ローカル変数と変わりないな

783 名前:デフォルトの名無しさん [2018/11/08(木) 09:13:35.62 ID:Tu3rCJEk.net]
てか、ポインタもグローバル変数と同じくらいバグの温床だろ。。。

784 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 09:47:29.81 ID:fig5AsF0.net]
寿命とスコープの話がごっちゃになってね?

常駐もののブートストラップルーチンのローカル変数の寿命はプログラム終了までだろうし、
それが引数のポインタからたどれたとして、スコープはチェーンしている関数内だろ?



785 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:02:53.68 ID:A44A323l.net]
>>766
全ての関数に巨大な構造体のポインタを渡してる前提だから、
「ポインタを渡された関数以外から」なコードは存在しないよ

786 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:12:42.71 ID:tTk6seYb.net]
>>767
プログラミングすること自体がバグ

787 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:50:41.01 ID:UOIeR1Y3.net]
>>769
存在しないとまで言われると書きたくなるな。実装依存だが自動変数をスタックに取るなら、こんなコードでたどり着けるかな?

void main()
{
int x;
foo();
}

void foo()
{
int y;
*(&y+2)=65535;
}

788 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 12:04:19.71 ID:A44A323l.net]
>>771
foo関数の引数にポインタがないよ
巨大な構造体のポインタを全ての関数に渡す前提を忘れてる

>>765が具体的なコードを上げてくれてるね

789 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 12:16:35.11 ID:UOIeR1Y3.net]
>>772
すまん、765=771だ。
fooにグローバルもどきな構造体のポインタを渡せば十分変態なコードはかけるし、
渡さなければ絶対到達できないというわけでもないと言いたかった。

790 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:00:18.43 ID:rIAZPlkA.net]
>>773
まあ、お前のコードクソだからそういうのが日常って常識を主張したいわけだろ

791 名前:デフォルトの名無しさん [2018/11/08(木) 20:41:43.42 ID:bfPcGDVv.net]
>>773
お前が無能だということは分かった

792 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:53:43.69 ID:5JF/nZv7.net]
カプセル化が下手だとやりたいことが出来ないとかありうるんだよなぁ。
逆にやりたいことが全部用意されてるライブラリとかは、ほほうとなる。

793 名前:デフォルトの名無しさん [2018/11/08(木) 21:49:16.26 ID:j6Jh7/pK.net]
>>775
おまえらが無能だとゆうことはずっと前から分かっとった

794 名前:デフォルトの名無しさん [2018/11/08(木) 22:15:02.93 ID:dNW1RU/q.net]
言うをゆうって書く人は初等教育を受けてるのかしら



795 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:16:42.59 ID:jAeiPwgX.net]
うんにゃ

796 名前:デフォルトの名無しさん [2018/11/08(木) 22:16:44.15 ID:j6Jh7/pK.net]
言うはゆうて読むんやで

797 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:32:48.69 ID:rJTiWJ81.net]
ゆうていみやおうかとちゃぺぺぺぺぺぺ

798 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:34:05.72 ID:Zz75hCIC.net]
ホントにこういう頭のおかしいやつたまにいるからな
引数10個越える関数とか平気で書いてくるから
勿論レビューで突き返すけど

799 名前:デフォルトの名無しさん [2018/11/08(木) 22:34:47.03 ID:j6Jh7/pK.net]
>>782←なんやこの脈絡ないバカ?

800 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:41:41.77 ID:rJTiWJ81.net]
>>771
その理屈なら、すべてのローカル変数は
グローバル変数と言ってるのと同じ
意味がない

801 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:14:52.98 ID:zSj2m2N1.net]
>>782
いくつだったらおkなの?
何か引数の数について書いてある文献あるんですか?

802 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:17:23.51 ID:zSj2m2N1.net]
比較にwin32api出されてこれ駄目なんですか?
あなたが参考にしてるソースってなんですか?
そのソフト売れてるんですか?
ぐらいの質問には答えられたほうがいいな

803 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:39:31.38 ID:rJTiWJ81.net]
>>785
https://postd.cc/code-review-best-practices/

> メソッド引数の数: メソッドや関数の持つ引数が3つ以下になっていますか? 
> 3つよりも多い場合は、別のやり方でグループ化した方がよいかもしれないというサインです。

804 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:40:57.11 ID:rJTiWJ81.net]
https://myenigma.hatenablog.com/entry/20131214/1387014201

> 7章 高品質なルーチン
>
> 入力専用のすべての引数にはconstを使う。
> ルーチンに渡した引数はすべて使う
> 状態変数、エラー変数は引数の最後に置く
> 引数の数は最大7個にする。
> それ以上になった時はデータをクラス化する。



805 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 00:57:45.46 ID:jjG5PJM7.net]
>>787
クラスとか言ってるってことは俺よりレベル低いじゃんそいつ

806 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 01:01:33.47 ID:jjG5PJM7.net]
>>788
こいつも同じ
グローバル変数を使っては行けない理由が薄すぎる
多分わかってないな
名著?は所詮メディアが作ったもんだし信用しないほうがいいよ
実際おそらく何十冊も読んできたであろう君がオブジェクト指向のメリットを一つも説明できないだろ?
ビジネスにおけるメリットの説明とは数字と結びつけてするものってのは理解してるよな?

807 名前:デフォルトの名無しさん [2018/11/09(金) 01:15:11.16 ID:zbV5OyFz.net]
バカは構造体に構造体をいれることができることすら
分かってないからな

ずっとでかい構造体をひきわたしまくってるバカもいるからな
関数でなんの変数を変化させたか分からないようなシロモノを作る

頭おかしいほどめちゃくちゃでかいクラス作るヤツとにてる

この板にいるような低学歴知恵遅れにありがち

808 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 01:20:07.57 ID:UVRb8J0Z.net]
>>790
> 名著?は所詮メディアが作ったもんだし信用しないほうがいいよ

いや、ふつうに、かんがえて、
おまえのほうを、しんようしない

809 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 01:28:14.21 ID:jjG5PJM7.net]
>>792
それは自分で考えた結果なの?
それともネームバリューにやられちゃった?

810 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 01:39:11.07 ID:UVRb8J0Z.net]
>>793
実績にやられた

811 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 01:39:48.83 ID:UVRb8J0Z.net]
各所で信頼できると言われてる実績 >>>>>>>> おまえ

812 名前:デフォルトの名無しさん [2018/11/09(金) 03:43:18.48 ID:XqJA0EYx.net]
このゲームすぐ持ち物いっぱいになるな
dragon-quest.me/dq10/28435/


追加するのは簡単だけど、削除したり改変したりするのが大変になるねぇwww

813 名前:デフォルトの名無しさん [2018/11/09(金) 03:45:54.57 ID:XqJA0EYx.net]
どのプレイヤーとも共有されるだけに、サーバー側でいじるとプレイヤーの画面表示が狂ってしまう!

814 名前:デフォルトの名無しさん [2018/11/09(金) 06:44:58.06 ID:2asOwCt8.net]
postdって
記事同士の内容が反している様な時も有るから
本当の意味で正解とゆうのが無いか
未だ見出されていない
とゆう事なんだと思う



815 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 07:01:17.46 ID:3PJfnI/r.net]
>>784
「普通の方法じゃ無理」ってのならわかる。
「存在しない」ってのなら同意できないわ、C言語がわかってない。

816 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 07:30:48.02 ID:UVRb8J0Z.net]
>>799
グローバル変数も変数なんだから、
変数としての性質を持っていなければいけない

例えばポインタ変数は変数だが、
それは「ポインタを入れてる変数」が変数なのであって
ポインタが先示す先は変数ではない

変数は、型と名前によって定義されるものだ
アドレス指定でメモリを直接読み書きした所で、
それは変数ではない

817 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 07:55:30.37 ID:o+/dpDfL.net]
>>795
でもそれを頼りにした結果がこれじゃん
オブジェクト指向のメリットを数字をあげて一つも説明できないわけでしょ?
もういい加減気づいても良くない?
サルじゃないんだから

818 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 08:02:29.61 ID:UVRb8J0Z.net]
>>801
> オブジェクト指向のメリットを数字をあげて一つも説明できないわけでしょ?

数字? オブジェクト指向が使われてる
プロジェクト数とかでいい?

なんの数字がでればいいかいってみて 

819 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 09:16:38.16 ID:q+lSU0Ha.net]
>>802
はぁ?
使用プロジェクトが多いってのがオブジェクト指向の1番のメリットってことでいいの?
ってかお前オブジェクト指向の良し悪し云々の前にそもそもある技術を評価することそのものが
できないじゃん

820 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 09:25:17.08 ID:UVRb8J0Z.net]
>>803
だからそうやって文句言い出しそうだから、
どんな数字を出せばいいか聞いたのに
どんな数字ならお前は納得するんだよ?

821 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 10:12:55.60 ID:z1XmYBYX.net]
無能が頑張ってるな
お前がやってる単純な処理ならOOは要らんから一生懸命手続きを並べていけ

822 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 18:08:23.28 ID:JrL9fe62.net]
>>804
そりゃ、お前がオブジェクト指向のメリットだと思うことを金銭的にいくら儲けることができるのか
そのロジックを説明するんだよ

823 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 18:24:56.53 ID:qPfMyD8q.net]
20年以上前から語られてるパラダイムが理解できないなら諦めろ
if文の羅列とgrep置換がお前の武器だ
がんばれ

824 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 18:50:22.21 ID:DMldCTyP.net]
オブジェクト指向はともかく、
関数、構造体、グローバル変数の問題、
この辺りのことでここまで話が通じないとは思わんかったわ。



825 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:48:19.86 ID:dt2W+h7o.net]
OOPは設計と相性がいいと思う
手続き型で実装する前提で設計書を書くと
設計書まで手続き型のコードみたいになってしまう

826 名前:デフォルトの名無しさん [2018/11/09(金) 19:49:24.81 ID:XqJA0EYx.net]
チンポがシコシコするぜ!!

827 名前:デフォルトの名無しさん [2018/11/09(金) 19:54:15.96 ID:EUp1VEAA.net]
そらそうだ。
言語のプラットフォームに思考も引きずられるからね。
だから何か一つ言語を身につけたら、色々なプラットフォームの言語触っておいた方がいい。
(身に付かないうちは全部中途半端になるから避けるべきだが)

828 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:55:14.16 ID:UVRb8J0Z.net]
数字を出せと言ってる割に、
どんな数字が出れば納得するかも言わない。

責任者出せと言ってるようなもんだなw
ただ文句を言いたいだけ

829 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 20:20:38.87 ID:p97kvqgN.net]
いつものつまんないメンバー
コテ付けてくれよ

830 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 22:10:45.59 ID:2asOwCt8.net]
構造化プログラミングって
数値じゃなくて理論で広まったように思えたけど?

831 名前:デフォルトの名無しさん [2018/11/09(金) 22:43:04.68 ID:NlMocJkJ.net]
バカじゃないおめえらて居るんか?

832 名前:デフォルトの名無しさん [2018/11/10(土) 01:10:27.13 ID:zvqLr7Dq.net]
チンポがシコシコするぜ!!

833 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 01:19:44.52 ID:nDRuNlgP.net]
そんな犬のウンコ見たいなもの
鋏で切りとって、捨てチャイなyo

834 名前:デフォルトの名無しさん [2018/11/10(土) 02:35:09.20 ID:yVOOgx5K.net]
128 その名前は774人います (ワッチョイ f967-5nD1) sage 2018/11/08(木) 17:26:52.47 ID:6MGMdNjp0
>>125
メインストーリーはライブラリ使ってツクール感覚だから
手間掛かるのは新規マップ/ムービー/新モンスタープラン
学園で手間が掛かってるのはプログラムだからメインストーリーとは違う
プログラム的にも既存コンテンツ改修するよりは本編と関わらない場所で新しく作った方が楽



835 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:54:31.14 ID:g7tZUN2t.net]
>>814
本とかだして儲けようとしただけじゃね

836 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 14:37:41.91 ID:/C4Raf5+.net]
オブジェクト指向で設計製造するってだけで単価が倍に出来ました。

837 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 17:40:15.16 ID:q+mWhUVW.net]
ちょっとした設定やinterfaceだけ書いたらクラスを自動実装してくれるやつ最近多いけど
オブジェクト指向のカプセル化とインターフェース分離がうまく機能してるとこういうことができるんだね

838 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 19:59:25.83 ID:2tLivqWS.net]
自動実装するメタプログラミングの箇所が相当に優秀なんじゃねえの
その箇所のソースは見たこと無いからあんまりヤボなことは言えないけど

839 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 21:20:05.01 ID:I7PJ6CmR.net]
>>821
なにそれ

840 名前:デフォルトの名無しさん [2018/11/10(土) 21:22:31.22 ID:nSd/jMeD.net]
>>821
具体例よろ。俺が評価してやる。

841 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 21:23:40.16 ID:LfgFk0aJ.net]
富士通が好きそうなアレかw

842 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 21:33:50.49 ID:W+pb59IN.net]
えっvsとかもそうじゃね

843 名前:デフォルトの名無しさん [2018/11/11(日) 04:18:18.87 ID:y84pWKv0.net]
  自我  チンポ
  ↓    ↓
  チンポ 自我

両方正しい!!!

21 デフォルトの名無しさん 2018/10/19(金) 01:35:00.55 ID:fC+zpJue
オブジェクト指向を漫画で理解しよう!

>その瞬間、竜哉は体中が引き締まるような快感を感じた

チンポがシコシコするのは、物理的な刺激に限ったことではない。

https://imgur.com/R4D8yyk
https://imgur.com/Fjw9t3F

「アクトレス」(山田謙二)より。

夏目くんのチンポは何にも触れていないのにシコシコしている!

844 名前:デフォルトの名無しさん [2018/11/11(日) 09:15:06.14 ID:/c5AFHPv.net]
"); //]]>-->
845 名前:est/read.cgi/tech/1539872441/827" rel="noopener noreferrer" target="_blank" class="reply_link">>>827
もう止めてもらって良いですか?
[]
[ここ壊れてます]

846 名前:デフォルトの名無しさん [2018/11/11(日) 09:52:59.70 ID:y84pWKv0.net]
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。

『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル

847 名前:デフォルトの名無しさん [2018/11/11(日) 09:57:31.24 ID:y84pWKv0.net]
>CycはFredがひげをそっている間、Fredはそれでも人間なのかと尋ねた

チンポがシコシコしている間、俺はそれでも人間なのか?

848 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 10:00:59.18 ID:Tyd11AGx.net]
たとえば、CycはFredという名前の男がドナルドダックのモノマネをするという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には羽がないことは知っているが、
アヒルのように歩き、アヒルのように鳴くものはアヒルに違いないと考えた。
したがって、CycはFredがドナルドダックのモノマネしている間、
Fredはそれでも人間なのかと尋ねた。

849 名前:デフォルトの名無しさん [2018/11/11(日) 10:18:59.04 ID:y84pWKv0.net]
ヒョウジュンゴ をNGワードにしなさい!
mevius.5ch.net/test/read.cgi/tech/1541644399/

そもそも『標準語』なんての、誰が決めたんだ?

850 名前:デフォルトの名無しさん [2018/11/11(日) 10:58:02.94 ID:y84pWKv0.net]
そもそも言葉の意味は最初から定義されているわけではない。例えば、

ガンガン
www.jp.square-enix.com/magazine/joker/

「ガンガン」とは何だろうか?

851 名前:デフォルトの名無しさん [2018/11/11(日) 11:37:33.18 ID:y84pWKv0.net]
『解剖学や生理学でもチンコの話になるとぐっと理解しやすくなるのはなんでなんだろ!』

504 デフォルトの名無しさん 2018/10/29(月) 09:09:30.28 ID:PWKZ4BcT
2013-05-17 00:04
チンコの随意筋と不随意筋
d.hatena.ne.jp/tottokotokoroten/touch/20130516/1368716650

852 名前:デフォルトの名無しさん [2018/11/11(日) 12:25:06.22 ID:B3f/927d.net]
>>828
見たくない単語をNGワード登録しやさんせ。

853 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 14:02:14.13 ID:IYY0D0CO.net]
NGワード登録できないやつもNGにするから問題ない

854 名前:デフォルトの名無しさん [2018/11/13(火) 12:01:51.61 ID:MsU4ocaV.net]
チンポがシコシコするぜ!!



855 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 12:33:15.53 ID:Sc2Dmwdl.net]
Constおじさんが暴れてるな

856 名前:デフォルトの名無しさん [2018/11/13(火) 23:31:07.77 ID:Vxu3kwrv.net]
少しは自分でも暴れてみろや根性なしが

857 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 23:53:34.36 ID:nYdCugWN.net]
暴れたらいかん

858 名前:デフォルトの名無しさん [2018/11/13(火) 23:56:08.77 ID:Vxu3kwrv.net]
暴れろヘタレ

859 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 00:04:26.42 ID:yOZs5FfI.net]
staticおじさん vs constおじさんの地獄絵図

860 名前:デフォルトの名無しさん [2018/11/14(水) 00:08:26.22 ID:6s34X1+c.net]
こんな平穏なスレのどこが地獄やねんw
おまえのオトンとオカンに比べたら極楽浄土やわw
外にでろひきこもりw

861 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 20:25:00.27 ID:YyGUPZ+i.net]
constおじさんとは

862 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 20:39:35.02 ID:BDJVwe3s.net]
人材は豊富だ
いくらでもいる

C言語なら俺に聞け 148
https://mevius.5ch.net/test/read.cgi/tech/1537347410/37

> void show_all(void)

なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?

863 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 20:41:28.87 ID:0yNrfYxn.net]
まあ、省略するとint扱いだからなぁ

864 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 22:10:50.01 ID:rmbZAfBV.net]
>>845
こんなことを聞くようなやつがこのスレにレスしてたのか



865 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 22:39:47.97 ID:b2ewZ8Gr.net]
ニートのゴミレスのせいで気まぐれに降臨するベテラン達も寄り付かなくなったな

残念

866 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 01:22:08.45 ID:mQ1OcAlX.net]
なんというかもう教養レベルの知識なんだから今更大して議論するところもないし

867 名前:デフォルトの名無しさん [2018/11/15(木) 03:33:49.30 ID:lNkjj0jr.net]
>>845
え、若い頃はmainでよくvoid main(void)ってしてたが。。。
本当は失敗成功ぐらいは分かるように返り値はあった方が良いんだろうが、別に文法的にはおk。

868 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 07:47:02.43 ID:y1wxyOr0.net]
戻り値はokじゃないぞ

869 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 08:57:16.85 ID:ofI7xkNC.net]
それはosの要求でしょ。文法の問題か?

870 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 09:58:30.05 ID:aEmu1zM9.net]
引数と返り値の区別のついてない奴は無視していいよ、馬鹿に合わせる必要ないから。

871 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 10:18:23.45 ID:9CKUsg3j.net]
戻り値って言ってほしい

872 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 11:30:26.15 ID:93LEwZXY.net]
返り血を浴びたんだろ。

873 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 11:34:58.11 ID:tbehOOnQ.net]
>引数 void って初めて見た
これがガンなんだよなぁ・・・
戻り値voidなら見慣れている奴、つまりJavaやってる奴だろコレ

874 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 13:04:51.99 ID:o5fev+pn.net]
プログラムを職としてる人が返り値っていう?
戻り値だろ?

返り値なんて、新人プログラミング研修のときに、講師のお姉さんが言ってたくらいだわ

お姉さんは美人だったから許す
おまいらは、、



875 名前:デフォルトの名無しさん [2018/11/15(木) 13:04:53.66 ID:lNkjj0jr.net]
>>851
文法的にはってわざわざ書いたやろ。。。
実際動く。
セオリー的には駄目だろうけど。

876 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 13:12:01.90 ID:cdqa4g6x.net]
>>857
復帰値やで

877 名前:デフォルトの名無しさん [2018/11/15(木) 13:17:17.94 ID:lNkjj0jr.net]
>>851
2006年出版の入門書には、返り値って書いてる。
2011年出版の入門書には戻り値って書いてる。

これがジェネレーションギャップという奴か。。。

878 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 15:45:27.66 ID:pJT+gql0.net]
>>857
どちらも使うなぁ
リターン値って呼ぶこともあった

879 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 16:28:56.54 ID:93LEwZXY.net]
生理中の女を犯したら、返り血を浴びせられた。
みたいな用法?

880 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 13:15:39.92 ID:Mm6CPD06.net]
>>860
返り血が…

881 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 20:12:45.37 ID:lqMB4Ba7.net]
言霊が悪いから変わったのか

882 名前:デフォルトの名無しさん [2018/11/16(金) 21:31:56.78 ID:yffHE+vP.net]
509 その名前は774人います (バットンキン MM5a-fW3D) 2018/11/16(金) 21:30:34.79 ID:LED0s8bKM
>>329
>何十年も前からあるオブジェクト指向をいまさら教えたい馬鹿は何なんだ。

207 その名前は774人います (ワッチョイWW 8f08-fW3D [49.128.130.98]) 2018/11/16(金) 21:21:25.27 ID:U3NlEEpg0
>>203
>夜もビンビンなの?

『オブジェクト指向』と『オブジェクト指向言語』は別だと、プログラマーには叩き込んでやりたくてね。
Rubyとかの高級プログラミング言語は、逆にオブジェクト指向を意識しないでプログラミングできる仕組み。

    チ ン ポ が シ コ シ コ す る !

俺はオブジェクト指向言語を使っているからオブジェクト指向プログラマーだという勘違いを直させてやる!

174 その名前は774人います (バットンキン MM5a-fW3D) 2018/11/16(金) 07:04:12.40 ID:N77Q/1ZeM
>ドラゴンクエストの世界観が全く反映されていないような印象

    ド ラ ゴ ン ク エ ス ト と は 何 か ?

ドラゴンクエストとは何かを問い続けるのが、終わらないドラゴンクエストだろう? 違うか?

2 その名前は774人います (バットンキン MM5a-fW3D) 2018/11/16(金) 07:42:40.97 ID:N77Q/1ZeM
再帰関数を理解するにあたり先輩社員に教えていただいたのですが、その時の再帰関数の例がとてもわかりやすかったので共有させていただきます。
この例のおかげもあり、はじめは再帰関数なにそれ状態から、最後はしっかりと実装できるようになりました。再帰関数はPythonで実装しています。
https://qiita.com/jumpyoshim/items/20e6b5e70efa466699b4

883 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 23:59:36.22 ID:RoXRfHM0.net]
そのオブジェクト指向言語のRubyが今大人気!!

世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/

さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい!

884 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 00:43:30.09 ID:RBFsSCte.net]
物は言いようとはまさにこれか



885 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:33:27.70 ID:0GWbuErn.net]
Java人気に嫉妬

886 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 16:15:53.72 ID:P4rvEbGj.net]
ずっとルビィストがゴミだと言い続けてPHPにはとうとう勝てなかったんだな。

887 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 16:19:33.92 ID:0GWbuErn.net]
ルビィストは俺らはエリート、PHPは雑魚が多いだけだと思ってる

888 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 21:51:27.90 ID:qMkb6Tox.net]
PHPは脆弱性作成ツールだし、Rubyは言語仕様はともかく宗教家がうざいので嫌です

889 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 23:50:16.67 ID:qkMTthra.net]
言語仕様などありません。気まぐれで書いたコードが仕様です!

890 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 04:17:41.94 ID:ObfWYchR.net]
「言語仕様などありません。気まぐれで書いたコードが仕様です!」

俺の脳内の言語先生はこう言ってるんだが、
どう思う?

891 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 19:16:34.77 ID:Mto5YVhB.net]
>>119
テンプレートで静的ポリモーフィズム。

892 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 20:02:42.01 ID:dXxvgzBG.net]
枕詞に「純粋な」と付くと危険度が上がるな
過去の純文学/大衆文学/私小説論争や
純喫茶の僭称や
21世紀の現代ではピュアオーディオや純オブジェクト指向がその志を受け継いでる
もちろん賤民思想で、ピュアであればあるほど尊いと考えてるアホが少なからずいる

893 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 20:21:26.01 ID:ObfWYchR.net]
枕詞と
松崎しげるって
なんか似てね?

894 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 20:38:47.02 ID:rVdz2W17.net]
枕営業



895 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 16:57:40.99 ID:SyBSdXLd.net]
オブジェクト指向は分かりづらくなるから基本的には害しかないな。

896 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 21:55:31.90 ID:Dgzw+pp+.net]
>>878
なんちゃってオブジェクト指向が多過ぎ。

897 名前:デフォルトの名無しさん [2018/11/20(火) 23:18:47.68 ID:Vm2a6rBd.net]
なんちゃってって何や?

898 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 23:24:06.45 ID:l2byaKpo.net]
裸の王様って童話知ってる?

899 名前:デフォルトの名無しさん [2018/11/20(火) 23:25:31.52 ID:Vm2a6rBd.net]
童話って何や?

900 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 23:26:50.47 ID:l2byaKpo.net]
その中で、沿道にいた一人の小さな子供が、
「だけど、なんにも着てないよ!」と叫び、群衆はざわめいた。
「なんにも着ていらっしゃらないのか?」と、ざわめきは広がり、
ついに皆が「なんにも着ていらっしゃらない!」と叫びだすなか、
皇帝のパレードは続くのだった。

901 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 23:29:45.37 ID:l2byaKpo.net]
皇帝はうろたえるが、家来たちにはオブジェクト指向がわからないとは言えず、
オブジェクト指向のメリットを大声で賞賛し、
周囲のプログラマも調子を合わせてオブジェクト指向を褒める

902 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 23:32:41.60 ID:l2byaKpo.net]
まんまお前らだなw

staticおじさんと五十歩百歩w

903 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 23:57:53.01 ID:1npKfTne.net]
じゃあ上でOOPの弱点を指摘するレスをかいてたオレは
差し詰めその小さな子供見たいに無垢で正直なんだな

904 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 00:13:49.18 ID:RC26/6OQ.net]
constおじさん大暴れ



905 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 00:18:05.20 ID:zIpdinjM.net]
それは、オレではないww
残念でしたー

906 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 00:36:54.68 ID:8MyYCmiU.net]
流れを読まずに持論を書く

オブジェクト指向とはデータ構造と それに作用するメソッドを結びつけること
逆に言えば、そのデータに結びつかない作用や参照を排除するアクセス機構を持つ
つまりはカプセル化こそが本質

実際、これはオブジェクト指向という言葉がメジャーになる前から使われていて
Cの標準ライブラリにあるFILE構造体はその典型と言える
FILE構造体にはアクセス制限はかけられていない、というかCではかけられないけど
直接アクセスしなくてもファイル操作には困らない
FILE構造体というデータ構造に対する必要十分なメソッドは用意されてる

継承や多態性などはオブジェクト指向を便利に使うためのユーティリティに過ぎない
これらは節度ある使い方をすれば便利だけど、やり過ぎると確かに副作用はある

907 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 00:38:45.87 ID:zIpdinjM.net]
>>889
それと構造体のインスタンスとの違いは何だと思う?

908 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 00:52:09.02 ID:8MyYCmiU.net]
>>890
質問の意味を取り違えてるかも知れないけど
構造体が使えるならオブジェクト指向は要らないのでは、という意味かな

問題は使い方にある
オブジェクト指向言語とはオブジェクト指向的な作りをサポートする言語

909 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:04:22.97 ID:zIpdinjM.net]
>>891
違いはあります。それは何だと思うのか聞いたのが>>890

使い方は書き方次第なんだけど…

それはさておき
「オブジェクト指向的な作りをサポート」
って何

910 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:06:57.00 ID:zIpdinjM.net]
ま、今夜は寝るわ。
あう機会があったら
またねノシ

911 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:19:24.31 ID:8MyYCmiU.net]
>>892
すまんね
>>890 の文の先頭にある「それ」が何を指してるのか不明確だったので

Cの構造体とC++のクラスの違いという意味かな
それは >>889 に書いた通りカプセル化されているかどうかということだろ
Cの構造体ではデータにアクセスするメソッドを制限できないが
オブジェクト指向言語なら出来る
サポートとはそういうこと

912 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:20:25.70 ID:ILAAUKO6.net]
「スマンがお前らがガタガタ抜かすよか遥か昔に『オブジェクト』っつう計算機科学用語生み出したの俺なんだわw
黙ってようと思ったけどさ、あんまりお前らが的外れなこと偉そうにグダグダ言ってるもんで。しかも枝葉ww
一番大切なことは何か教えといてやろうか?
それは『メッセージング』だよ」
──アラン・ケイ(俺私訳)

913 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:33:17.63 ID:ILAAUKO6.net]
「俺様にとってOOPとは、メッセージング、状態プロセスを隠蔽しローカルに保持・保護すること(薬中:カプセル化のこと)、そしてすべてに対する遅延バインディングの徹底、これに尽きる」
──アラン・ケイ(俺私訳)

914 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:47:09.00 ID:ILAAUKO6.net]
アラン・ケイの言うOOPに必須の要素:
・カプセル化
・メッセージパッシング
・動的バインディング(実行時に於けるプログラムの進化・適応能力)
必須ではない要素:
・クラス
・クラス継承
・オブジェクト・関数・データの特別扱い
・newキーワード
・多態(ポリモーフィズム)
・静的型
・クラスを「型」として認識すること



915 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 01:59:47.29 ID:ILAAUKO6.net]
「『オブジェクト指向』っつう用語は俺が造ったが、C++とやらにはそれについて語ることがなんにもない」
──アラン・ケイ(俺私訳)(C++が引き合いに出されてるがこの発言は97年。もっと遅ければJavaになったのだろうか…?)

916 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 02:13:11.72 ID:8MyYCmiU.net]
>>898
こういうこと言うから初心者は混乱するのでは
ケイにしたって先行するSimulaがなければオブジェクト指向を発想出来なかったし
Smalltakも作れなかったと思う

917 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 02:15:17.92 ID:8MyYCmiU.net]
>>899
スペルミス
Smalltalk

918 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 02:20:09.41 ID:zIpdinjM.net]
>>898
そんなやり方でで
大規

919 名前:ヘで複雑化するソフトウエアが表現できないから
問題が顕在化してるのに
まぁ寝るわ
[]
[ここ壊れてます]

920 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 02:37:44.49 ID:SfkVXijR.net]
>>901
何だその言い訳
ラーメンの出前頼んだ人に「ラーメンだと冷めるし伸びちゃうでしょ?だから寿司を持ってきたよ。君にはラーメンじゃなくてコレが必要なんだ!だからコレを今日からラーメンではなくて寿司と呼ぶよ!」と言ってるようなもん。意味不明。

ラーメンの冷める、伸びるといった問題が顕在化してきて、寿司がそれを解決できるからといって、寿司こそが真のラーメンであるということにはならない。

921 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 02:38:44.44 ID:SfkVXijR.net]
寿司ではなくラーメンと呼ぶ、だった

922 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 07:08:50.55 ID:ziJlPcJv.net]
ここまでオブジェクト指向の数値的なメリットなし

923 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 07:10:32.88 ID:ziJlPcJv.net]
議論してる奴等は全員使ってる技術のメリットもあげられないサル

924 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 07:39:32.60 ID:NVAWjNTH.net]
>>904
だから早く答えて

>>801
> オブジェクト指向のメリットを数字をあげて一つも説明できないわけでしょ?

数字? オブジェクト指向が使われてる
プロジェクト数とかでいい?

なんの数字がでればいいかいってみて 



925 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 07:59:06.79 ID:ziJlPcJv.net]
>>906
それは君が思うオブジェクト指向のメリット次第じゃない?
その説明に必要な数字を出せばいい

926 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 08:02:19.92 ID:AzUCjiVS.net]
>>904
デメリットのもなし。
目糞鼻糞

927 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 08:03:11.06 ID:1y5iZMYL.net]
メリットくん、半角くん、チンポくん

ウォッチしてんなーw

928 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 08:07:49.07 ID:HZRf7c2A.net]
nodeやり始めたときに関数型やイベントでどうやってプログラムを組み上げていいかわからず
結局オブジェクト指向の書き方になってしまった

929 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 08:09:42.68 ID:K8VHhpBv.net]
jsは関数型でも非同期が最大のメリットだからまた一味違うんだよな
Goやれ

930 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 08:24:22.62 ID:ruXLd7u/.net]
メリットくんも言語の素養がないしな

まず自分から定量化のための指標を提示しなさいよ

931 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 08:24:46.50 ID:NVAWjNTH.net]
>>907
> それは君が思うオブジェクト指向のメリット次第じゃない?
> その説明に必要な数字を出せばいい

どんな数字を出しても納得しないっていうのだから
聞くしか無いでしょう?

932 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 09:33:50.45 ID:No2NMZ8g.net]
- Simulaはクラスとオブジェクトという言語機能は与えたけど「オブジェクト指向」は(当初は)考えられていない
- (ごく初期の)Smalltalkはメッセージングによる「決定の遅延」の徹底とそのサポートをもって「オブジェクト指向」と呼んだ
- C++は、ユーザーによるデータ型定義(抽象データ型、データ抽象)をSimulaのクラスを使ってやるアイデアを「オブジェクト指向」と呼んだ

933 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 09:41:46.92 ID:No2NMZ8g.net]
だから、「オブジェクト指向」のメリットというのは

- Smalltalk(ケイの主張)の「オブジェクト指向」なら、実装中、実装完了後、必要なら実行中も決定を変えられる柔軟性。
- C++(ストラウストラップの主張)では継承を活用した差分プログラミングと自在に定義可能な型を用いた安全なプログラミング

ということになる。ただし、

前者のメッセージングは主に効率の面からスケールしないことが早々に分かって、Smalltalkを含め
単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。

後者も「差分プログラミング」については、「型安全なプログラミング」が保証できない場合があることが早々に指摘され
その用途でのクラスの欠点を補うことを目的に「インターフェース」が考案され現在はこちらが広く用いられている。

とまあ紆余曲折はあったが、前述のメリット(目指す先)はその後も大きくは変わっていない

934 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 11:13:01.71 ID:VgS6VJyN.net]
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。

ナンチャッテメッセージングスタイルになることによってプログラミング言語が失ってしまったものは何だったのでしょうか?



935 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 12:19:22.25 ID:ZdAecqpt.net]
>>913
それは君がメリットを明確にしないからじゃん

936 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 12:39:53.31 ID:No2NMZ8g.net]
>>916
単純に並行並列・分散というような処理におけるスケーラビリティでしょうね

ヒューイットのアクターはSmalltalk-72(初期のSmalltalk処理系で、非同期ではないながらも
トークン列をメッセージとして一応処理していました)をヒントに、ケイのメッセージングのアイデアを並列処理に応用し
定式化を試みた理論で、今、このアクター理論に基づく言語機能やライブラリを備えた言語が各所で重宝されています

アクター理論こそ真の(ケイの目指した)「オブジェクト指向」だと言う人もいますが、これはちょっと言い過ぎですね
両者はメッセージングという共通項は持ちますが、かたや並列並行処理、かたや決定の遅延と、問題にしている領域が違うので…

937 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 12:45:55.83 ID:UM5ff+tU.net]
> - Smalltalk(ケイの主張)の「オブジェクト指向」なら、実装中、実装完了後、必要なら実行中も決定を変えられる柔軟性。

この「実行中」の定義が今と常識とぜんぜん違うんでしょ?
Smalltalkは実行環境でOSみたいなもんだから、
「実行中も決定を変えられる」っていうのは
今で言うOS起動中にプロセスを再起動できる程度の意味でしょう

今はプロセスは通常は複数のオブジェクトの集まりでできているけど
アランケイの時代は1プロセスが1オブジェクトレベル程度の小さなものだった
そういう想定だから1オブジェクトを入れ替えるという発想も理解できるが、
今だと複数のオブジェクトを同時に入れ替えないと正しく動作しないので
そんな1オブジェクトずつちまちまと動作を変えていくなんてありえない

そもそもアランケイの言う「実行中」は「起動中」であって
「使用中」じゃないんだろう。マルチユーザーで誰かが使用している最中に
入れ替えるとか怖くてできない。入れ替えるにしても保存したら即反映じゃなくて
ユーザーが誰も使用してない状態にして入れ替えないとだめだろうしな。

つまりアランケイが求めていた柔軟性は、OSとプロセスの概念によって
もっと実用的な形で実現されてしまった。だから誰も言語にそんな物を求めていない

938 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 13:24:30.02 ID:No2NMZ8g.net]
>>919
なんでこの流れでそこまで徹底的に否定しないと気が済まないのか分からないけど(Smalltalkに親でも殺された?)
「オブジェクト指向」とは何かを説明したまでで、それに対する批判や感想は勝手にやってもらったらいいと思うよ

ただ

> 今で言うOS起動中にプロセスを再起動できる程度の意味

というのはちょっと現状の制約に合わせて矮小化しすぎのような気がする

アラン・ケイが目指したのはたぶん通常は手を入れない((セキュリティや安全面から当然だが)枠組みそれ自体
(たとえば言語処理系)における決定事項も変更可能なほどの柔軟性(メタ機能)なので
squab.no-ip.com/collab/uploads/61/IsSoftwareEngineeringAnOxymoron.pdf

関連して、(繰り返しになるけどその善し悪しは別にして)自身の枠組みに手を入れられること以外にも
デフォで永続化可能っていうのも今のOS(における仮想化したそれ自体やプロセスの再起動)には考慮されないファクターだよね

939 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 17:04:46.25 ID:bLoKnUqC.net]
>>919
いや、今も昔も、Smalltalkではメソッドを実行中のオブジェクトについてもクラス定義やメソッドを変更することができる。
Smalltalk-80が失ったのは、メッセージ自体が持つオブジェクトらしさ。メッセージセレクタはオブジェクトではあるが、ソースコード上はあまりオブジェクトらしい扱いになっていない。

940 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 17:44:11.51 ID:No2NMZ8g.net]
>>921
細かいことで恐縮ですが

> Smalltalk-80が失ったのは

ナンチャッテメッセージングスタイルになったのはSmalltalk-76からなので正確には「Smalltalkが-76以後失ったのは」かと…

> ソースコード上はあまりオブジェクトらしい扱いになっていない。

「ソースコード上でのオブジェクトらしい扱い」って具体的にはどういった感じでしょうか?
メッセージセレクタはメッセージを構成するトークンとして現れていますし、オブジェクトらしい扱いは一応受けているとおもうのですが

「(メソッドコールの)処理上、(セレクタではなく)メッセージが」
(既存メソッドのコールであればVM内で完結することもあって、メッセージっぽい扱いをされていない)、ではなく?

941 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 18:19:44.20 ID:UM5ff+tU.net]
>>921
> いや、今も昔も、Smalltalkではメソッドを実行中のオブジェクトについてもクラス定義やメソッドを変更することができる。

「変更することが出来る」っていうことはわかってるんだよ
そこは重要じゃない。重要なのは変更してもシステムは
エラーなく続行し続けられるか?でしょ?

関数型言語なら状態を持たないからわかるけど
Smalltalkはオブジェクト指向なんだから状態を持っている
状態を持っているまま処理内容だけを変更したら
(データに互換性がない場合)エラー出るでしょ?

クラス定義を変えるならば、インターフェースが変わることだってある
その場合、クラス定義だけじゃなくて、クラスを使っている方も
同時に変更しなければいけない。

もちろんリファクタリングとデータのマイグレーション(変換)を駆使すれば
プログラムを走らせながら、変更するのは可能かもしれないけど、
そんなアクロバットプログラミングなんて誰も求めてない
サービスの一時停止やプロセスの再起動で許されることのほうが多いでしょって話

942 名前:デフォルトの名無しさん [2018/11/21(水) 18:30:17.93 ID:BbP/iGml.net]
オブジェクト指向とオブジェクト指向プログラミング言語とは、方向性が真逆。
むしろオブジェクト指向を意識しなくてもオブジェクト指向プログラミングできるのが、
Rubyのような『いわゆる』オブジェクト指向プログラミング言語。

627 デフォルトの名無しさん 2018/11/01(木) 04:32:24.08 ID:PmS8KjrS
一回こっきりの家庭用ソロゲーを作成するなら、オブジェクト指向がチンポがうんたらは必要無い。

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

しかしながら将来的に改変したり削除したり拡張したりする場合、『チンポ』のような多態性が不可欠。

943 名前:デフォルトの名無しさん [2018/11/21(水) 18:36:07.42 ID:8Yc2p7H1.net]
>>919
>そもそもアランケイの言う「実行中」は「起動中」であって
>「使用中」じゃないんだろう。マルチユーザーで誰かが使用している最中に

チンポがシコシコしている間、俺はそれでも俺なのかと尋ねた。

829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。

『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル

944 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 18:37:29.28 ID:UM5ff+tU.net]
>>925
たとえば、CycはFredという名前の男がドナルドダックのモノマネをするという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には羽がないことは知っているが、
アヒルのように歩き、アヒルのように鳴くものはアヒルに違いないと考えた。
したがって、CycはFredがドナルドダックのモノマネしている間、
Fredはそれでも人間なのかと尋ねた。



945 名前:デフォルトの名無しさん [2018/11/21(水) 18:53:28.93 ID:8Yc2p7H1.net]
>>919
>この「実行中」の定義が今と常識とぜんぜん違うんでしょ?

『オブジェクト指向』なる『概念』そのものはずっと前から俺の股間に付いているんだけど、
『オブジェクト指向プログラミング言語』はごく最近、これまでに無かった『機能』が追加されたんだろう?

946 名前:デフォルトの名無しさん [2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1.net]
>>922
>ナンチャッテメッセージングスタイルになったのは

チンポ.オシッコを出す
チンポ.オシッコを止める

さっきトイレでやってきた。

947 名前:デフォルトの名無しさん [2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1.net]
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。

×
俺.オシッコを止める 俺.オシッコを出す

俺.チンポに力を入れる 俺.チンポから力を抜く

948 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 19:36:14.36 ID:bLoKnUqC.net]
>>922
レシーバ セレクタ 引数
これらのうちレシーバと引数は表現式(オブジェクト)ですが、セレクタはそれ単独では表現式(オブジェクト)ではないですね。もちろんメソッド内のリテラルにセレクタがシンボルオブジェクトとして格納されているので実体としてはオブジェクトですが。

949 名前:デフォルトの名無しさん mailto:age [2018/11/21(水) 21:55:34.70 ID:Xc/Hc18Z.net]
オブジェクト指向を語るお前らがクソ

950 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:07:53.22 ID:ZgksAXKX.net]
オブジェクト指向のメリット

型を持ってる変数が最初にくるから
書くときIDEのインテリセンスが使いやすくて便利

951 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:09:43.33 ID:LAJ52fwT.net]
型はオブジェクト指向の要素じゃない。次!

952 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:11:59.32 ID:ZgksAXKX.net]
でも大抵型ついてるし変数が最初にくるからそれが使いやすいんだ
オブジェクト指向以外でそんなのあるか?

953 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:20:32.18 ID:Poi4aHpr.net]
>>930
なるほど

ただ、Smalltalk-72でも(セレクタ同様、トークナイズ後にシンボル様オブジェクトとして扱われるとは言え)
リテラルでないトークンをメッセージに混ぜられますよね?

例えばSmalltalk-72のウィンドウを生成するメッセージ式は

👉dp ← dispframe 100 75 100 120 string 200.!

のように記述するのですが(念のため、dispframeがレシーバ、100 75 100 120 string 200 がメッセージです)
bitsavers.informatik.uni-stuttgart.de/pdf/xerox/parc/techReports/Smalltalk-72_Instruction_Manual_Mar76.pdf p.30

最後から二番目の「string」は続く引数がバッファサイズであることをパターン認識により見分けられるよう添えらます

リテラルではないこともあわせ、このstringはセレクタ(の特にキーワード)に近い役割&扱いだと言うことができそうなので
Smalltalk-76以降の文法で失われた…とするのはちょっと弱いように思いました

あくまで個人の感想ですが

954 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:35:28.94 ID:UM5ff+tU.net]
オブジェクト指向言語のメリット
オブジェクト指向がやりやすい



955 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:39:18.12 ID:DBPerFhf.net]
とことん手段指向
身もフタもないな

956 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 23:18:04.82 ID:UM5ff+tU.net]
オブジェクト指向のメリットは?とよく聞かれますが、
そもそも、オブジェクト指向以外のやり方にメリットが
ないってのが答えなんですよね

オブジェクト指向以外のメリットを書くスレ
https://mevius.5ch.net/test/read.cgi/tech/1542808008/

957 名前:デフォルトの名無しさん [2018/11/21(水) 23:19:44.65 ID:JM/nMfDs.net]
>>938
つまりオブジェクト指向にもメリットがないと言いたいのかstaticおじさん

958 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 23:19:48.93 ID:QCzQZ2rP.net]
オブジェクト単位に分ける工程が無駄
ハイ、論破

959 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 23:52:34.04 ID:UM5ff+tU.net]
それを数値で示していない。はい論破返し

960 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:02:06.85 ID:SJlwfHl4.net]
ガウディ本読んでる奴が居ない件の

961 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:06:13.73 ID:WA/+SJn9.net]
                  ハヽ/::::ヽ.ヘ===ァ       
                  {::{/≧===≦V:/、       
               / >:´:::::::::::::::::::::::::`ヽ\_     
                |iγ:::::::::::::::::::::::::::::::::::::::::ヽi|     カ
               〈/::::::::::::::::::::::::::::::::::::::::::::::ハ_》      バ
                !:::::::l::::/|ハ::::::::∧::::i:::::::::::i      デ
                 |::::::i∨ ト-:::::/ ,X:j:::/:::::l       ィ
            r⌒ ヽ ヽ::::| ≧z !V z≦ i/:::::/ ./'⌒ゝ 
        .   ヽと  ヽ ゝ:} “        “ {:::::/ っ丿 
                \  \::ゝ、 _ ( ) _ イ::/  /`  
               \              /::::\  
               /::::/`ヽ          r'´  \:::\
             /::::/   |        _ _」     }ノノ
               {:::/     |        "  ヽ          
             ヽ    |           丿
                    |    /'⌒ } " }
                      |   {   ゝ,,ノ
                   |   {      
                        |   i
                   ゝ__,,ノ

962 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:06:56.04 ID:YC9N9M8Q.net]
>>943
っω

963 名前:デフォルトの名無しさん [2018/11/22(木) 00:16:53.46 ID:HONMAAM4.net]
>>941
staticおじさんは黙っとけw

964 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:19:35.78 ID:WA/+SJn9.net]
>>945
staticおじさんではないので黙らないw



965 名前:デフォルトの名無しさん [2018/11/22(木) 00:20:36.62 ID:HONMAAM4.net]
>>946
でもオブジェクト指向しらんのやろwそれstaticおじさんやからw

966 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:25:38.32 ID:WA/+SJn9.net]
>>947
オブジェクト指向知ってるのでstaticおじさんでないことは証明された

967 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 00:54:40.06 ID:AcqNnxh2.net]
>>923
> Smalltalkはオブジェクト指向なんだから状態を持っている
> 状態を持っているまま処理内容だけを変更したら
(データに互換性がない場合)エラー出るでしょ?

そのエラーが出てからの対処が容易であることがすなわちケイのOOPの肝たる「決定の遅延」(のサポート)なんですよ

おそらくとうてい許容できない行為だろうとは思いますが、Smalltalkでは日常のこちらを参考まで
https://youtu.be/ymITEeAOtEA
https://youtu.be/xfLhXb1K4Uk

968 名前:デフォルトの名無しさん [2018/11/22(木) 00:56:50.72 ID:ROOr0q+m.net]
×
俺.オシッコを止める 俺.オシッコを出す

俺.チンポに力を入れる 俺.チンポから力を抜く

>俺.オシッコを止める

『指でチンポをつまんでオシッコを止める』

>俺.オシッコを出す

『尿モレ』『尿シッキン』どうする?

969 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 01:27:10.12 ID:pXjB8XIH.net]
>>941
でもこの場合
オブジェクト単位に分ける工程が完全に削除できるんだからメリットってわかるでしょ?
オブジェクト単位に分ける工程が0より大きいので
それが削除できる以上メリットとなる

証明完了

970 名前:デフォルトの名無しさん [2018/11/22(木) 01:38:10.58 ID:ROOr0q+m.net]
>>951
>オブジェクト単位に分ける工程

人工知能は『物の意味』を『区別』することから始まるのでは?

776 Mr.Moto sage 2018/09/08(土) 08:57:47.30 ID:Hj3WpMqo
「もの」という言葉が出たついでに言っておくと、
ここでいう「もの」は“individual”、すなわち「不可分なもの。
個人、個体、個物」を意味する。れっきとした哲学用語だ。
ただし、これは「物理的な存在」ではなく、「概念」を
指していて、しかも「具体的な意味」「内包的な意味」を
持たない。その意味で、individual は「意味を引っ掛ける釘」の
ようなもので、「こっちの釘とあっちの釘は、どこがどう違うと
言われても説明できない。ただ、引っかかっている意味が違うし、
比較によって区別できる」ものである。
同じような性質をもった存在として、Codd のデータベース理論における
データベース・キーというものがある。

971 名前:デフォルトの名無しさん [2018/11/22(木) 01:41:49.54 ID:ROOr0q+m.net]
自然言語処理スレッド その5
mevius.5ch.net/test/read.cgi/tech/1537152490/

そもそも人工知能とは、『オブジェクト指向の果てなき追求』ではないのか?

違うか?

違うというなら、その理由を50字以内で述べろ!

972 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 01:47:25.03 ID:YC9N9M8Q.net]
>>953
違うという理由を人に聞く前に
そうだという理由を述べるのが筋だろ

973 名前:デフォルトの名無しさん [2018/11/22(木) 01:49:36.77 ID:ROOr0q+m.net]
>>954
>違うという理由を人に聞く前に
>そうだという理由を述べるのが筋だろ

ならばシステムをオブジェクト単位に分ける必要性について答えておこうか。

>>951
>オブジェクト単位に分ける工程が完全に削除できるんだから

戦神のベルトが倉庫を圧迫。仕分けましょう【DQ10】
okirakudq10.com/archives/53537205.html

974 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 02:01:56.48 ID:YC9N9M8Q.net]
>>955
科学とか工学にはるかに至らない
迷信とか思い込みのレベルだな



975 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 04:49:22.53 ID:sPtmfb/w.net]
>>935
そんな風に、セレクタ(的なシンボル)とオブジェクトが一緒くたにして扱われるところが、Smalltalk-72の良いところだと思っていて、76や80のメッセージセレクタはちょっと味付けが違っていて、オブジェクトと一線を画しているというのが、私の個人の感想です。

976 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 06:01:15.58 ID:WA/+SJn9.net]
>>949
> そのエラーが出てからの対処が容易であることがすなわちケイのOOPの肝たる「決定の遅延」(のサポート)なんですよ
エラーが出る時点で駄目でしょ?

> おそらくとうてい許容できない行為だろうとは思いますが、Smalltalkでは日常のこちらを参考まで
許容してはいけないことだね。

エラーが出て止まるならまだいいけど、間違った結果で実行されてしまったら取り返しがつかないもの

アクロバットプログラミングはやめよう

977 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 06:33:08.70 ID:WA/+SJn9.net]
Smalltalkの実行しながら修正できるっていうのは、
「最初から再実行しなくても修正できるよ」程度のものなんだろう

最初から再実行すればいいじゃん?
それが今の時代の感覚。

テストコードはあるしプロセスを終了して最初から再実行すればいい
無の状態から再実行するから同じ状態が何度でも作れる

ユニットテストはSmalltalkで一番最初に実装されたが、
これにによって「最初から再実行しなくても修正できるよ」の
価値が大きく下がったのだろう

もちろんSmalltalk開発の初期はコンピュータの性能が低く
Smalltalkの場合、実行環境そのものという設計だったから
再実行できたとしても、再実行するのに時間がかかった

それも今はプロセス単位で再実行できるし、コンピュータの性能の
向上で再実行すれば十分になってしまった。

昔はデバッガを使って実行中にブレークポイントで止めて実行しつつ状態を
確認していたのだが、今はそんなことをすることは殆どなくなった。
なぜなら関数レベルで単体で実行することが簡単になったからだ。

978 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 07:54:59.11 ID:AcqNnxh2.net]
>>957
おっしゃるとおり、今のキーワードに相当するトークンをメッセージ内に適当に混ぜられる自由度は失われていますね
感覚はわかりましたありがとうございます

979 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 08:07:58.62 ID:y7NAvoby.net]
>>951
頭からダラダラ書くことしかできないお前にはそうなんだろうな w

980 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 08:11:04.06 ID:AcqNnxh2.net]
>>959
> ユニットテストはSmalltalkで一番最初に実装されたが、
> これにによって「最初から再実行しなくても修正できるよ」の
> 価値が大きく下がった

注目する部分の粒度というかタイミング(あるいはリズム感)みたいなものが互いに食い違っているんだよね
動画にもあるように、たとえTDDであっても再実行せずに直せるのは別にアクロバティックでも何でもなく
むしろ(TDDとしても)自然な流れなんだけどなぁ

決定の遅延派と早期結合派とは一生わかりあえないんだろうねきっと

981 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 10:06:11.05 ID:WA/+SJn9.net]
>>962
TDDではまず実行してテストが失敗する状態にしないといけない
実行し終わって結果が出てるんだよ
つまり二回目以降の実行っていうのは「再実行」

この再実行が簡単に行えるわけだが、それに対する
Smalltalkのメリットは未実装の直前まで実行できるってことでしかない
それで一体どんな価値があるというのか?

> 決定の遅延派と早期結合派とは一生わかりあえないんだろうねきっと
価値の話をしてないからな。

決定を遅延できるから素晴らしいんだ!(何が?)
そう、何が素晴らしいのかが書かれていない

過去においては素晴らしいなにかがあったかもしれないが、
それは今は別の技術によって解決されてしまってるということ
別の技術というのは早期結合のことじゃない
別の技術による決定の遅延という意味。決定の遅延自体は行っている。
Smalltalkの言語機能を使っていないだけ

それとも今の時代においても、何か価値があるのか?
なくなってしまってるから書けないはずだ

982 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 11:19:38.02 ID:DWgniQ0o.net]
>>963
> Smalltalkのメリットは未実装の直前まで実行できるってことでしかない
> それで一体どんな価値があるというのか?

未実装の直前まで他の準備に煩わされることなく作業をスムーズに進められるのはあきらかに価値あることだろう

未実装でエラーを出した後、仮実装のためのメソッドを追加し1回目のテスト実行を終えられる
この流れを妨げないスピード感はとにかくコンパイルを通すためにいろいろ手続きを踏まないといけない早期決定畑の人には分からないと思う

あと、レッド(→イエロー)→グリーン→リファクタリング→…のサイクルを回すのはたしかにそれぞれは再実行だけど
レッド、イエロー、グリーン、リファクタリングそれぞれの工程で実行中に書き換えられることのメリットは生きてくる

なんか、批判的に指摘してくることの粒度というかレイヤーというかがいちいち外れているんだよね
当たり前なことをしたり顔で主張されても「そうですね。で?」ってなるだけ
たとえばこれもそう↓

> 決定を遅延できるから素晴らしいんだ!(何が?)

アラン・ケイも書いているとおり(念のため再掲)→squab.no-ip.com/collab/uploads/61/IsSoftwareEngineeringAnOxymoron.pdf
使い捨てではない長期運用を想定したソフトウエアの開発において、知見というのはあとからついてくることは誰もが経験済みだろうし
それを開発中、運用中のシステムに適用しようと思ったとき(まあ早期決定脳では思いもよらないことだが…)に役立つのは明らかだよ

たぶん思慮の及ぶダイナミックレンジがずれていてすごく狭い範囲のことしか頭にないんじゃないかな
繰り返し指摘されているような限定された局面での問題であれば今の技術で十分対応できているしそれを否定する気はさらさらないよ

あと、あくまで暫定実装に過ぎないSmalltalkの実装やその欠陥にとらわれすぎでは?
本来であればアラン・ケイの「オブジェクト指向」とそれが目指す「決定の遅延」のために必要な要素は何かや
ストラウストラップらの型をクラス様エンティティでやるアイデアの「オブジェクト指向」との違いが何かが論じられるべきだろう
なんでそんなにSmalltalk(をやっつけること)にこだわるのかね(ほんと親でも殺されたか?)

983 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 11:23:08.96 ID:WA/+SJn9.net]
>>964
> 未実装の直前まで他の準備に煩わされることなく作業をスムーズに進められるのはあきらかに価値あることだろう

再実行しても0.1ミリ秒ぐらいの差しかないけど?

984 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 11:24:22.26 ID:WA/+SJn9.net]
>>964
> アラン・ケイも書いている 〜略 〜 親でも殺されたか?)

そいう長文言い訳はい



985 名前:轤ネいんで、
どんな価値があるか書いてよw
ホント言い訳だけだな。長いのは
[]
[ここ壊れてます]

986 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 12:00:14.14 ID:P9tUkoXd.net]
15行以上のカキコはたいていクソなので無条件にNGにしてる。
(.*\n){15}でNG word登録。

987 名前:デフォルトの名無しさん [2018/11/22(木) 12:05:29.43 ID:ROOr0q+m.net]
>>961
>頭からダラダラ書くことしかできないお前にはそうなんだろうな w

チンポがシコシコするぜ!!

988 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 12:19:57.68 ID:DWgniQ0o.net]
>>965
> 再実行しても0.1ミリ秒ぐらいの差

未実装メソッドを実装するときににコンテキストが分かれば(つまり実行中なら)実装もしやすいだろうとそういうメリットだよ
再実行する前の話

>>966
> どんな価値があるか書いてよw

書いたけど読んでないの?

> 使い捨てではない長期運用を想定したソフトウエアの開発において、知見というのはあとからついてくることは誰もが経験済みだろうし
> それを開発中、運用中のシステムに適用しようと思ったとき(まあ早期決定脳では思いもよらないことだが…)に役立つのは明らか

989 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 12:26:03.13 ID:f4Y3NhdZ.net]
ここまでオブジェクト指向のメリットなし

990 名前:デフォルトの名無しさん [2018/11/22(木) 12:29:23.68 ID:ElVxNvlT.net]
>>961
>頭からダラダラ書くことしかできないお前にはそうなんだろうな w

ドラえもん ぼくたち地球人
https://youtu.be/UYdfmyd2vD4

僕たち地球人〜今日も明日もあさっても〜チンポがシコシコ〜するんだよー!

 バ バ ア が 潮 吹 い た ぁ !
egg.5ch.net/test/read.cgi/welfare/1539337979/

991 名前:デフォルトの名無しさん [2018/11/22(木) 12:53:30.19 ID:ElVxNvlT.net]
611 名無し三等兵 (ワッチョイ 7fe7-t9Bb) sage 2018/11/22(木) 12:46:59.97 ID:vFEoyYoC0
>>587
「ちんちん」の語源の1つの説に、
支那の娼婦が幼児語で「入れて入れて」と言った言葉を
当時の出羽守が有難がって日本に広めたという
かなり眉唾物な故事がある。

その説に依るなら「チンポかシコシコする。」は
当然のように入れた側の所感とその転用じゃな。

591 名無し三等兵 (スッップ Sd1f-hEn1) sage 2018/11/22(木) 12:26:55.61 ID:9IvK1JXqd
>>587
シコシコするは他動詞なので、所有者の意思とは無関係にチンポが自立行動するのであれば「イライラする」「ムラムラする」という自動詞を用いるのが正しい

992 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 14:13:32.13 ID:WA/+SJn9.net]
>>969

> 未実装メソッドを実装するときににコンテキストが分かれば(つまり実行中なら)実装もしやすいだろうとそういうメリットだよ

それは実行しなくてもコンテキストがわかるなら
もっとメリットが有るってことかな?

993 名前:デフォルトの名無しさん [2018/11/22(木) 14:14:27.19 ID:ElVxNvlT.net]
>>966
>そいう長文言い訳はいらないんで、

チンポがシコシコするぜ!!

994 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 14:28:15.43 ID:WA/+SJn9.net]
結局Smalltalkの実行中に編集ができるっていうのは単なる
未実装メソッドを実装するときににコンテキストが分かれば
(つまり実行中なら)実装もしやすいだろう程度のことでしかなかったということだ

要するに、テキストエディタの補完機能でなんとかなるし、
型があればもっと実行しなくてももっと正確にコンテキストがわかるということ

大したメリットじゃないんだよね



995 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 14:40:49.98 ID:DWgniQ0o.net]
>>973
> それは実行しなくてもコンテキストがわかるなら
> もっとメリットが有るってことかな?

もとより、コンテキストの関係ない関数型ならいらない機能だけどそれはさておき
それなりの深さを持つコールスタックと状態を持つオブジェクト指向を使い続けるならそういうことになるだろうね

でもホットスワップだとかインクリメンタルコンパイルとか無茶しやがって…って技術をこれまでも早期結合派は編み出してきたわけだから
(君は無理っぽいが)その便利さが分かる人がいれば、いつかコンテキストを実行せずに知る技術もひねり出されるんじゃないかな

996 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 14:42:50.30 ID:WA/+SJn9.net]
>>976
そんなにコンテキスト(=型情報)を知ること重要?w

997 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 14:48:36.51 ID:DWgniQ0o.net]
>>977
コンテキストは実行時情報で型情報ではないよ?

998 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 16:42:53.79 ID:aWnPsB95.net]
OOPのメリットと言う上記全てがCommonLispでも可能だが、別にCommonLispがオブジェクト指向だからというわけではないぞ
実行時の環境がどれだけ豊かかという点はオブジェクト指向に関係は無いよ。smalltalkの特徴と混同し過ぎではないか?

999 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 16:57:56.75 ID:WA/+SJn9.net]
>>978
「じゃないよ」じゃなくて
何かを言えって

1000 名前:デフォルトの名無しさん [2018/11/22(木) 17:22:56.72 ID:ElVxNvlT.net]
チンポがシコシコするぜ!!

1001 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:27:01.89 ID:DWgniQ0o.net]
>>979
> OOPのメリットと言う上記全てがCommonLispでも可能

アラン・ケイは彼のOOPで目指した「決定の遅延」がLispでも(というかSmalltalkとLispのみで)可能と述べていますから当然ですね

「決定の遅延」を「メッセージング」というメタファー(まあ実際に送るのでもいいのですが)を使って目指すのがケイのOOPなので
「メッセージング」を使わずとも「決定の遅延」は実践可能だからこれは(ケイの)OOPの本質ではないという指摘は
主客を取り違えています。

同様のことはビョーン・ストラウストラップらの「ユーザー定義型をクラス(様エンティティ)でやる」アイデアのOOPについても言えて
ユーザー定義型(データ抽象、抽象データ型)はクラスのない××言語でもできるから、これはOOPの本質じゃない!という指摘も
やはり的を外しています

1002 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:32:39.19 ID:WA/+SJn9.net]
ほんとなぁ「決定の遅延」を言語でやることが目的になってるよなw

なんのためにやるのか?それは言語以外のレイヤーで実現できないのか?
それが抜けてる

1003 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:33:23.62 ID:DWgniQ0o.net]
>>980
書いてあるじゃんw
実行時のもろもろの情報だよ
コールスタックだったり、インスタンス変数情報だったり、テンポラリー変数情報だったりとにかく様々だよ
もちろん型情報も含まれるけど「イコール」ではない

1004 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:34:39.94 ID:WA/+SJn9.net]
> コールスタックだったり、インスタンス変数情報だったり、テンポラリー変数情報だったりとにかく様々だよ

つまりデバッガとブレークポイントによって実現できることって話か

決定の遅延となんの関係もないw



1005 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:44:37.74 ID:DWgniQ0o.net]
>>983
別に言語のみにこだわる必要はないと思うよ?どうしてそんなふうに思う?
とにかくSmalltalkを気にしすぎだよ
他のレイヤーでできているならそれでいいと思うよ

Smalltalkについては学習コストを鑑みて
全てをオブジェクトとそれへのメッセージングというシンプルなドグマで解決できるならベターだし
言語(というかOSモドキ)ならそういう世界を比較的簡単に実現し、そこでの実践を通じて実用性の検証ができるというだけの話だろう

1006 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:45:49.73 ID:WA/+SJn9.net]
結局の所、決定の遅延で何が出来るか?というとデバッグ時にソースコードを
編集する機能が作りやすくなるというメリットだったって話で良いかね?

↓つまりこれ

コードを編集し、(c#、VB、C++)、Visual Studio でデバッグを続行
https://docs.microsoft.com/ja-jp/visualstudio/debugger/edit-and-continue?view=vs-2017

> エディット コンティニュを使用すると、プログラムが中断モードのときに
> ソース コードを変更できるため、時間を節約できます。 などの実行コマンドを選択して、
> プログラムの実行を再開すると続行または手順、エディット コンティニュに
> 自動的にいくつかの制限でコード変更を適用します。 このため、デバッグ セッション中に
> コードを変更できます。デバッグ セッションをいったん停止し、プログラム全体を
> 再コンパイルしてからデバッグ セッションを再開する必要がありません。

1007 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:45:51.26 ID:DWgniQ0o.net]
>>985
> つまりデバッガとブレークポイントによって実現できること

そこからまたエディタに戻って定義して再実行して…って手間は俺はいやだなって話をずっとしている

1008 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:47:36.57 ID:DWgniQ0o.net]
>>987
これはかなり近いかなと思って試してみたことあるけど、変更が反映されないんだよね
結局再実行は必要

1009 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:48:27.96 ID:WA/+SJn9.net]
>>986
> とにかくSmalltalkを気にしすぎだよ
それはSmalltalkぐらいだからだよ
「決定の遅延」という言葉が独り歩きして
それで何が出来るのか?が語られないのは。

でもはっきりしたじゃないか。デバッグ時にソースコード編集機能を
実現しやすくなるのが「決定の遅延」

そして別に決定の遅延をしなくても、デバッグ時にソースコードを編集する機能は実現できる。
言語のメリットとして上げるほどのことでもなかった。

1010 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:50:18.97 ID:WA/+SJn9.net]
>>988
> そこからまたエディタに戻って定義して再実行して…って手間は俺はいやだなって話をずっとしている

え?バグ無しで一発で作れるの?すごいね(笑)

結局再実行するでしょ

1011 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:52:26.05 ID:WA/+SJn9.net]
再実行する手間がいやなら、ソースコードを編集して保存したら
自動的にテストを再実行するようにすればいい。

ファイルを保存したときにテストを自動で実行する
https://qiita.com/135yshr/items/0e14082cf3a8e654964c

1012 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:52:45.81 ID:DWgniQ0o.net]
>>990
> それはSmalltalkぐらいだからだよ

そりゃそうだよ
今のところLispとSmalltalkくらいしかできないことのさらに高みを目指そうっていう話なんだから…
早期結合派は誰か目先の利く人が無茶をして実現された技術が導入されて普及しないかぎり永久に理解できない話だと思うよ

1013 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:53:57.61 ID:WA/+SJn9.net]
もう早期結合派とか言わんでくれる?

コードを編集してデバッグを続行する機能でしかないんだから

1014 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:56:02.22 ID:DWgniQ0o.net]
昔はホットスワップなんてアクロバチックな機能はいらない
インクリメンタルコンパイルなんてコンパイル速度が速ければいらないだろとか言ってたクチじゃないの?



1015 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 18:10:45.29 ID:DWgniQ0o.net]
図星かw

Smalltalkが「決定の遅延」を実践し難なく実現したアクロバチックな便利機能を
早期結合派の有志が無茶をしつつも実現し普及させ、君みたいな想像力に乏しい人でもしたり顔でその恩恵にあずかれる
いい話じゃないか

1016 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 18:59:37.96 ID:sPtmfb/w.net]
>>965
>0.1ミリ秒

そうか、MSは0.1ミリ秒のために多大なリソースを投入してデバッグ中のメソッドのホットパッチ&継続実行を可能にしたんだな。www

1017 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 19:02:35.09 ID:WA/+SJn9.net]
>>997
時系列が逆ですね
多大なリソースを投入してデバッグ中のメソッドのホットパッチ&継続実行を可能
にしたので、0.1ミリ秒ぐらいのメリットしかなくなったんですよw

1018 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 19:03:59.99 ID:eioG5FBi.net]
SmalltalkのOSモドキはLinuxやWindowsといった本物のOSと比べて
あまりにも出来損ないのゴミなのが問題なんだよ

決定の遅延?大変結構だと思うよ?本物のOSの上で出来るならね
でもゴミOSモドキの上でOSゴッコするくらいなら決定の遅延なんて要らない

1019 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 19:04:26.90 ID:WA/+SJn9.net]
だから最初から言ってるように、Smalltalk初期の時代はメリットが
あったかもしれないけど、今となっては言語機能に含めなくても
別の方法で本来の目的が達成できるようになったと言ってる

1020 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 34日 19時間 43分 46秒

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






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

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

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