オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
オブジェクト指向を教えてくれ!★2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/04/27(火) 15:02:28.94ID:mH9VXFld578デフォルトの名無しさん
2022/06/15(水) 00:01:45.70ID:KmXapabn 変形して合体します
579デフォルトの名無しさん
2022/06/15(水) 06:24:33.83ID:brnJdNXi580デフォルトの名無しさん
2022/06/15(水) 06:42:31.25ID:brnJdNXi581デフォルトの名無しさん
2022/06/15(水) 08:17:44.28ID:ABEwp2pC コンバートを行うコンバータ関数ばかりを集めてクラスを作るの、
ありですか。メソッドだけで構成されたクラスです。
ありですか。メソッドだけで構成されたクラスです。
582デフォルトの名無しさん
2022/06/15(水) 09:58:07.75ID:vcWMx0nD >>576
一種の宗教みたいなもの
プロパティは全てプライベートにしてアクセサによるアクセスのみにしましょうみたいな事を言う人がいるが
パブリックにして直接参照しても特に問題無い
(C#などはそれでもアクセサが用意されていればアクセサ経由でのアクセスになるが)
ただ仕事ではコーディング規約やルールがある場合があるので従うしかない時はある
>>581
ユーティリティクラスみたいな言い方をする場合があるけど全てスタティックのメソッドだけみたいなのは
割と良く利用されているし普通にありだけど、こういうのばかりになるとスタティックおじさんみたいな
事を言う人がたまにいるw
あくまでクラスに属さない処理をさせる場合に適応してクラス内の処理が妥当な場合はそちらに移動させましょう
一種の宗教みたいなもの
プロパティは全てプライベートにしてアクセサによるアクセスのみにしましょうみたいな事を言う人がいるが
パブリックにして直接参照しても特に問題無い
(C#などはそれでもアクセサが用意されていればアクセサ経由でのアクセスになるが)
ただ仕事ではコーディング規約やルールがある場合があるので従うしかない時はある
>>581
ユーティリティクラスみたいな言い方をする場合があるけど全てスタティックのメソッドだけみたいなのは
割と良く利用されているし普通にありだけど、こういうのばかりになるとスタティックおじさんみたいな
事を言う人がたまにいるw
あくまでクラスに属さない処理をさせる場合に適応してクラス内の処理が妥当な場合はそちらに移動させましょう
583デフォルトの名無しさん
2022/06/15(水) 15:45:38.93ID:IEWflW3G JAVAは結局コボラーをジャバラーにしただけだったな
585デフォルトの名無しさん
2022/06/18(土) 01:22:20.46ID:4r3KcqQj セッターとゲッターがあればそれはオブジェクト指向ではない
586デフォルトの名無しさん
2022/06/19(日) 00:38:43.38ID:f6Moswor カプセル化はもう時代遅れ
教科書プログラム用の練習教材ですよ
とはいえケースバイケースで使ったほうが便利な時は使えばいい
しかしあまりに膨大なパラメーターを必要とするならthisでやり取りすべきだろう
その場合はメソッドを作るというよりは冗長なプログラムを分割するためのテクニックとして使われるはずだ
カプセル化とは意味合いが全く異なるということだ
従って綿密な注釈を入れて区別化を明確にしておくべきだろう
capsule voidという新しいコマンドができることを強く望む
教科書プログラム用の練習教材ですよ
とはいえケースバイケースで使ったほうが便利な時は使えばいい
しかしあまりに膨大なパラメーターを必要とするならthisでやり取りすべきだろう
その場合はメソッドを作るというよりは冗長なプログラムを分割するためのテクニックとして使われるはずだ
カプセル化とは意味合いが全く異なるということだ
従って綿密な注釈を入れて区別化を明確にしておくべきだろう
capsule voidという新しいコマンドができることを強く望む
587デフォルトの名無しさん
2022/06/19(日) 01:02:00.90ID:f6Moswor もっと簡単に言えば
長いプログラムを組んでいればたくさんのファイルが必要となる
そのファイルすべてをカプセル化するのはじつにナンセンスと思われる
中には特定のファイルに紐づけされたファイルを作ったほうがプログラミングしやすい場合が多々発生するだろう
しかしながら教科書にはすべてカプセル化しなければならないかのような記述がある
おそらくその教科書の作者は長いプログラムを組んだことがないのだろう
そこで私はこれからのプログラムはハイブリット化が必要だと提言したい
長いプログラムを組んでいればたくさんのファイルが必要となる
そのファイルすべてをカプセル化するのはじつにナンセンスと思われる
中には特定のファイルに紐づけされたファイルを作ったほうがプログラミングしやすい場合が多々発生するだろう
しかしながら教科書にはすべてカプセル化しなければならないかのような記述がある
おそらくその教科書の作者は長いプログラムを組んだことがないのだろう
そこで私はこれからのプログラムはハイブリット化が必要だと提言したい
588デフォルトの名無しさん
2022/06/19(日) 02:04:16.11ID:i76g8bvS >>586
「カプセル化」についてもう少し勉強しようね
「カプセル化」についてもう少し勉強しようね
589デフォルトの名無しさん
2022/06/19(日) 02:45:28.44ID:oAfhYtH9 >>576
オブジェクトのインターフェイスを統一して
いろんなアプリで利用できるようにしましょうっていう
考え方が1990年代にあったんよ
JavaBeansやMSのComponent Object Modelなど
クライアントアプリのGUI構築には役に立った
いまでもJavaBeansやCOMで動くアプリはある
あくまでもオブジェクト指向の応用の一つでしかないので
真似する意味はあまりないよ
オブジェクトのインターフェイスを統一して
いろんなアプリで利用できるようにしましょうっていう
考え方が1990年代にあったんよ
JavaBeansやMSのComponent Object Modelなど
クライアントアプリのGUI構築には役に立った
いまでもJavaBeansやCOMで動くアプリはある
あくまでもオブジェクト指向の応用の一つでしかないので
真似する意味はあまりないよ
590デフォルトの名無しさん
2022/06/19(日) 03:04:29.39ID:oAfhYtH9 カプセル化はアクセサーを用意することではなくて
データと操作を一体化すること
オブジェクト指向は小さい部品を組み合わせて大きい部品を作り
さらにそれを組み合わせてシステムを作るみたいな
レゴブロックのようにプログラムを構築できるから作ってて楽しい
データと操作を一体化すること
オブジェクト指向は小さい部品を組み合わせて大きい部品を作り
さらにそれを組み合わせてシステムを作るみたいな
レゴブロックのようにプログラムを構築できるから作ってて楽しい
591デフォルトの名無しさん
2022/06/19(日) 05:34:06.82ID:SdXdUMni データとメソッドは全然別物
一体化なんてしねぇだろ
何適当なこと言ってんだこいつ
一体化なんてしねぇだろ
何適当なこと言ってんだこいつ
592デフォルトの名無しさん
2022/06/19(日) 08:56:58.57ID:8ceGs1P+593デフォルトの名無しさん
2022/06/19(日) 09:46:45.68ID:MGBoiv+i594デフォルトの名無しさん
2022/06/23(木) 18:47:48.02ID:BThIF1pE オブジェクト指向はもう古い
たとえ重複するプログラミングコードがいくつになろうとも
メンテナンスのしやすさを考えると
合理化より複合化を選択するべきだろう
それが実用だ
教科書う通りにしたがるガリ勉くんは講師でも目指したほうがいい
これからはプログレッシブル指向という新概念を私は提唱したい
たとえ重複するプログラミングコードがいくつになろうとも
メンテナンスのしやすさを考えると
合理化より複合化を選択するべきだろう
それが実用だ
教科書う通りにしたがるガリ勉くんは講師でも目指したほうがいい
これからはプログレッシブル指向という新概念を私は提唱したい
595デフォルトの名無しさん
2022/06/23(木) 22:06:20.59ID:+cDMNReP 関数の引数を無くすか
新しく演算子を考えてよ
新しく演算子を考えてよ
596デフォルトの名無しさん
2022/06/25(土) 03:43:53.27ID:KzvU/G5K スクリプト言語はポリモーフィズムを積極的に使うことでいわゆる型による条件分岐を内部に委ねられるから往々にしてその部分の実行速度を上げられる
597デフォルトの名無しさん
2022/06/28(火) 13:40:13.28ID:WEtlXn3s 積極的に使うほどそもそもポリモーフィズム使うか?
jsとかだと余計に使わないかと
ゲームとかなら敵の種類毎にクラスにするとかあるけど
業務や管理画面みたいなので使う所あるか?
jsとかだと余計に使わないかと
ゲームとかなら敵の種類毎にクラスにするとかあるけど
業務や管理画面みたいなので使う所あるか?
598デフォルトの名無しさん
2022/06/29(水) 00:29:20.28ID:HEPc8j2N 私は数年前からオブジャクト指向は廃止するべきだと思っている
なぜならオブジュクトごとに変数を設定しるため、ぱっと見でわかりにくいからだ
膨大なプログラムを組む場合このぱっと見は極めて重要だ
そこで私はプログレッシブ指向をかねてから提案してる
具体的にはメインクラスで重要な変数を全て設定して
サブクラスにthisで受け渡す包括方式だ
オプジェクト指向は数式遊びになってしまった感がある
このへんで初心に戻るべきだろう
なぜならオブジュクトごとに変数を設定しるため、ぱっと見でわかりにくいからだ
膨大なプログラムを組む場合このぱっと見は極めて重要だ
そこで私はプログレッシブ指向をかねてから提案してる
具体的にはメインクラスで重要な変数を全て設定して
サブクラスにthisで受け渡す包括方式だ
オプジェクト指向は数式遊びになってしまった感がある
このへんで初心に戻るべきだろう
599デフォルトの名無しさん
2022/07/15(金) 20:52:22.59ID:YmDPrO4S 正答率が1桁から50.3%に改善
それに対してMinervaによるMATHデータセットの正答率は50.3%にも達する。過去のSOTAを大幅に上回った。
グーグルは他の問題データセットでもMinervaの性能を試した。優秀な中学生であれば満点が取れる小学生レベル
の算数問題のデータセット「GSM8k」のMinervaによる正答率は78.5%(SOTAは74.4%)で、
高校と大学レベルの工学、化学、数学、物理学などの問題からなるデータセット「MMLU-STEM」の正答率
は75.0%(SOTAは54.9%)だった。いずれもSOTAを上回った。
https://xtech.nikkei.com/atcl/nxt/column/18/00692/070600084/
それに対してMinervaによるMATHデータセットの正答率は50.3%にも達する。過去のSOTAを大幅に上回った。
グーグルは他の問題データセットでもMinervaの性能を試した。優秀な中学生であれば満点が取れる小学生レベル
の算数問題のデータセット「GSM8k」のMinervaによる正答率は78.5%(SOTAは74.4%)で、
高校と大学レベルの工学、化学、数学、物理学などの問題からなるデータセット「MMLU-STEM」の正答率
は75.0%(SOTAは54.9%)だった。いずれもSOTAを上回った。
https://xtech.nikkei.com/atcl/nxt/column/18/00692/070600084/
600デフォルトの名無しさん
2022/07/19(火) 10:11:55.94ID:2mzjLS5j >>594
template みたいに重複しまくりでメンテナンスもし難いのが最強ですね判ります
template みたいに重複しまくりでメンテナンスもし難いのが最強ですね判ります
601デフォルトの名無しさん
2022/07/27(水) 22:15:41.34ID:a67r2woD お爺ちゃん、今は2022年ですよ?
オブジェクト指向を廃止だのカプセル化が時代遅れだの、そんな御託を述べる前に言葉の意味を理解しようね
オブジェクト指向を廃止だのカプセル化が時代遅れだの、そんな御託を述べる前に言葉の意味を理解しようね
602デフォルトの名無しさん
2022/07/27(水) 22:46:47.88ID:hi2YYXJ0603デフォルトの名無しさん
2022/07/27(水) 23:39:35.59ID:ogiMaWw7 >>601
2022年は、去年ですよ??
2022年は、去年ですよ??
604デフォルトの名無しさん
2022/07/31(日) 23:31:05.92ID:Dl7jaJ3a 冗談を真に受けるなよ
605デフォルトの名無しさん
2022/08/06(土) 23:39:31.15ID:w2Zzmanz 米国のMIT(マサチューセッツ工科大学)で行われた研究によれば、大学レベルの数学の問題を「解く」
「説明する」「新たに生成する」の3つが実行可能なAIを開発した、とのこと。
これまで開発されたAIは一部を除き人間用に書かれた数学の問題文から直接答えをを導き出そうとして失敗してきました。
しかし新たに開発されたAIは、人間用に書かれた数学の問題文をコンピューター用の正しいプログラムコードに
自動的に変換・合成する訓練がなされており、わずか数秒で既存のAIの
10倍にあたる81%の精度で正しい回答を行うことが可能となっています。
https://nazology.net/archives/112943
「説明する」「新たに生成する」の3つが実行可能なAIを開発した、とのこと。
これまで開発されたAIは一部を除き人間用に書かれた数学の問題文から直接答えをを導き出そうとして失敗してきました。
しかし新たに開発されたAIは、人間用に書かれた数学の問題文をコンピューター用の正しいプログラムコードに
自動的に変換・合成する訓練がなされており、わずか数秒で既存のAIの
10倍にあたる81%の精度で正しい回答を行うことが可能となっています。
https://nazology.net/archives/112943
606デフォルトの名無しさん
2022/08/11(木) 15:58:24.47ID:9jOXbBjR ニューラルネットワークは高度な数学の問題を解くことはできないと広く信じられてきた。
MITはこの神話を打ち破るため、ニューラルネットワーク「OpenAI Codex」を用いてテキストで事前学習し、
コードで微調整することで、大学レベルの数学問題を正答率81%で解くことに成功した。
これまでの正答率は8.8%だったという。さらに問題について解説したり、新たに問題を生成したりすることも可能だ。
https://atmarkit.itmedia.co.jp/ait/spv/2208/09/news151.html
MITはこの神話を打ち破るため、ニューラルネットワーク「OpenAI Codex」を用いてテキストで事前学習し、
コードで微調整することで、大学レベルの数学問題を正答率81%で解くことに成功した。
これまでの正答率は8.8%だったという。さらに問題について解説したり、新たに問題を生成したりすることも可能だ。
https://atmarkit.itmedia.co.jp/ait/spv/2208/09/news151.html
607デフォルトの名無しさん
2022/08/14(日) 20:30:37.05ID:stKmrYi1 オブジェクト指向出てきてから50年くらいたつのか?
じゃあ古いじゃん
じゃあ古いじゃん
608デフォルトの名無しさん
2022/08/20(土) 13:17:29.92ID:Z0uFASkB オブジェクト指向とかデザインパターンとかまとめてゴミになりそうね
609デフォルトの名無しさん
2022/08/21(日) 11:02:50.87ID:xAkmNWWM デザインパターンがゴミになると思ってるやつは総じてゴミ
610デフォルトの名無しさん
2022/08/21(日) 11:10:39.17ID:3/zo/+gQ パターンwとか言っている方がゴミだけどなw
そんなのプログラムしていれば分かるような事ばかりなのに
そういう本から入った奴らって低能ばかりなんだよなぁw
そんなのプログラムしていれば分かるような事ばかりなのに
そういう本から入った奴らって低能ばかりなんだよなぁw
611デフォルトの名無しさん
2022/08/21(日) 15:18:48.70ID:b/J0dnQp612デフォルトの名無しさん
2022/08/21(日) 16:22:21.87ID:3/zo/+gQ613デフォルトの名無しさん
2022/08/21(日) 16:45:03.52ID:ecIOs+Jg ブリッジパターンとストラテジパターンを覚えたが良い
614デフォルトの名無しさん
2022/08/22(月) 02:47:49.95ID:FoS4qmMu デザインパターンは言語機能の欠陥を埋め合わせるパッチワークでしかない
デザインミスを隠蔽するためのパターン集だと言うことを分かって使ってる奴がいないよな
こう言うのは大体JavaかC#しか言語触ってないと相場が決まってる
デザインミスを隠蔽するためのパターン集だと言うことを分かって使ってる奴がいないよな
こう言うのは大体JavaかC#しか言語触ってないと相場が決まってる
615デフォルトの名無しさん
2022/08/22(月) 02:54:22.43ID:FoS4qmMu パターン名を言う奴のほとんど、それを使う理由を写経レベルでしか理解していない説
君はデザインをやってるつもりなんだろうけど、実際はコピペプログラマからコピペプログラマ未満になってることを自覚した方がいい
コピペプログラマは、「うは、これ便利」と思ってコピペするけど、
デザインパターン厨は長々しい実用性のない議論と先駆者への謎の敬意と引用の後に
結局なぜそれを採用するかの説明から逃げるからな
説明から逃げる上流気取りは総じてカス
誰もその基本を指摘しないから、致命的な段階になるまで錯誤し続けるんだよな
君はデザインをやってるつもりなんだろうけど、実際はコピペプログラマからコピペプログラマ未満になってることを自覚した方がいい
コピペプログラマは、「うは、これ便利」と思ってコピペするけど、
デザインパターン厨は長々しい実用性のない議論と先駆者への謎の敬意と引用の後に
結局なぜそれを採用するかの説明から逃げるからな
説明から逃げる上流気取りは総じてカス
誰もその基本を指摘しないから、致命的な段階になるまで錯誤し続けるんだよな
616デフォルトの名無しさん
2022/08/22(月) 09:43:55.60ID:MD3tlYEu この世には2種類の人間がいる
・ブリッジパターンを知らない人
・ブリッジパターンを知ってる人
どちらになるかはその人しだい
・ブリッジパターンを知らない人
・ブリッジパターンを知ってる人
どちらになるかはその人しだい
617デフォルトの名無しさん
2022/08/22(月) 09:45:38.54ID:MD3tlYEu >>614
バカ乙、お前はブリッジパターンを何も理解してないことがお前の発言から明らか
よってお前はブリッジパターンを知らずにただ漫然と時が過ぎるのを是とし
過ぎ去る日々をボーと眺めてるに等しいボケ老人
バカ乙、お前はブリッジパターンを何も理解してないことがお前の発言から明らか
よってお前はブリッジパターンを知らずにただ漫然と時が過ぎるのを是とし
過ぎ去る日々をボーと眺めてるに等しいボケ老人
618デフォルトの名無しさん
2022/08/22(月) 09:49:16.82ID:MD3tlYEu >>615
パターン名は覚えていないと車輪の再発明になるよ
一生涯をかけてプログラムに磨きをかけてブリッジパターンを再発明しました
みたいな悲しいことになっちゃうからブリッジパターンはいまのうちに覚えておこうよ
パターン名は覚えていないと車輪の再発明になるよ
一生涯をかけてプログラムに磨きをかけてブリッジパターンを再発明しました
みたいな悲しいことになっちゃうからブリッジパターンはいまのうちに覚えておこうよ
619デフォルトの名無しさん
2022/08/22(月) 09:53:07.23ID:mXL4Ef7K 世界的に使われるアプリ作った人が
「〇〇パターンを採用しました」とか言ってるのは見たことないからそういう事
アプリの中のソースコードにも様々なセクターがあって色んな設計、言語が織り交ざるんだから
デザパタ云々の話ってどこでやるのって思う
「〇〇パターンを採用しました」とか言ってるのは見たことないからそういう事
アプリの中のソースコードにも様々なセクターがあって色んな設計、言語が織り交ざるんだから
デザパタ云々の話ってどこでやるのって思う
620デフォルトの名無しさん
2022/08/22(月) 10:01:20.65ID:MD3tlYEu621デフォルトの名無しさん
2022/08/22(月) 10:03:10.09ID:MD3tlYEu このように何もかもをごっちゃにしてバグった頭で日々を過ごすアホになりたくなかったら
ブリッジパターンを勉強して整理する力を身に着けて圧倒的成長を遂げよう
ブリッジパターンを勉強して整理する力を身に着けて圧倒的成長を遂げよう
622デフォルトの名無しさん
2022/08/22(月) 10:04:39.87ID:mXL4Ef7K623デフォルトの名無しさん
2022/08/22(月) 10:07:42.18ID:MD3tlYEu >>622
ちょっと何言ってんのかわからない
ちょっと何言ってんのかわからない
624デフォルトの名無しさん
2022/08/22(月) 10:08:21.97ID:MD3tlYEu 何を創設したん? 何の話? 統一協会の話してんの?
625デフォルトの名無しさん
2022/08/22(月) 10:17:00.75ID:mXL4Ef7K 別にGARAMでもなんでもw
探せば何か喋ってるよ
デザパタって単に手足として働く役割の社畜マにコードリーディングさせるときのヒントだと思うよ
一流の人はもっと違う場所の事考えてるから話題にならない
高負荷や技術的障害はなんちゃらパターンが解決してくれること無いし
最も優秀な人は、全体の1%のコードのボトルネックとなる部分を負荷軽減する発想や技術があって
残り99%は社畜マでも作れるからデザパタで組もうが何しようがどうでもいい事なのよ
探せば何か喋ってるよ
デザパタって単に手足として働く役割の社畜マにコードリーディングさせるときのヒントだと思うよ
一流の人はもっと違う場所の事考えてるから話題にならない
高負荷や技術的障害はなんちゃらパターンが解決してくれること無いし
最も優秀な人は、全体の1%のコードのボトルネックとなる部分を負荷軽減する発想や技術があって
残り99%は社畜マでも作れるからデザパタで組もうが何しようがどうでもいい事なのよ
626デフォルトの名無しさん
2022/08/22(月) 10:26:35.12ID:MD3tlYEu GARAM創設の話? それってブリッジパターンとなんか関係あるんすか?
627デフォルトの名無しさん
2022/08/22(月) 10:28:03.79ID:MD3tlYEu 会社作ったときのサクセスストーリーをインタビューしてブリッジパターンを引き出したら
そのインタビュワーはただものじゃないな
そのインタビュワーはただものじゃないな
628デフォルトの名無しさん
2022/08/22(月) 10:31:45.95ID:MD3tlYEu > 創設者がインタビューされた記事
起業の話かな?
> 高負荷や技術的障害
運用の話かな?
ブリッジパターンと全然関係ない話を自分でして
ブリッジパターンは役に立たないんだという結論を導く
みなさんこれがアホです
起業の話かな?
> 高負荷や技術的障害
運用の話かな?
ブリッジパターンと全然関係ない話を自分でして
ブリッジパターンは役に立たないんだという結論を導く
みなさんこれがアホです
629デフォルトの名無しさん
2022/08/22(月) 10:32:42.31ID:MD3tlYEu ブリッジパターンを勉強してこなかったツケがこの有様です
630デフォルトの名無しさん
2022/08/22(月) 12:30:53.49ID:mj9/qE/D631デフォルトの名無しさん
2022/08/22(月) 12:38:32.92ID:r2RmnMFB632デフォルトの名無しさん
2022/08/22(月) 12:48:42.80ID:RW5O1kus パターンというものの本質的価値を理解せず
デザパタの表面だけみてる人は抽象化思考能力が著しく低い
抽象化思考能力の低い人はまともなソフトウェアは作れない
ソフトウェア開発者の適性がないと言い換えてもいい
つまり>>609
デザパタの表面だけみてる人は抽象化思考能力が著しく低い
抽象化思考能力の低い人はまともなソフトウェアは作れない
ソフトウェア開発者の適性がないと言い換えてもいい
つまり>>609
633デフォルトの名無しさん
2022/08/22(月) 13:55:06.32ID:KX6mg0Ol デザパタの名前なんて後付けだしな
634デフォルトの名無しさん
2022/08/22(月) 13:58:03.19ID:KX6mg0Ol635デフォルトの名無しさん
2022/08/22(月) 14:01:45.39ID:MD3tlYEu636デフォルトの名無しさん
2022/08/22(月) 14:10:48.49ID:MD3tlYEu エドガー・ダイクストラはGoTo文のパターンを整理してIfやForといった名前をつけた
今日のプログラミングではIfやForを使ってプログラムを作る
プログラミングにおいて名前を付けることは新たな道具の発見である
今日のプログラミングではIfやForを使ってプログラムを作る
プログラミングにおいて名前を付けることは新たな道具の発見である
637デフォルトの名無しさん
2022/08/22(月) 14:12:05.65ID:MD3tlYEu 道具としての設計、深いね
638デフォルトの名無しさん
2022/08/22(月) 15:06:13.89ID:3On+wPab GARAMって何やねんw
マサラか?Racebookか?
マサラか?Racebookか?
639デフォルトの名無しさん
2022/08/22(月) 17:37:57.52ID:mXL4Ef7K >>636
社畜風情が勘違いしすぎw
社畜マがどのように何を考えて「誰でも出来る範囲の」コーディングをしようが
天才たちの知る話ではないという事だ
所詮、デザパタやオブジェクト指向含め、社畜マが何か真理とかと勘違いして勉強するけど
結局はただ世の中にあるソースコードに一貫性・規則性持たせる努力義務を課し
社畜達が保守点検しやすい規格をポンっと用意してるだけ
おわかりかな?
社畜風情が勘違いしすぎw
社畜マがどのように何を考えて「誰でも出来る範囲の」コーディングをしようが
天才たちの知る話ではないという事だ
所詮、デザパタやオブジェクト指向含め、社畜マが何か真理とかと勘違いして勉強するけど
結局はただ世の中にあるソースコードに一貫性・規則性持たせる努力義務を課し
社畜達が保守点検しやすい規格をポンっと用意してるだけ
おわかりかな?
640デフォルトの名無しさん
2022/08/22(月) 17:53:24.28ID:MD3tlYEu641デフォルトの名無しさん
2022/08/22(月) 17:53:55.66ID:MD3tlYEu 天才にはそういうの必要ないとか、そういう詭弁の方が必要ないだろ
642デフォルトの名無しさん
2022/08/22(月) 18:22:02.42ID:nNSUvGkU643デフォルトの名無しさん
2022/08/22(月) 19:39:35.57ID:9gSL1iVp GoFによると、会話の中で用いるために、デザインパターンに統一された名前がついていることは大切らしいぞ。
644デフォルトの名無しさん
2022/08/22(月) 19:44:10.29ID:9gSL1iVp 建築家クリストファー・アレグザンダーが提唱したパターン・ランゲージの一部として捉えると理解しやすいかもしれない。
645デフォルトの名無しさん
2022/08/22(月) 19:44:59.09ID:mXL4Ef7K 天才が考えた正規表現を見てみるか、オブジェクト指向だったら
replace(regex , "$1,$2,$3")
こんな実装許されないよ? 可読性低すぎ 引き継ぐ次の人の事考えてない社畜としてあるまじき関数だ
こんな自作関数定義したらすぐクビだね
何らかのデザインパターンに沿ったオブジェクト指向なら、こうするべきだろう 異論は認めるよ
o = obj.new(str)
o.replace(regex)
o.Regex["$1"]
o.Regex["$2"]
o.Regex["$3"]
replace(regex , "$1,$2,$3")
こんな実装許されないよ? 可読性低すぎ 引き継ぐ次の人の事考えてない社畜としてあるまじき関数だ
こんな自作関数定義したらすぐクビだね
何らかのデザインパターンに沿ったオブジェクト指向なら、こうするべきだろう 異論は認めるよ
o = obj.new(str)
o.replace(regex)
o.Regex["$1"]
o.Regex["$2"]
o.Regex["$3"]
646デフォルトの名無しさん
2022/08/22(月) 19:47:53.25ID:IDLZh6tD あああれね
647デフォルトの名無しさん
2022/08/22(月) 21:05:25.05ID:MD3tlYEu >>645
デザインパターン以前に正規表現に対する理解が不足してるように思われる
正規表現は式からオートマトンを生成して
オートマトンに文字列を入力してオートマトンが終端状態に達するか確認するものなんよ
よって作成するオブジェクトはオートマトンを内部に保持するものだよ
こんな感じ
re = Regexp.Compile(expression)
使うときはこんな感じ
re.Replace(source, destination)
式が固定ならオートマトンオブジェクトを使い回すことで式からオートマトンを生成する処理を減らせる
直感的で性能の良いオブジェクトのできあがり
デザインパターン以前に正規表現に対する理解が不足してるように思われる
正規表現は式からオートマトンを生成して
オートマトンに文字列を入力してオートマトンが終端状態に達するか確認するものなんよ
よって作成するオブジェクトはオートマトンを内部に保持するものだよ
こんな感じ
re = Regexp.Compile(expression)
使うときはこんな感じ
re.Replace(source, destination)
式が固定ならオートマトンオブジェクトを使い回すことで式からオートマトンを生成する処理を減らせる
直感的で性能の良いオブジェクトのできあがり
648デフォルトの名無しさん
2022/08/22(月) 22:06:19.63ID:7j1cHr1r649デフォルトの名無しさん
2022/08/22(月) 22:06:29.75ID:mXL4Ef7K >>647
正規表現って文字列だけだと思ってるだろ
プログラミング言語には実装されてないだけで正規表現は文字列に限定しないぞ
そもそもコンピュータにおいて文字列と配列って言語によっちゃ近いものなんだよ
配列を正規表現できるってことは、構造体も正規表現できるだろ
じゃあ次は構造体を正規表現したらアプリケーションも正規表現できるぞ
なぜやらないんだ
正規表現って文字列だけだと思ってるだろ
プログラミング言語には実装されてないだけで正規表現は文字列に限定しないぞ
そもそもコンピュータにおいて文字列と配列って言語によっちゃ近いものなんだよ
配列を正規表現できるってことは、構造体も正規表現できるだろ
じゃあ次は構造体を正規表現したらアプリケーションも正規表現できるぞ
なぜやらないんだ
650デフォルトの名無しさん
2022/08/22(月) 22:12:22.43ID:mXL4Ef7K 正規表現で配列・構造体・アプリケーションを書かれると、人が理解できないからだぞ
人が理解できないと、限りなく短縮された表記を捨てて
一次変数や、コメントや、オブジェクト指向という冗長したものをソースコードに入れる必要がある
でざいんぱたーんもそのひとつ
理解(りかい)できない人(ひと)のために冗長(じょうちょう)したものをプログラミング(ぷろぐらみんぐ)言語(げんご)にいれる必要(ひつよう)がある
人が理解できないと、限りなく短縮された表記を捨てて
一次変数や、コメントや、オブジェクト指向という冗長したものをソースコードに入れる必要がある
でざいんぱたーんもそのひとつ
理解(りかい)できない人(ひと)のために冗長(じょうちょう)したものをプログラミング(ぷろぐらみんぐ)言語(げんご)にいれる必要(ひつよう)がある
651デフォルトの名無しさん
2022/08/22(月) 22:14:42.04ID:IED0fuHl >>645
>replace(regex , "$1,$2,$3")
string.replace(regex, "$1,$2,$3")と書きたかったのかな?
じゃないならreplaceする入力値はいずこ?
>replace(regex , "$1,$2,$3")
string.replace(regex, "$1,$2,$3")と書きたかったのかな?
じゃないならreplaceする入力値はいずこ?
652デフォルトの名無しさん
2022/08/22(月) 22:15:58.07ID:MD3tlYEu653デフォルトの名無しさん
2022/08/22(月) 22:22:53.84ID:mXL4Ef7K654デフォルトの名無しさん
2022/08/22(月) 22:24:54.46ID:MD3tlYEu655デフォルトの名無しさん
2022/08/22(月) 22:28:36.05ID:MD3tlYEu 仮に文字列が配列だったとしても
正規表現はあらゆる文字列を扱えるわけではないよね
たとえばJSONは正規表現では扱えない
JSONも扱えないのにアプリケーションを正規表現で書くのは無理じゃないかな
正規表現はあらゆる文字列を扱えるわけではないよね
たとえばJSONは正規表現では扱えない
JSONも扱えないのにアプリケーションを正規表現で書くのは無理じゃないかな
656デフォルトの名無しさん
2022/08/22(月) 22:30:36.09ID:MD3tlYEu 木構造やリストなど再帰的データ構造は正規表現では無理
657デフォルトの名無しさん
2022/08/22(月) 22:32:35.76ID:MD3tlYEu 「文字列は配列だ」
と
「アプリケーションを正規表現で書ける」
の
間には大きな隔たりがあるよ
と
「アプリケーションを正規表現で書ける」
の
間には大きな隔たりがあるよ
658デフォルトの名無しさん
2022/08/22(月) 22:39:44.17ID:MD3tlYEu オブジェクト指向の話に戻すと
オブジェクト指向では文字列オブジェクトの内部で配列を使ってるかを気にする必要はないよ
オブジェクトの内部に依存するプログラムを書かなければいけないならオブジェクトの設計がよろしくない
オブジェクト指向では文字列オブジェクトの内部で配列を使ってるかを気にする必要はないよ
オブジェクトの内部に依存するプログラムを書かなければいけないならオブジェクトの設計がよろしくない
659デフォルトの名無しさん
2022/08/22(月) 22:46:38.86ID:DzJdXfIv660デフォルトの名無しさん
2022/08/22(月) 22:48:11.12ID:mXL4Ef7K >>654
実装っていうかね
最もコンピュータにとって素早く無駄なく処理できる構造体って、ようはCの文字列、バイナリだろ
正規表現ってのはC言語で使えば実感わくだろうけど、メモリーマップにある指定場所のバイナリを弄ってるんだよ
そしてC言語ってのは文字列と配列と構造体の敷居が非常に薄い
あとはもうわかるでしょw
難しい話だねw
実装っていうかね
最もコンピュータにとって素早く無駄なく処理できる構造体って、ようはCの文字列、バイナリだろ
正規表現ってのはC言語で使えば実感わくだろうけど、メモリーマップにある指定場所のバイナリを弄ってるんだよ
そしてC言語ってのは文字列と配列と構造体の敷居が非常に薄い
あとはもうわかるでしょw
難しい話だねw
661デフォルトの名無しさん
2022/08/22(月) 22:52:49.94ID:mXL4Ef7K662デフォルトの名無しさん
2022/08/22(月) 23:08:38.51ID:MD3tlYEu >>660
> 最もコンピュータにとって素早く無駄なく処理できる構造体って、ようはCの文字列、バイナリだろ
処理によるんじゃなかろうかと
配列と木構造では計算量が異なるからね
配列が優れてる処理もあれば木構造が優れてる処理もある
配列はたとえば値を単純に追加していく処理や任意の位置に値を挿入する処理が苦手
あなたが何を言いたいかは俺にはわからないな
> 最もコンピュータにとって素早く無駄なく処理できる構造体って、ようはCの文字列、バイナリだろ
処理によるんじゃなかろうかと
配列と木構造では計算量が異なるからね
配列が優れてる処理もあれば木構造が優れてる処理もある
配列はたとえば値を単純に追加していく処理や任意の位置に値を挿入する処理が苦手
あなたが何を言いたいかは俺にはわからないな
663デフォルトの名無しさん
2022/08/22(月) 23:18:57.00ID:+smb9hfw >>661
Stringクラスとかに追加するある関数の中で
this.replace(regex, "$1,$2,$3")
と書いた例だったの?
オブジェクト指向とか言ってんのに
あえてレシーバーを省略する意味もわからんけど
例がヤバすぎやろ
o.replace(regex)はどこにthis/selfが省略されてるのかな?
難問すぎるわw
Stringクラスとかに追加するある関数の中で
this.replace(regex, "$1,$2,$3")
と書いた例だったの?
オブジェクト指向とか言ってんのに
あえてレシーバーを省略する意味もわからんけど
例がヤバすぎやろ
o.replace(regex)はどこにthis/selfが省略されてるのかな?
難問すぎるわw
664デフォルトの名無しさん
2022/08/22(月) 23:23:58.47ID:ouMbOMLC665デフォルトの名無しさん
2022/08/22(月) 23:36:53.17ID:MD3tlYEu 本人も自分が何を言ってるのかわかってないんじゃないかな
思考がぼんやりとしてる人っているからね
小泉環境大臣「くっきりとした姿が見えてるわけではないけど、おぼろげながら、浮かんできたんです。46という数字が」
思考がぼんやりとしてる人っているからね
小泉環境大臣「くっきりとした姿が見えてるわけではないけど、おぼろげながら、浮かんできたんです。46という数字が」
666デフォルトの名無しさん
2022/08/22(月) 23:50:24.80ID:694tsCIv >o = obj.new(str)
>o.replace(regex)
>o.Regex["$1"]
>o.Regex["$2"]
>o.Regex["$3"]
意味不明なコードなんだが
何をしたいのか誰かエスパー解説してくれ
>o.replace(regex)
>o.Regex["$1"]
>o.Regex["$2"]
>o.Regex["$3"]
意味不明なコードなんだが
何をしたいのか誰かエスパー解説してくれ
667デフォルトの名無しさん
2022/08/22(月) 23:58:25.34ID:mXL4Ef7K まずそもそもオブジェクト指向以外の例として正規表現の可能性に触れたけど、「正規表現でもプログラミング可能」という1例に過ぎず
その一つすら理解できないでそこの話もっとしなきゃいけないのは面倒くさいよw
せめて文字列=配列=構造体=アプリケーションでイコール繋がってくれる基礎教養のある人に
「気づき」を与えたいだけのレスであって、基礎知らないないで分かった振りしてる人じゃどうにもならないなあ
その一つすら理解できないでそこの話もっとしなきゃいけないのは面倒くさいよw
せめて文字列=配列=構造体=アプリケーションでイコール繋がってくれる基礎教養のある人に
「気づき」を与えたいだけのレスであって、基礎知らないないで分かった振りしてる人じゃどうにもならないなあ
668デフォルトの名無しさん
2022/08/23(火) 00:21:58.37ID:6cMJUoZ7 「負け犬の捨て台詞」パターンですねw
669デフォルトの名無しさん
2022/08/23(火) 02:18:11.31ID:KidTnCDV 正規表現とは「文字列の集合を表す文字列」でしかない。
670デフォルトの名無しさん
2022/08/23(火) 10:32:18.96ID:IsFqNvj1 >>665
4610
4610
671デフォルトの名無しさん
2022/08/23(火) 10:34:14.76ID:IsFqNvj1 >>666
perlでもpythonでもawkでもなんでもいいから正規表現を覚えろ
perlでもpythonでもawkでもなんでもいいから正規表現を覚えろ
672デフォルトの名無しさん
2022/08/23(火) 11:11:51.25ID:2q1deNyi673デフォルトの名無しさん
2022/08/23(火) 11:41:13.55ID:D4nlQpW0 オブジェクト指向あたりから、マジで数学センス言語センス皆無の
奴がSEとして業界に受け入れられ始めたことを考えると
センス皆無の奴を雇って請負賃金を請求してフィーを掻っ攫う分にはガチで役に立つんだろうなと思ってる
まあ数学も言語もできないやつにデザインセンスが備わるとも思えないので
デザインパターンを暗記して教条的に語るしかできない自称設計集団が出来上がったと
奴がSEとして業界に受け入れられ始めたことを考えると
センス皆無の奴を雇って請負賃金を請求してフィーを掻っ攫う分にはガチで役に立つんだろうなと思ってる
まあ数学も言語もできないやつにデザインセンスが備わるとも思えないので
デザインパターンを暗記して教条的に語るしかできない自称設計集団が出来上がったと
674デフォルトの名無しさん
2022/08/23(火) 12:18:38.76ID:IfPFAXMx675デフォルトの名無しさん
2022/08/23(火) 12:40:33.27ID:1CCdBPvQ676デフォルトの名無しさん
2022/08/23(火) 12:44:01.84ID:FGlQHgnF 自称数学センス言語センスのある人は文系SEにこき使われてルサンチマン溜まってるんだろう
でも客観的に見ればデザインパターンを理解してる文系SEのほうがよっぽど使える
現実逃避は辞めてさっさと仕事しろ
でも客観的に見ればデザインパターンを理解してる文系SEのほうがよっぽど使える
現実逃避は辞めてさっさと仕事しろ
677デフォルトの名無しさん
2022/08/23(火) 12:44:29.11ID:VnJ9tKCp > 何らかのデザインパターンに沿ったオブジェクト指向なら、こうするべきだろう 異論は認めるよ
> o = obj.new(str)
> o.replace(regex)
> o.Regex["$1"]
> o.Regex["$2"]
> o.Regex["$3"]
衝撃的、こんなのありえないだろ
みながわけんじさんのIteratorパターン以来の衝撃
https://ameblo.jp/kenchaz/entry-12247911109.html
> o = obj.new(str)
> o.replace(regex)
> o.Regex["$1"]
> o.Regex["$2"]
> o.Regex["$3"]
衝撃的、こんなのありえないだろ
みながわけんじさんのIteratorパターン以来の衝撃
https://ameblo.jp/kenchaz/entry-12247911109.html
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★2 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★6 [BFU★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★2 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 被爆者は「怒りが腹の底から湧いてくる」高市首相“非核三原則見直し報道”に被爆地で懸念や憤りの声《長崎》 [1ゲットロボ★]
- 【悲報】ネトウヨ「中国人観光客が減って観光しやすくなって良かったじゃん。俺は代わりに旅行しないけど」 [616817505]
- ホテル業界、高市のせいで中国から大量キャンセル 「大変厳しい状態。一刻も早い収束を願います」 [271912485]
- 【正論】玉木雄一郎「高市さんの答弁は米軍が攻撃を受けた場合を前提としており、撤回するのは難しい」特定野党を完全論破 [519511584]
- 👩「諸事情でミーアキャット飼えなくなったから誰か20万以上で買って😢」 [394133584]
- 【高市悲報】日経、株安円安止まらない😭ああ…あ… [359965264]
- 名誉教授「高市さん、ネトウヨに称賛されてエクスタシーに酔ってるだけ。」 [153490809]
