オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
探検
オブジェクト指向を教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/03/16(火) 17:06:02.41ID:VhqTt897154デフォルトの名無しさん
2021/03/20(土) 12:44:05.75ID:R72307UF >>153
チンポ【が】しこしこする、チンポは主語であり独立した主体存在である。
チンポ【が】しこしこする、チンポは主語であり独立した主体存在である。
155デフォルトの名無しさん
2021/03/20(土) 12:44:08.47ID:ebrbGMYs >>152
はい?
>目的は関数の呼び出し側と呼ばれる側の依存関係を逆にしたいってところなんだよ。
これがオブジェクト指向の目的だと主張してるんだよね?
型のキャストの有無に何の関係があるのかわからんが
ある型を引数として受け取る関数を
別の関数の引数や戻り値として受け渡しできればキャスト不要だよね?
オブジェクト指向関係ある?
オブジェク指向じゃなければCって前提なのかな?
はい?
>目的は関数の呼び出し側と呼ばれる側の依存関係を逆にしたいってところなんだよ。
これがオブジェクト指向の目的だと主張してるんだよね?
型のキャストの有無に何の関係があるのかわからんが
ある型を引数として受け取る関数を
別の関数の引数や戻り値として受け渡しできればキャスト不要だよね?
オブジェクト指向関係ある?
オブジェク指向じゃなければCって前提なのかな?
156デフォルトの名無しさん
2021/03/20(土) 12:44:37.50ID:ebrbGMYs >>151
gRPC
gRPC
157デフォルトの名無しさん
2021/03/20(土) 12:48:47.06ID:iZK7E0+o kindle unlimitedにある「オブジェクト指向でなぜつくるのか」を読めスッキリするから
158デフォルトの名無しさん
2021/03/20(土) 12:49:19.48ID:ebrbGMYs >>142
「オブジェクト指向を使うメリットって何?」って聞いてる相手に対して
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
こういう説明しかできないならオブジェクト指向を理解してないか
オブジェクト指向そのものにメリットないと言われても仕方がないなと思うぞ
「オブジェクト指向を使うメリットって何?」って聞いてる相手に対して
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
こういう説明しかできないならオブジェクト指向を理解してないか
オブジェクト指向そのものにメリットないと言われても仕方がないなと思うぞ
159デフォルトの名無しさん
2021/03/20(土) 12:53:18.27ID:R72307UF >>142
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
そして、トイレへ行き尿を出そうと思うと、脳が「出してよい」という信号を送ります。ここで副交感神経が
主にはたらき、尿道の筋肉がゆるみ、反対に膀胱の筋肉は締まって尿を押し出し、尿が排出されるのです。
健康な成人では、1回の排尿量は300ミリリットルほどで、約30秒で膀胱が空っぽになるのが普通です。
https://www.hainyou.com/sp/m/mechanism/
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
そして、トイレへ行き尿を出そうと思うと、脳が「出してよい」という信号を送ります。ここで副交感神経が
主にはたらき、尿道の筋肉がゆるみ、反対に膀胱の筋肉は締まって尿を押し出し、尿が排出されるのです。
健康な成人では、1回の排尿量は300ミリリットルほどで、約30秒で膀胱が空っぽになるのが普通です。
https://www.hainyou.com/sp/m/mechanism/
160デフォルトの名無しさん
2021/03/20(土) 12:55:02.24ID:ebrbGMYs161デフォルトの名無しさん
2021/03/20(土) 12:58:39.45ID:tGB0HigS 教本丸暗記してるか初心者相手に言葉遊びしてるのかどのみち害悪だよな
リサイクルしたり拡張したり切った貼ったしやすくするためにある
リサイクルしたり拡張したり切った貼ったしやすくするためにある
162デフォルトの名無しさん
2021/03/20(土) 13:05:16.75ID:ebrbGMYs >つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
つまり関数間は関数呼び出しによってのみ相互作用が可能であり
関数内部がどうなっているかは見えないし知る必要もないのが関数型?
んなわけないしそんな説明されても意味ないよね
呼び出し側が知るべき要素と知る必要がない要素を分けられるのは
オブジェクト指向特有の機能じゃないんだから
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
つまり関数間は関数呼び出しによってのみ相互作用が可能であり
関数内部がどうなっているかは見えないし知る必要もないのが関数型?
んなわけないしそんな説明されても意味ないよね
呼び出し側が知るべき要素と知る必要がない要素を分けられるのは
オブジェクト指向特有の機能じゃないんだから
163デフォルトの名無しさん
2021/03/20(土) 13:11:27.57ID:paFdJ8yI164デフォルトの名無しさん
2021/03/20(土) 13:31:51.79ID:PoGobC7U >>155
そういう動的で型の弱い言語なら全く問題ないし、
オブジェクト指向を無理にやる必要もないって話だわ。
cの不便さとオブジェクト指向が流行ったことにはかなり関係がある。
まああんまり話を理解できてなさげだから言っても理解できるとは思えんけど。
そういう動的で型の弱い言語なら全く問題ないし、
オブジェクト指向を無理にやる必要もないって話だわ。
cの不便さとオブジェクト指向が流行ったことにはかなり関係がある。
まああんまり話を理解できてなさげだから言っても理解できるとは思えんけど。
165デフォルトの名無しさん
2021/03/20(土) 13:42:15.23ID:paFdJ8yI >>162
それは概念のレイヤーが異なることをあなたが理解できていないだけ
例えばオブジェクト指向でのメッセージングとは関数呼び出しではないです
さらに言えばローカルとリモートを区別するRPCでもないです
メッセージングはオブジェクトから別のオブジェクトへの一方向の通信であり
もし何らか返事が必要となる場合は逆向きのメッセージングを行いますがその二つのメッセージングは非同期です
概念だけではわかりにくいから具体的な実現例をで言うと
例えば皆がよくわかる例としてJavaScriptでは
ネット通信やファイルアクセスは各オブジェクトの非同期関数になっていて
1つ目のメッセージングはその非同期関数の呼び出しとして
2つ目のメッセージングはその非同期関数のコールバックとしてこの言語では実現しているようですが
概念としてのオブジェクト指向のメッセージングとその各言語における様々な実現例にはもちろん乖離があります
そしてこのスレで混乱しているのは各言語における実現例だけを取り上げて話すからであって
元々の概念を理解してそれと共に話せばわらりやすいです
各言語の様々な記法なんていうのは単なる実現例側の話ですからそこに囚われていてはダメ
それは概念のレイヤーが異なることをあなたが理解できていないだけ
例えばオブジェクト指向でのメッセージングとは関数呼び出しではないです
さらに言えばローカルとリモートを区別するRPCでもないです
メッセージングはオブジェクトから別のオブジェクトへの一方向の通信であり
もし何らか返事が必要となる場合は逆向きのメッセージングを行いますがその二つのメッセージングは非同期です
概念だけではわかりにくいから具体的な実現例をで言うと
例えば皆がよくわかる例としてJavaScriptでは
ネット通信やファイルアクセスは各オブジェクトの非同期関数になっていて
1つ目のメッセージングはその非同期関数の呼び出しとして
2つ目のメッセージングはその非同期関数のコールバックとしてこの言語では実現しているようですが
概念としてのオブジェクト指向のメッセージングとその各言語における様々な実現例にはもちろん乖離があります
そしてこのスレで混乱しているのは各言語における実現例だけを取り上げて話すからであって
元々の概念を理解してそれと共に話せばわらりやすいです
各言語の様々な記法なんていうのは単なる実現例側の話ですからそこに囚われていてはダメ
166デフォルトの名無しさん
2021/03/20(土) 14:04:16.02ID:IyzEzHor Ruby on Rails 6 の本を出している人の、入門書が出た。
Erlang/OTP 上で動く、Ruby風の関数型言語
Elixir実践ガイド、黒田努、2021/2/5
Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
Erlang/OTP 上で動く、Ruby風の関数型言語
Elixir実践ガイド、黒田努、2021/2/5
Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
167デフォルトの名無しさん
2021/03/20(土) 14:05:57.32ID:ct9wvzVp >>165
非同期であることはそんなに大事なことではないのではないかな
smalltalkは九州大学病院のプロジェクトで大爆死してVBが
生き残ったわけなのでプログラミングにおいては同期の方が
わかりやすく使いやすかったことを歴史が証明してるんじゃなかろうかと
非同期であることはそんなに大事なことではないのではないかな
smalltalkは九州大学病院のプロジェクトで大爆死してVBが
生き残ったわけなのでプログラミングにおいては同期の方が
わかりやすく使いやすかったことを歴史が証明してるんじゃなかろうかと
168デフォルトの名無しさん
2021/03/20(土) 14:13:04.27ID:ct9wvzVp 非同期のメッセージングは普通のプログラミングではあまり必要とされない
非同期の処理が必要なときはPromiseオブジェクトを使うように
非同期のメッセージングさえも併呑して現代のオブジェクト指向は成り立ってると思う
アラン・ケイのオブジェクトは、オブジェクトの一形態なんだよ
非同期の処理が必要なときはPromiseオブジェクトを使うように
非同期のメッセージングさえも併呑して現代のオブジェクト指向は成り立ってると思う
アラン・ケイのオブジェクトは、オブジェクトの一形態なんだよ
169デフォルトの名無しさん
2021/03/20(土) 14:16:57.35ID:R72307UF >クリントンの「不適切な関係」
class チンポ{
super.不適切な関係;
}
クリントン
↑
チンポ
class チンポ{
super.不適切な関係;
}
クリントン
↑
チンポ
170デフォルトの名無しさん
2021/03/20(土) 14:17:05.69ID:ct9wvzVp そうして考えた場合にオブジェクトは何かと言われると
データと操作をガッチャンコしたプログラムということになろうかと
データと操作をガッチャンコしたプログラムということになろうかと
171デフォルトの名無しさん
2021/03/20(土) 14:25:14.73ID:ct9wvzVp オブジェクト指向の設計論でよく言われる貧血ドメインはダメだという
考え方は僕は嫌いで、データと操作を分けた方が良いこともある
JavaはRecordやパターンマッチなど関数型言語の機能を取り込んでいってる
オブジェクト指向+関数型がベストプラクティスだと思う
考え方は僕は嫌いで、データと操作を分けた方が良いこともある
JavaはRecordやパターンマッチなど関数型言語の機能を取り込んでいってる
オブジェクト指向+関数型がベストプラクティスだと思う
172デフォルトの名無しさん
2021/03/20(土) 14:28:17.96ID:R72307UF173デフォルトの名無しさん
2021/03/20(土) 14:31:51.39ID:M+lSuHvS >>167
ネットワークアクセスもファイルアクセスもユーザーアクセス(インターフェース)も全て本質的に同期ではなく非同期ですよ
それを無理やりに同期で書こうとすると
例えば低レイヤーではブロッキングのシステムコールとなってしまい時間のかかる相手に対してブロックされ待つ間は何も出来なくなってしまう
もちろんマルチスレッドという別の概念&実現例を使って誤魔化すことはできますがそれでもそのスレッドがブロックされて何も出来なくなってリソースを無駄にするのは事実です
実際にこの問題はいわゆる有名な『C10K問題』として無数のスレッドがリソースを無駄に消費してサーバーが破綻する現実問題を引き起こしました
そこでも解決方法として取られたプログラミング方法は通信などで無駄にブロックされるスレッドを生じさせないこと
すなわちノンブロッキングなシステムコールにより非同期なプログラミングを行なうことでC10K問題も解決されて現在我々が使う多くの通信サーバーはこの非同期な実装方法です
このように相手がいるオブジェクト指向においてはオブジェクト間での非同期なメッセージングが基本
計算だけするならともかく多くのアプリ/ソフトでは人間UIやファイルI/Oやネット通信といった同期では非常に待たされる処理が重要ですから
ネットワークアクセスもファイルアクセスもユーザーアクセス(インターフェース)も全て本質的に同期ではなく非同期ですよ
それを無理やりに同期で書こうとすると
例えば低レイヤーではブロッキングのシステムコールとなってしまい時間のかかる相手に対してブロックされ待つ間は何も出来なくなってしまう
もちろんマルチスレッドという別の概念&実現例を使って誤魔化すことはできますがそれでもそのスレッドがブロックされて何も出来なくなってリソースを無駄にするのは事実です
実際にこの問題はいわゆる有名な『C10K問題』として無数のスレッドがリソースを無駄に消費してサーバーが破綻する現実問題を引き起こしました
そこでも解決方法として取られたプログラミング方法は通信などで無駄にブロックされるスレッドを生じさせないこと
すなわちノンブロッキングなシステムコールにより非同期なプログラミングを行なうことでC10K問題も解決されて現在我々が使う多くの通信サーバーはこの非同期な実装方法です
このように相手がいるオブジェクト指向においてはオブジェクト間での非同期なメッセージングが基本
計算だけするならともかく多くのアプリ/ソフトでは人間UIやファイルI/Oやネット通信といった同期では非常に待たされる処理が重要ですから
174デフォルトの名無しさん
2021/03/20(土) 14:34:16.10ID:zfB5pfEe オブジェクト指向とは関係のない話しても
175デフォルトの名無しさん
2021/03/20(土) 14:39:47.24ID:paFdJ8yI176デフォルトの名無しさん
2021/03/20(土) 14:43:44.55ID:zfB5pfEe177デフォルトの名無しさん
2021/03/20(土) 14:46:18.10ID:ct9wvzVp >>173
それはIOの話ですよね
ドメインオブジェクトの関数を呼び出したりとか
メモリ上で行われる処理まで非同期にする必要はないので
オブジェクト指向にとって非同期はオブジェクトが持つことができる機能の一部だと思いました
それはIOの話ですよね
ドメインオブジェクトの関数を呼び出したりとか
メモリ上で行われる処理まで非同期にする必要はないので
オブジェクト指向にとって非同期はオブジェクトが持つことができる機能の一部だと思いました
178デフォルトの名無しさん
2021/03/20(土) 14:49:51.05ID:ct9wvzVp アラン・ケイは非同期なオブジェクトだけの世界を夢見てたんでしょうね
一方で同期的に処理するオブジェクトもあるので
アラン・ケイのオブジェクトはオブジェクト指向の一部でしかないと思うんですよね
同様に非同期なメッセージングもメッセージングの一部でしかなくて
同期的なメソッドコールもメッセージングとして良いと思います
一方で同期的に処理するオブジェクトもあるので
アラン・ケイのオブジェクトはオブジェクト指向の一部でしかないと思うんですよね
同様に非同期なメッセージングもメッセージングの一部でしかなくて
同期的なメソッドコールもメッセージングとして良いと思います
179デフォルトの名無しさん
2021/03/20(土) 14:50:49.82ID:ct9wvzVp そのように考えるとJavaなどの言語がオブジェクト指向言語と
言われることとも整合します
言われることとも整合します
180デフォルトの名無しさん
2021/03/20(土) 14:58:01.68ID:ct9wvzVp 非同期IOでC10K問題が解決したのはそうでしょうけど
プログラミング言語のライブラリには非同期IOも同期IOもありますから
非同期がオブジェクトの本質だとは思わないです
オブジェクトは非同期に処理するものもあるし同期に処理するものもあるという
ことだと思います
アラン・ケイがオブジェクト指向という言葉を作って
そこから抽象化されていって今に至るんじゃないかと思います
プログラミング言語のライブラリには非同期IOも同期IOもありますから
非同期がオブジェクトの本質だとは思わないです
オブジェクトは非同期に処理するものもあるし同期に処理するものもあるという
ことだと思います
アラン・ケイがオブジェクト指向という言葉を作って
そこから抽象化されていって今に至るんじゃないかと思います
181デフォルトの名無しさん
2021/03/20(土) 15:02:10.13ID:M+lSuHvS >>177
それは逆です
別の話ですが例えで出すとインターネットの基本であるIPパケットは非同期で一方向ですが
それを利用したTCP上のHTTPなどは戻り値がある両方向で(時間はかかれど)同期に見えるよう作られてます
このように基本は非同期でその上に同期を実現はできます
逆は無理です
ここが一番重要なところです
オブジェクト指向のメッセージングも本質的には非同期で一方向です
その上に擬似的にRPCもしくは関数といった同期呼び出しは可能です
それらの概念があった上で実装としてはプログラミング言語によっては関数呼び出しとして実現してるといった状況です
それは逆です
別の話ですが例えで出すとインターネットの基本であるIPパケットは非同期で一方向ですが
それを利用したTCP上のHTTPなどは戻り値がある両方向で(時間はかかれど)同期に見えるよう作られてます
このように基本は非同期でその上に同期を実現はできます
逆は無理です
ここが一番重要なところです
オブジェクト指向のメッセージングも本質的には非同期で一方向です
その上に擬似的にRPCもしくは関数といった同期呼び出しは可能です
それらの概念があった上で実装としてはプログラミング言語によっては関数呼び出しとして実現してるといった状況です
182デフォルトの名無しさん
2021/03/20(土) 15:09:23.37ID:ct9wvzVp >>181
同期を実現してるというところが大事なところなんじゃないかと
必要もないのにそうしてるわけではないでしょう
同期な方がわかりやすくて使いやすいから同期にしてるわけで
同期が基本で非同期にしたいところは非同期の処理を書いてというのが
プログラミング言語の主流なわけですから、非同期にした方が効率が良いところもあるでしょうけど
そういうケースがあるからといって非同期がオブジェクト指向の本質ではないと思います
同期を実現してるというところが大事なところなんじゃないかと
必要もないのにそうしてるわけではないでしょう
同期な方がわかりやすくて使いやすいから同期にしてるわけで
同期が基本で非同期にしたいところは非同期の処理を書いてというのが
プログラミング言語の主流なわけですから、非同期にした方が効率が良いところもあるでしょうけど
そういうケースがあるからといって非同期がオブジェクト指向の本質ではないと思います
183デフォルトの名無しさん
2021/03/20(土) 15:17:38.11ID:ct9wvzVp 通信を同期に行うか非同期に行うかは通信の詳細なので
オブジェクトという高次の概念にそういった詳細を入れるのは抽象度が合わないと思うんですよね
オブジェクトに同期、非同期の縛りがないならばIPパケットが非同期で流れてることとも
矛盾は生じないわけだから、問題ないと思うんですよね
オブジェクトという高次の概念にそういった詳細を入れるのは抽象度が合わないと思うんですよね
オブジェクトに同期、非同期の縛りがないならばIPパケットが非同期で流れてることとも
矛盾は生じないわけだから、問題ないと思うんですよね
184デフォルトの名無しさん
2021/03/20(土) 15:17:46.32ID:ebrbGMYs >>164
>そういう動的で型の弱い言語なら全く問題ないし、
そういう動的で型の弱い言語?
“そういう”て言われても何のこと言ってるの?
ある型を引数として受け取る関数を別の関数の引数や戻り値として受け渡しするのに
型が動的か静的かも関係ないければ型付けが弱いか強いかも関係なやろ
>そういう動的で型の弱い言語なら全く問題ないし、
そういう動的で型の弱い言語?
“そういう”て言われても何のこと言ってるの?
ある型を引数として受け取る関数を別の関数の引数や戻り値として受け渡しするのに
型が動的か静的かも関係ないければ型付けが弱いか強いかも関係なやろ
185デフォルトの名無しさん
2021/03/20(土) 15:18:56.03ID:M+lSuHvS >>182
話の流れを勘違いしてるようだが
「オブジェクト指向の本質はメッセージング」という流れだよ
その話と「そのメッセージングの基本は一方向非同期であり両方向同期はその上に作られる」という話をごっちゃにしてる
もちろんどちらも正しい
反論があるならば上記のどちらかの話なついて書いてほしい
一方で「オブジェクト指向の本質は非同期」という主張は誰もしていない
話の流れを勘違いしてるようだが
「オブジェクト指向の本質はメッセージング」という流れだよ
その話と「そのメッセージングの基本は一方向非同期であり両方向同期はその上に作られる」という話をごっちゃにしてる
もちろんどちらも正しい
反論があるならば上記のどちらかの話なついて書いてほしい
一方で「オブジェクト指向の本質は非同期」という主張は誰もしていない
186デフォルトの名無しさん
2021/03/20(土) 15:19:36.07ID:PoGobC7U >>184
とりあえずcでpthreadをお前の思うように実装してみれば?まず無理だから。
とりあえずcでpthreadをお前の思うように実装してみれば?まず無理だから。
187デフォルトの名無しさん
2021/03/20(土) 15:23:16.73ID:R72307UF >>174
オブジェクト指向は生まれた時から俺の股間に付いているが?
オブジェクト指向は生まれた時から俺の股間に付いているが?
188デフォルトの名無しさん
2021/03/20(土) 15:24:43.62ID:ebrbGMYs >>165
>それは概念のレイヤーが異なることをあなたが理解できていないだけ
>例えばオブジェクト指向でのメッセージングとは関数呼び出しではないです
レイヤーが異なるかどうかは捉え方によるんだよ
オブジェクト指向の観点だけから関数呼び出しとは違うと言っても意味がないよ
「オブジェクト指向を使うメリットは何?」
>それは概念のレイヤーが異なることをあなたが理解できていないだけ
>例えばオブジェクト指向でのメッセージングとは関数呼び出しではないです
レイヤーが異なるかどうかは捉え方によるんだよ
オブジェクト指向の観点だけから関数呼び出しとは違うと言っても意味がないよ
「オブジェクト指向を使うメリットは何?」
189デフォルトの名無しさん
2021/03/20(土) 15:25:44.75ID:R72307UF トイレでオシッコを出したり止めたりだな!
>>185
>「オブジェクト指向の本質はメッセージング」という流れだよ
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>>185
>「オブジェクト指向の本質はメッセージング」という流れだよ
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
190デフォルトの名無しさん
2021/03/20(土) 15:26:48.24ID:ct9wvzVp191デフォルトの名無しさん
2021/03/20(土) 15:28:21.44ID:ct9wvzVp メッセージングを実装するときの話ですね、非同期の処理があれば同期の処理は実装できるぜってことですね
つまりオブジェクト指向と非同期は関係ないという僕の考えと同じですね
つまりオブジェクト指向と非同期は関係ないという僕の考えと同じですね
192デフォルトの名無しさん
2021/03/20(土) 15:31:58.55ID:R72307UF 831 デフォルトの名無しさん sage 2018/11/11(日) 10:00:59.18 ID:Tyd11AGx
たとえば、CycはFredという名前の男がドナルドダックのモノマネをするという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には羽がないことは知っているが、
アヒルのように歩き、アヒルのように鳴くものはアヒルに違いないと考えた。
したがって、CycはFredがドナルドダックのモノマネしている間、
Fredはそれでも人間なのかと尋ねた。
925 デフォルトの名無しさん 2018/11/21(水) 18:36:07.42 ID:8Yc2p7H1
>>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, アーロンカービル
たとえば、CycはFredという名前の男がドナルドダックのモノマネをするという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には羽がないことは知っているが、
アヒルのように歩き、アヒルのように鳴くものはアヒルに違いないと考えた。
したがって、CycはFredがドナルドダックのモノマネしている間、
Fredはそれでも人間なのかと尋ねた。
925 デフォルトの名無しさん 2018/11/21(水) 18:36:07.42 ID:8Yc2p7H1
>>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, アーロンカービル
193デフォルトの名無しさん
2021/03/20(土) 15:33:56.91ID:paFdJ8yI194デフォルトの名無しさん
2021/03/20(土) 15:38:17.09ID:R72307UF 785 名無し三等兵 sage 2019/12/03(火) 08:03:27.78 ID:sujZBpWD
>>762
>「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポにチンポ自身を扱く機能が備わっていないので自動詞は不適切だから(34文字)
胸(心臓)には鼓動する機能があるため自動詞の適用対象だが
チンポには勃起する機能はあっても自身を扱く機能はないので「チンポ『が』勃起する」は成立しても「チンポ『が』シコシコする」は成立しない
夢精した状況を「チンポ『が』シコシコした」と称したければ「チンポがエロい夢を見させ夢精した」=「脳ではなくチンポが思考を司りエロい夢を見させて夢精させた」という状況で可となる
脳でなくチンポで物を考える生物についてなら「チンポ『が』シコシコする」は成り立つ
如何にもだつお的じゃないか
>>762
>「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポにチンポ自身を扱く機能が備わっていないので自動詞は不適切だから(34文字)
胸(心臓)には鼓動する機能があるため自動詞の適用対象だが
チンポには勃起する機能はあっても自身を扱く機能はないので「チンポ『が』勃起する」は成立しても「チンポ『が』シコシコする」は成立しない
夢精した状況を「チンポ『が』シコシコした」と称したければ「チンポがエロい夢を見させ夢精した」=「脳ではなくチンポが思考を司りエロい夢を見させて夢精させた」という状況で可となる
脳でなくチンポで物を考える生物についてなら「チンポ『が』シコシコする」は成り立つ
如何にもだつお的じゃないか
195デフォルトの名無しさん
2021/03/20(土) 15:50:32.64ID:ct9wvzVp >>193
元々のというのはアラン・ケイのオブジェクト指向ではってことですね
アラン・ケイのオブジェクトが非同期にやりとりするのはわかりましたが
アラン・ケイのオブジェクト指向は現代のオブジェクト指向の概念からすると
特殊例の一つだと思っています
オブジェクト指向 -> (詳細化) -> アラン・ケイのオブジェクト指向 -> (詳細化) -> メッセージングは非同期
という話だと思っていて、あなたがいう本質とは実装のことを指してるんだと思ってます
僕は現代のプログラミング言語でも通用するより抽象的なオブジェクト指向という概念に興味があります
元々のというのはアラン・ケイのオブジェクト指向ではってことですね
アラン・ケイのオブジェクトが非同期にやりとりするのはわかりましたが
アラン・ケイのオブジェクト指向は現代のオブジェクト指向の概念からすると
特殊例の一つだと思っています
オブジェクト指向 -> (詳細化) -> アラン・ケイのオブジェクト指向 -> (詳細化) -> メッセージングは非同期
という話だと思っていて、あなたがいう本質とは実装のことを指してるんだと思ってます
僕は現代のプログラミング言語でも通用するより抽象的なオブジェクト指向という概念に興味があります
196デフォルトの名無しさん
2021/03/20(土) 15:50:46.76ID:R72307UF オブジェクト指向が一時的な流行語ではなく、ソフトウェア開発の世界に自然に浸透していったのは
それが人間の自然本来の考え方であり、根源的なものであり、普遍性がある考え方だからなのです。
河合 昭男 『オブジェクト指向と哲学』
https://www.sociomedia.co.jp/8740
チンポは自分とは繋がっているけれども独立している、それがオブジェクト指向なのである!
それが人間の自然本来の考え方であり、根源的なものであり、普遍性がある考え方だからなのです。
河合 昭男 『オブジェクト指向と哲学』
https://www.sociomedia.co.jp/8740
チンポは自分とは繋がっているけれども独立している、それがオブジェクト指向なのである!
197デフォルトの名無しさん
2021/03/20(土) 15:55:08.77ID:R72307UF 657 仕様書無しさん [sage] 2020/08/12(水) 11:11:53.67 ID:
>>655
ちんぽをシコシコするというのは主体が別に存在する(おそらく右手であろう)
しかし、ちんぼがシコシコするというのはちんぽさんが主体となって別の輪状、もしくは固定された箇所に向かって
往復運動をすることを言う
そしてそれはシコシコと形容される範囲内におけるような物体や部位である必要がある
つまり、日本語でいうところのチンポがシコシコするというのは文法上は正しい
しかしである
ちんぽは主語になってよいものかという問題が残る
ちんぽは思考できるのか、主体的な存在であるのかという疑問んである
我々はちんぽを自由自在に動かす事はできない
「勃つんだ!ジョー!!」などと呼びかけた人もいるであろう
ちんぽは人の付属物であると同時に1本の主体的な存在でもある
思考や意識といったものはないかもしれないし他動的な刺激により、また体調により変化を兆す。
つまり、チンポがシコシコするというのはチンポが主体的な存在かどうかが問われているのであり
勃起に至る過程からそれはまさに肯定されるべきなのである
>>655
ちんぽをシコシコするというのは主体が別に存在する(おそらく右手であろう)
しかし、ちんぼがシコシコするというのはちんぽさんが主体となって別の輪状、もしくは固定された箇所に向かって
往復運動をすることを言う
そしてそれはシコシコと形容される範囲内におけるような物体や部位である必要がある
つまり、日本語でいうところのチンポがシコシコするというのは文法上は正しい
しかしである
ちんぽは主語になってよいものかという問題が残る
ちんぽは思考できるのか、主体的な存在であるのかという疑問んである
我々はちんぽを自由自在に動かす事はできない
「勃つんだ!ジョー!!」などと呼びかけた人もいるであろう
ちんぽは人の付属物であると同時に1本の主体的な存在でもある
思考や意識といったものはないかもしれないし他動的な刺激により、また体調により変化を兆す。
つまり、チンポがシコシコするというのはチンポが主体的な存在かどうかが問われているのであり
勃起に至る過程からそれはまさに肯定されるべきなのである
198デフォルトの名無しさん
2021/03/20(土) 16:05:13.64ID:paFdJ8yI >>195
君はウェブブラウザを使ってる?
ブラウザ上で動いており現代に最も使われているプログラミング言語の一つであるJavaScriptはオブジェクト指向で非同期プログラミング
君はJavaScriptでプログラミングすらしたことがないですか?
君はウェブブラウザを使ってる?
ブラウザ上で動いており現代に最も使われているプログラミング言語の一つであるJavaScriptはオブジェクト指向で非同期プログラミング
君はJavaScriptでプログラミングすらしたことがないですか?
199デフォルトの名無しさん
2021/03/20(土) 16:11:47.63ID:b4o+GKeK 美しい女優のパンツにウン筋がついてたから、ウンコは美味みたいな論法だな。
200デフォルトの名無しさん
2021/03/20(土) 16:12:19.29ID:ct9wvzVp201デフォルトの名無しさん
2021/03/20(土) 16:33:43.93ID:ct9wvzVp var a = 1;
var b = a + 2;
のようなプログラムを書いたら同期的に処理されるので基本は同期ですよね
DOMのイベントなどは非同期に処理されますけど
処理が同期か非同期かはオブジェクト指向の本質ではないと僕は思っていて
僕がいう本質はそれがなければある物事が成り立たないことで
オブジェクト指向という概念に処理が同期か非同期かは必要ないですよね
オブジェクトという概念がまずあって
それの実装として非同期的な処理を行えるということだと思うんですよ
オブジェクトは、データと操作をガッチャンコしたもので
データと操作をガッチャンコすると何が嬉しいのっていうのがオブジェクト指向を
理解する上で最も重要なことだと思います
var b = a + 2;
のようなプログラムを書いたら同期的に処理されるので基本は同期ですよね
DOMのイベントなどは非同期に処理されますけど
処理が同期か非同期かはオブジェクト指向の本質ではないと僕は思っていて
僕がいう本質はそれがなければある物事が成り立たないことで
オブジェクト指向という概念に処理が同期か非同期かは必要ないですよね
オブジェクトという概念がまずあって
それの実装として非同期的な処理を行えるということだと思うんですよ
オブジェクトは、データと操作をガッチャンコしたもので
データと操作をガッチャンコすると何が嬉しいのっていうのがオブジェクト指向を
理解する上で最も重要なことだと思います
202デフォルトの名無しさん
2021/03/20(土) 17:00:33.75ID:ct9wvzVp >>1の感覚はバランスが取れてて
オブジェクトは使えるところで使えば良くて何でもかんでもオブジェクトにする必要がないのは
そのとおりだと思う
オブジェクト指向の本によっては何でもかんでもオブジェクトにするのが成功の秘訣ですと
書いてあるんだよね、僕もいろいろ本は読んだけどこればかりはウソだと思ったし
今でもその恨みは忘れていない
こういう住所が与えられたときに
京都府京都市山科区御陵天徳町
愛媛県伊予市市場
秋田県由利本荘市岩城勝手
『都道府県』と『市郡区』と『町村地区』に分けて処理しなければいけないことがあったんだけど
Prefectureオブジェクト、Cityオブジェクト、Townオブジェクトを作って大失敗した
全部文字列型で処理する方が速く正確に処理できた
オブジェクトは使えるところで使えば良くて何でもかんでもオブジェクトにする必要がないのは
そのとおりだと思う
オブジェクト指向の本によっては何でもかんでもオブジェクトにするのが成功の秘訣ですと
書いてあるんだよね、僕もいろいろ本は読んだけどこればかりはウソだと思ったし
今でもその恨みは忘れていない
こういう住所が与えられたときに
京都府京都市山科区御陵天徳町
愛媛県伊予市市場
秋田県由利本荘市岩城勝手
『都道府県』と『市郡区』と『町村地区』に分けて処理しなければいけないことがあったんだけど
Prefectureオブジェクト、Cityオブジェクト、Townオブジェクトを作って大失敗した
全部文字列型で処理する方が速く正確に処理できた
203デフォルトの名無しさん
2021/03/20(土) 17:04:57.36ID:paFdJ8yI >>200
Promiseは全く関係ないです
Promiseはデザインパターンの一つなのでどの言語でも自分でプログラミングできます
ただし様々な仕様になりうるので最近は各言語が公式サポートするようになりブラウザ上のJavaScriptでも6年前にようやくPromiseオブジェクトが導入され始めました
したがって更新のないIEブラウザにはPromiseオブジェクトはありません
そしてJavaScriptは登場した25年前からオブジェクト指向かつ非同期プログラミングです
Promiseは全く関係ないです
Promiseはデザインパターンの一つなのでどの言語でも自分でプログラミングできます
ただし様々な仕様になりうるので最近は各言語が公式サポートするようになりブラウザ上のJavaScriptでも6年前にようやくPromiseオブジェクトが導入され始めました
したがって更新のないIEブラウザにはPromiseオブジェクトはありません
そしてJavaScriptは登場した25年前からオブジェクト指向かつ非同期プログラミングです
204デフォルトの名無しさん
2021/03/20(土) 17:12:05.40ID:dAj+8+Ce205デフォルトの名無しさん
2021/03/20(土) 17:16:48.10ID:L/wa3g20206デフォルトの名無しさん
2021/03/20(土) 17:26:37.14ID:ct9wvzVp207デフォルトの名無しさん
2021/03/20(土) 17:35:40.64ID:M+lSuHvS >>205
こういう流れ
「オブジェクト指向を産み出したアラン・ケイによるオブジェクト指向は非同期なメッセージング」
↓
「現代のメジャーなオブジェクト指向の言語では全て同期プログラミングでしょ?」
↓
「現代のメジャーなオブジェクト指向の言語の一つであるJavaScriptは非同期プログラミング」
こういう流れ
「オブジェクト指向を産み出したアラン・ケイによるオブジェクト指向は非同期なメッセージング」
↓
「現代のメジャーなオブジェクト指向の言語では全て同期プログラミングでしょ?」
↓
「現代のメジャーなオブジェクト指向の言語の一つであるJavaScriptは非同期プログラミング」
208デフォルトの名無しさん
2021/03/20(土) 17:41:34.77ID:ct9wvzVp 「JavaScriptは非同期プログラミング」
クリスマスは七面鳥をこんがりみたいな、なかなか味のある表現だなって思いました
クリスマスは七面鳥をこんがりみたいな、なかなか味のある表現だなって思いました
209デフォルトの名無しさん
2021/03/20(土) 18:06:45.97ID:ebrbGMYs >オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
と主張してるにも関わらず
オブジェクト指向を使うメリットを理解するためには
アラン・ケイの主張や実装手段の非同期メッセージングなど
内部がどうなっているかを知る必要があるみたいな話をされても困るよね
オブジェクト指向の価値を理解して実践できてるなら
相手が知る必要がない実装の詳細とインターフェースを分けて話せばいいのに
と主張してるにも関わらず
オブジェクト指向を使うメリットを理解するためには
アラン・ケイの主張や実装手段の非同期メッセージングなど
内部がどうなっているかを知る必要があるみたいな話をされても困るよね
オブジェクト指向の価値を理解して実践できてるなら
相手が知る必要がない実装の詳細とインターフェースを分けて話せばいいのに
210デフォルトの名無しさん
2021/03/20(土) 18:10:28.59ID:ct9wvzVp >>203
非同期プログラミングは、非同期のプログラムを書くことだと思いますけど
25年前のJavaScriptの非同期のプログラムってDOMのイベントですか?
言語の機能ではなくてDOMの機能のような気がしますけどそもそもあれって非同期なんでしたっけ?
非同期プログラミングは、非同期のプログラムを書くことだと思いますけど
25年前のJavaScriptの非同期のプログラムってDOMのイベントですか?
言語の機能ではなくてDOMの機能のような気がしますけどそもそもあれって非同期なんでしたっけ?
211デフォルトの名無しさん
2021/03/20(土) 18:16:11.81ID:paFdJ8yI >>209
非同期メッセージングは実装手段ではないよ
オブジェクト指向の本質的な概念であり様々な実装手段の上位にある
だから実装は各言語の特色に応じて実装しても構わないので各プログラミングスタイルは異なってくる
例えばJavaScriptではクロージャーによる継続渡しの非同期コールバックで帰りのメッセージングを受けているね
非同期メッセージングは実装手段ではないよ
オブジェクト指向の本質的な概念であり様々な実装手段の上位にある
だから実装は各言語の特色に応じて実装しても構わないので各プログラミングスタイルは異なってくる
例えばJavaScriptではクロージャーによる継続渡しの非同期コールバックで帰りのメッセージングを受けているね
212デフォルトの名無しさん
2021/03/20(土) 18:19:06.81ID:pSr3PkfH ここにいる人達に同じ要望書を渡しても、全員がバラバラなクラス書きそうだな
213デフォルトの名無しさん
2021/03/20(土) 18:20:47.46ID:ct9wvzVp WindowオブジェクトのsetTimeoutとかかな?
非同期に処理するオブジェクトもあるよってだけな気がします
オブジェクトという概念があってWindowオブジェクトはその実装の一つでしかないので
非同期メッセージングがオブジェクト指向の本質とは言えないと思います
非同期に処理するオブジェクトもあるよってだけな気がします
オブジェクトという概念があってWindowオブジェクトはその実装の一つでしかないので
非同期メッセージングがオブジェクト指向の本質とは言えないと思います
214デフォルトの名無しさん
2021/03/20(土) 18:29:07.83ID:ct9wvzVp Windowsで動くJScriptはWindowオブジェクト使えないですから
非同期がJavaScriptに必須というわけでもないですよね
JavaScriptはプロトタイプベースのオブジェクト指向言語でしかなくて
非同期の処理も書けるよってだけな気がします
アラン・ケイのオブジェクト指向と繋げるのは筋悪だと思います
非同期がJavaScriptに必須というわけでもないですよね
JavaScriptはプロトタイプベースのオブジェクト指向言語でしかなくて
非同期の処理も書けるよってだけな気がします
アラン・ケイのオブジェクト指向と繋げるのは筋悪だと思います
215デフォルトの名無しさん
2021/03/20(土) 18:38:59.94ID:M+lSuHvS >>213
JavaScriptはブラウザ上で全て非同期プログラミングで動いている
例えばマウスをクリックしたりスマホでタップしたりなどあらゆるヒューマンインターフェースは非同期イベント
AJAXのAがAsynchronousであるように通信も非同期で行われる
JavaScriptはブラウザ上で全て非同期プログラミングで動いている
例えばマウスをクリックしたりスマホでタップしたりなどあらゆるヒューマンインターフェースは非同期イベント
AJAXのAがAsynchronousであるように通信も非同期で行われる
216デフォルトの名無しさん
2021/03/20(土) 18:43:25.67ID:ct9wvzVp Javaのオブジェクト指向は非同期メッセージングがなくても成り立ちますが
アラン・ケイのオブジェクト指向は非同期メッセージングがなければ成り立ちません
アラン・ケイのオブジェクト指向はより多くの条件が付随するという意味で
オブジェクト指向の概念を特化したものと捉えるべきだと思います
現代のプログラミング言語は非同期に処理を行うプログラムを書くこともできますが
それは言語による実装の機能の一部でしかないです
アラン・ケイのオブジェクト指向は非同期メッセージングがなければ成り立ちません
アラン・ケイのオブジェクト指向はより多くの条件が付随するという意味で
オブジェクト指向の概念を特化したものと捉えるべきだと思います
現代のプログラミング言語は非同期に処理を行うプログラムを書くこともできますが
それは言語による実装の機能の一部でしかないです
217デフォルトの名無しさん
2021/03/20(土) 18:50:44.19ID:ct9wvzVp >>215
プログラミングはプログラムを書くことなので、非同期で動いているで良いと思います
たとえばボタン押したときのリスナーの処理って非同期ではないんじゃないですか?
処理を非同期に実装しないとたぶん同期的に処理されると思います
AJAXはそれはそうでしょうね
XMLHttpRequestオブジェクトが非同期の処理を行えるよってだけですね
オブジェクト指向という概念があって、同期の処理も非同期の処理も書けますよってことですね
だから処理を同期で行うか非同期で行うかはオブジェクト指向とは関わりがないと思うんですよ
プログラミングはプログラムを書くことなので、非同期で動いているで良いと思います
たとえばボタン押したときのリスナーの処理って非同期ではないんじゃないですか?
処理を非同期に実装しないとたぶん同期的に処理されると思います
AJAXはそれはそうでしょうね
XMLHttpRequestオブジェクトが非同期の処理を行えるよってだけですね
オブジェクト指向という概念があって、同期の処理も非同期の処理も書けますよってことですね
だから処理を同期で行うか非同期で行うかはオブジェクト指向とは関わりがないと思うんですよ
218デフォルトの名無しさん
2021/03/20(土) 18:57:38.06ID:ct9wvzVp ブラウザ上で動くJavaScriptでなぜ非同期の処理が多いかというと
GUIがあるからだと思います、GUIの描画を止めてしまうとユーザビリティが悪いので
時間がかかる処理は非同期に行ってGUIの描画が止まらないようにしましょうということだと思うんですよ
オブジェクト指向という高次の概念から導かれることではなくて
GUIを見るユーザにとって使いやすいという現実的な理由によるものです
GUIがあるからだと思います、GUIの描画を止めてしまうとユーザビリティが悪いので
時間がかかる処理は非同期に行ってGUIの描画が止まらないようにしましょうということだと思うんですよ
オブジェクト指向という高次の概念から導かれることではなくて
GUIを見るユーザにとって使いやすいという現実的な理由によるものです
219デフォルトの名無しさん
2021/03/20(土) 18:59:45.50ID:ebrbGMYs >>211
>オブジェクト指向の本質的な概念であり様々な実装手段の上位にある
「オブジェクト指向を使うメリット」を説明した上で
その内容を理解するために非同期メッセージングの理解が必要というならまだ理解できるが
どちらも説明してないのに「非同期メッセージングはオブジェクト指向の本質的な概念だから〜」と言っても意味ないよ
インターフェースと実装の詳細を分けろって意味が分からないのかな?
>オブジェクト指向の本質的な概念であり様々な実装手段の上位にある
「オブジェクト指向を使うメリット」を説明した上で
その内容を理解するために非同期メッセージングの理解が必要というならまだ理解できるが
どちらも説明してないのに「非同期メッセージングはオブジェクト指向の本質的な概念だから〜」と言っても意味ないよ
インターフェースと実装の詳細を分けろって意味が分からないのかな?
220デフォルトの名無しさん
2021/03/20(土) 19:04:21.43ID:N3y6R9Zx 全部非同期でいいんだよただ
メッセージボックスとかは同期じゃないと困る
ファイルを削除して上書きとかが非同期じゃ問題になる
言語や志向と関係ない
メッセージボックスとかは同期じゃないと困る
ファイルを削除して上書きとかが非同期じゃ問題になる
言語や志向と関係ない
221デフォルトの名無しさん
2021/03/20(土) 19:16:40.55ID:ct9wvzVp 僕は普段Javaでシングルスレッド+同期の処理ばかり書いてますけど
オブジェクト指向のありがたみは感じます
ハッシュテーブルやリストなどのオブジェクトは使いまくりです
オブジェクト指向のありがたみは感じます
ハッシュテーブルやリストなどのオブジェクトは使いまくりです
222デフォルトの名無しさん
2021/03/20(土) 19:17:58.57ID:paFdJ8yI >>220
例えばJavaScriptはそのファイルを削除して上書きも非同期プログラミングで行なわれるが問題が起きたことはない
そもそもOSレベルからしてファイルアクセスなどのI/Oのノンブロッキングシステムコールは非同期で行なうことを前提として存在している
もちろん同期にブロッキングでシステムコールを呼ぶことも可能だが無駄にI/O待ちさせられるだけになる
例えばJavaScriptはそのファイルを削除して上書きも非同期プログラミングで行なわれるが問題が起きたことはない
そもそもOSレベルからしてファイルアクセスなどのI/Oのノンブロッキングシステムコールは非同期で行なうことを前提として存在している
もちろん同期にブロッキングでシステムコールを呼ぶことも可能だが無駄にI/O待ちさせられるだけになる
223デフォルトの名無しさん
2021/03/20(土) 19:22:22.96ID:b4o+GKeK あわしろ氏によると、これからはダブルスレッドの時代らしい。
224デフォルトの名無しさん
2021/03/20(土) 19:24:09.52ID:ct9wvzVp >>223
ダブルスレッドをググったらミシンしか見つからなかったんだけど
これフリーザっぽくない?
https://ic4-a.wowma.net/mis/gr/113/image.wowma.jp/44789568/sscl/sscl-133/sscl-133-001.jpg
ダブルスレッドをググったらミシンしか見つからなかったんだけど
これフリーザっぽくない?
https://ic4-a.wowma.net/mis/gr/113/image.wowma.jp/44789568/sscl/sscl-133/sscl-133-001.jpg
225デフォルトの名無しさん
2021/03/20(土) 19:51:41.12ID:b4o+GKeK ぽいというか、完全フリーザでワロ。
226デフォルトの名無しさん
2021/03/20(土) 20:20:45.96ID:paFdJ8yI >>218
その通りでGUIやI/Oアクセスやネットワーク通信などの単なる計算以外のプログラミングでは非同期で書くほうが有利
そして非同期プログラミング自体も最近はメジャーな言語が次々とasync/awaitをサポートするようになったことで構文的にも同期と同様の記述が出来るようになり唯一の欠点も無くなった
これでオブジェクト指向におけるメッセージング(メソッド呼び出し)も同期だけでなく本来の非同期も使いやすくなるだろう
>>221
そのシングルスレッド+同期のみだと相手のオブジェクトでの処理がUI、I/O、通信などで時間待ちとなる場合に自分もブロックされて何も出来なくなってしまう
つまりそうなっても構わないようなソフトウェアしか書いていないということになる
その通りでGUIやI/Oアクセスやネットワーク通信などの単なる計算以外のプログラミングでは非同期で書くほうが有利
そして非同期プログラミング自体も最近はメジャーな言語が次々とasync/awaitをサポートするようになったことで構文的にも同期と同様の記述が出来るようになり唯一の欠点も無くなった
これでオブジェクト指向におけるメッセージング(メソッド呼び出し)も同期だけでなく本来の非同期も使いやすくなるだろう
>>221
そのシングルスレッド+同期のみだと相手のオブジェクトでの処理がUI、I/O、通信などで時間待ちとなる場合に自分もブロックされて何も出来なくなってしまう
つまりそうなっても構わないようなソフトウェアしか書いていないということになる
227デフォルトの名無しさん
2021/03/20(土) 20:27:27.77ID:9Ggx9lpD Ruby, Haskell, アラン・ケイ
ム板のごく一部のやつのせいで不必要に評判を落としてる三大被害者
ム板のごく一部のやつのせいで不必要に評判を落としてる三大被害者
228デフォルトの名無しさん
2021/03/20(土) 20:27:30.12ID:ct9wvzVp >>226
小泉進次郎みたいw
小泉進次郎みたいw
229デフォルトの名無しさん
2021/03/20(土) 20:28:43.48ID:MkV/e5E1 >>228
わかりすぎる
わかりすぎる
230デフォルトの名無しさん
2021/03/21(日) 03:54:31.61ID:y6OzbQFN >>226
非同期プログラミングしたことない出来ない下層プログラマーなんて山ほどいるからしょうがない
たとえ非効率であろうが彼らは同期プログラミングで組むしかないのだ
通信待ちするオブジェクトに対しても I/O待ちするオブジェクトに対しても
GUI待ちするオブジェクトに対しても
彼らは同期呼び出しをして律儀に無駄待ちするか無駄にスレッドを増やして非効率に煩雑化させる
非同期プログラミングしたことない出来ない下層プログラマーなんて山ほどいるからしょうがない
たとえ非効率であろうが彼らは同期プログラミングで組むしかないのだ
通信待ちするオブジェクトに対しても I/O待ちするオブジェクトに対しても
GUI待ちするオブジェクトに対しても
彼らは同期呼び出しをして律儀に無駄待ちするか無駄にスレッドを増やして非効率に煩雑化させる
231デフォルトの名無しさん
2021/03/21(日) 04:42:00.91ID:r4JsJNzA >>230
君は非同期プログラミングしたことあるの?
君は非同期プログラミングしたことあるの?
232デフォルトの名無しさん
2021/03/21(日) 04:57:27.28ID:r4JsJNzA JavaScriptは非同期プログラミングで、JavaScriptを書いたことがあるから
非同期プログラミングしたことある、とはいわないでしょうね、まさかそんなことはないでしょうね
絶対そんなことないでしょうね
非同期プログラミングしたことある、とはいわないでしょうね、まさかそんなことはないでしょうね
絶対そんなことないでしょうね
233デフォルトの名無しさん
2021/03/21(日) 05:04:04.96ID:/Oi9kl3m オブジェクト指向でなくても、例えばcでもasync/await相当はルーチンワークで書けるけどセンスが必要
オブジェクト指向におけるasync/awaitというメタファーを通して万人がまともな非同期処理を実装できるようになった意味合いは大きい
オブジェクト指向におけるasync/awaitというメタファーを通して万人がまともな非同期処理を実装できるようになった意味合いは大きい
234デフォルトの名無しさん
2021/03/21(日) 05:57:50.69ID:AAyNc4g+ もともとが「ネットワークで繋がった(大型)コンピュータ上で
それぞれの処理をするプログラムが個別に動いてる」という前提で始まってるから
相手の特定アドレスをリアルタイムで弄る的なことは
相手のステータスからしてわからないので“いずれできなくなる”
ならば相互コマンド制御にしてある程度自律的にコマンドにモジュールが
対応するシステムになっていくだろう。こうすることにより〜(以下利点
って話を、スタティックじじいはいつまで経っても
1CPUで自分でリニアな1アドレス見れるマイコンdeプログラムレベルしか想像できないので
「そんなものは要らん!」って延々とほざいてるだけだよ。
ぶっちゃけ大前提がインターネットのサーバクライアントレベルで
別に家電の組み込み基盤みたいなのはアセンブラでもなんでも速くて使い慣れたのやっとけ
『でも外のオブジェクト指向界からのコマンドメッセージには自律的に対応するように作れ』って話。
それぞれの処理をするプログラムが個別に動いてる」という前提で始まってるから
相手の特定アドレスをリアルタイムで弄る的なことは
相手のステータスからしてわからないので“いずれできなくなる”
ならば相互コマンド制御にしてある程度自律的にコマンドにモジュールが
対応するシステムになっていくだろう。こうすることにより〜(以下利点
って話を、スタティックじじいはいつまで経っても
1CPUで自分でリニアな1アドレス見れるマイコンdeプログラムレベルしか想像できないので
「そんなものは要らん!」って延々とほざいてるだけだよ。
ぶっちゃけ大前提がインターネットのサーバクライアントレベルで
別に家電の組み込み基盤みたいなのはアセンブラでもなんでも速くて使い慣れたのやっとけ
『でも外のオブジェクト指向界からのコマンドメッセージには自律的に対応するように作れ』って話。
235デフォルトの名無しさん
2021/03/21(日) 09:00:09.11ID:ut0JDDIv 関数型ネイティブの世代から見たら同じように見られてることにそろそろ気づけたらいいね
236デフォルトの名無しさん
2021/03/21(日) 10:12:10.16ID:bdK8VzDV スタティックじじいとかいうワードに頼ってる時点で読む気失せるわ
237デフォルトの名無しさん
2021/03/21(日) 10:58:53.51ID:EFuwFCQc 関係ないネタで一人で勝手にヒートアップしてさぁ付ける薬がねえよなまったく
238デフォルトの名無しさん
2021/03/21(日) 11:06:43.52ID:k5Os+mks 小泉進次郎wのレスで非同期かどうかはオブジェクト指向の本質には全く関係ないことがハッキリしただろ
関係ない話ですぐ自分語りを始めるのは老害おっさんの悪い癖やぞ
関係ない話ですぐ自分語りを始めるのは老害おっさんの悪い癖やぞ
239デフォルトの名無しさん
2021/03/21(日) 11:12:48.98ID:Jr8peOr4 ああいうのをオブジェクト指向と呼んでも混乱するだけだし
今更そう呼ぶ必要もねえよ
今の言葉の用法と違うし
そんなに大した意味ねえし
馬鹿かな?
今更そう呼ぶ必要もねえよ
今の言葉の用法と違うし
そんなに大した意味ねえし
馬鹿かな?
240デフォルトの名無しさん
2021/03/21(日) 11:32:13.06ID:EFuwFCQc インターフェース使えばそこの非同期バカでも楽に作れたとかそういうネタでドヤってんじゃねーの
オブジェクト指向は無関係とまでは言い切れんな
オブジェクト指向は無関係とまでは言い切れんな
241デフォルトの名無しさん
2021/03/21(日) 13:51:28.55ID:FBTBTzno この手のスレでオブジェクト指向を語りたがるやつは
オブジェクト指向と原始的な手続き指向しか知らないから
その2つの比較以上のことを知りたいなら質問する場所を変えることやな
おっさん談義に花を咲かせたいだけならいいんだろうけど
オブジェクト指向と原始的な手続き指向しか知らないから
その2つの比較以上のことを知りたいなら質問する場所を変えることやな
おっさん談義に花を咲かせたいだけならいいんだろうけど
242デフォルトの名無しさん
2021/03/21(日) 13:52:32.43ID:r4JsJNzA >>234
前半は何の話だろ、アラン・ケイのオブジェクト指向の話?
アドレスを弄るってところでOSのプロセスの話かとも思ったけど
やっぱりわからない
真ん中はただの妄想だけど、マイコンという発想は興味深い
後半は組み込みのプログラムはアセンブラで書いたが良いってことね
そりゃそうだろうけど、オブジェクト指向界という言葉がわからなかった
全体通して組み込みの開発をやってる人なのかなって思った
前半は何の話だろ、アラン・ケイのオブジェクト指向の話?
アドレスを弄るってところでOSのプロセスの話かとも思ったけど
やっぱりわからない
真ん中はただの妄想だけど、マイコンという発想は興味深い
後半は組み込みのプログラムはアセンブラで書いたが良いってことね
そりゃそうだろうけど、オブジェクト指向界という言葉がわからなかった
全体通して組み込みの開発をやってる人なのかなって思った
243デフォルトの名無しさん
2021/03/21(日) 13:59:32.21ID:r4JsJNzA オブジェクトによって並行処理が書きやすくなったのは事実としてあるよね
244デフォルトの名無しさん
2021/03/21(日) 14:17:26.36ID:r4JsJNzA ブロックによる構造化だけではできないことがあって
データや処理を複数の構造化されたブロック内で共有して一元的に管理する方法として
いまのところオブジェクトがベストなんじゃないかと思う
たとえばこういうふうに、複数のメソッドの中でカウントアップしたいときとか
Counter counter = new Counter();
void methodA()
{
……
counter.countup();
}
void methodB()
{
……
counter.countup();
}
プログラムによる構造を越えて処理しなければいけないときにオブジェクトは有用
データや処理を複数の構造化されたブロック内で共有して一元的に管理する方法として
いまのところオブジェクトがベストなんじゃないかと思う
たとえばこういうふうに、複数のメソッドの中でカウントアップしたいときとか
Counter counter = new Counter();
void methodA()
{
……
counter.countup();
}
void methodB()
{
……
counter.countup();
}
プログラムによる構造を越えて処理しなければいけないときにオブジェクトは有用
245デフォルトの名無しさん
2021/03/21(日) 14:33:39.17ID:r4JsJNzA そう考えると構造化プログラムの発展としてオブジェクト指向ができたのはうなずける
継承やポリモーフィズムがオブジェクト指向に必要なのかはよくわからない
継承やポリモーフィズムがオブジェクト指向に必要なのかはよくわからない
246デフォルトの名無しさん
2021/03/21(日) 14:54:42.40ID:Jr8peOr4 寝言ばかりのスレだな
取り敢えず馬鹿みたいな本や記事を書き散らして
初心者を混乱させるような仕事だけはするなよな
取り敢えず馬鹿みたいな本や記事を書き散らして
初心者を混乱させるような仕事だけはするなよな
247デフォルトの名無しさん
2021/03/21(日) 14:55:36.23ID:Jr8peOr4 馬鹿に洗脳されたアホを再教育するのは面倒なんだ
248デフォルトの名無しさん
2021/03/21(日) 15:05:17.62ID:r4JsJNzA >>247
責任感すごいです
責任感すごいです
249デフォルトの名無しさん
2021/03/21(日) 15:30:03.58ID:v/sy2acV >>239
>ああいうのをオブジェクト指向と呼んでも混乱するだけだし
多重継承は曖昧だというが、自然言語処理はその曖昧さが大切になる。チンポは随意筋であり不随意筋である。
最終的に,クラス階層は最上位クラスを含めた
最大8 階層から構成され,「伝統的な日本の絵画」
に属する用語に対応する 55 クラスと解説文中か
ら抽出した139 クラスが配置された。ただし,そ
のうち 32 クラスが複数の上位クラスをもつとい
う多重継承が示された。例えば,「ngyc:絵巻物」
は「ngyc:伝統的な日本の絵画」と,「ngyc:表具の
形式」の下位クラスである「ngyc:巻子」の 2 つの
クラスを継承する(図 2)。こうした多重継承は,
本質属性をもつ基本概念と機能を表すロール概念
を分離することで,基本概念による属性継承に限
った階層関係に変更するという考え方もあり 10),
「ngyc:伝統的な日本の絵画」がロール概念で,
「ngyc:表具の形式」が基本概念と捉えることもで
きる。しかし,本研究ではテキストからの情報抽
出に即して配置し,多重継承を許容した階層を導
き出した。
http://www.mslis.jp/am2019yoko/05_kobayashi.pdf
随意筋 不随意筋
↖ ↗
チンポ
>ああいうのをオブジェクト指向と呼んでも混乱するだけだし
多重継承は曖昧だというが、自然言語処理はその曖昧さが大切になる。チンポは随意筋であり不随意筋である。
最終的に,クラス階層は最上位クラスを含めた
最大8 階層から構成され,「伝統的な日本の絵画」
に属する用語に対応する 55 クラスと解説文中か
ら抽出した139 クラスが配置された。ただし,そ
のうち 32 クラスが複数の上位クラスをもつとい
う多重継承が示された。例えば,「ngyc:絵巻物」
は「ngyc:伝統的な日本の絵画」と,「ngyc:表具の
形式」の下位クラスである「ngyc:巻子」の 2 つの
クラスを継承する(図 2)。こうした多重継承は,
本質属性をもつ基本概念と機能を表すロール概念
を分離することで,基本概念による属性継承に限
った階層関係に変更するという考え方もあり 10),
「ngyc:伝統的な日本の絵画」がロール概念で,
「ngyc:表具の形式」が基本概念と捉えることもで
きる。しかし,本研究ではテキストからの情報抽
出に即して配置し,多重継承を許容した階層を導
き出した。
http://www.mslis.jp/am2019yoko/05_kobayashi.pdf
随意筋 不随意筋
↖ ↗
チンポ
250デフォルトの名無しさん
2021/03/21(日) 16:00:54.94ID:rWfpUSZ4 状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
251デフォルトの名無しさん
2021/03/21(日) 16:06:43.64ID:3jvKXp5s 哺乳類クラスから犬を派生させると、あわしろ氏が言ってたな。
252デフォルトの名無しさん
2021/03/21(日) 16:31:55.43ID:nSGJEJyH ちん○とか言ってる時点で頭おかしい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 「遺体、安倍、会いたい」👈逆から読んでみて [175344491]
- 【悲報】SANA、発言撤回拒否 [769931615]
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 【悲報】トランプ聖帝「高市…さん…でしたっけ?」 [878970802]
- 【悲報】タリバン、外務省のトップに土下座させる始末 [974680522]
- 山上、死刑回避し減刑か 山上母の供述で一気に酌量ムードへ [804169411]
