前スレ
オブジェクト指向システムの設計 172
http://mevius.2ch.net/test/read.cgi/tech/1467992113
類似スレ
手続き型システムの設計 1
http://mevius.2ch.net/test/read.cgi/tech/1500282714
探検
オブジェクト指向システムの設計 173 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/08/08(火) 17:52:14.38ID:4Kd2O+xB353デフォルトの名無しさん
2017/09/15(金) 08:28:38.45ID:ckGKvGLj つまりアクターじゃん
354デフォルトの名無しさん
2017/09/15(金) 08:29:13.56ID:ckGKvGLj オブジェクト指向とアクターを分けましょう
355デフォルトの名無しさん
2017/09/15(金) 08:29:38.71ID:ckGKvGLj アランケイはつまりアクターじゃん
356デフォルトの名無しさん
2017/09/15(金) 08:31:05.96ID:ckGKvGLj オブジェクト指向 vs. アクターじゃん
357デフォルトの名無しさん
2017/09/15(金) 08:37:46.12ID:xM51rnqJ まとめて言え
358デフォルトの名無しさん
2017/09/15(金) 08:45:57.26ID:gy747Xnp アクターモデルほど並列化しなくても
OOには手続き的な逐次に囚われない要素がある
IF文と違って継承や多態したメソッドは
コード記述の順番通りでなく
クラス階層に基づいて呼ばれるし
OOには手続き的な逐次に囚われない要素がある
IF文と違って継承や多態したメソッドは
コード記述の順番通りでなく
クラス階層に基づいて呼ばれるし
359デフォルトの名無しさん
2017/09/15(金) 09:11:38.66ID:ckGKvGLj >>357
まとめるとそれってつまりアクターじゃん!!
まとめるとそれってつまりアクターじゃん!!
360デフォルトの名無しさん
2017/09/15(金) 09:12:37.96ID:ckGKvGLj >>358
それってつまりこじつけじゃん!!!
それってつまりこじつけじゃん!!!
361デフォルトの名無しさん
2017/09/15(金) 09:13:14.62ID:ckGKvGLj じゃんメソッドで理解するオブジェクト指向
362デフォルトの名無しさん
2017/09/15(金) 09:41:31.46ID:2UxzT/06363デフォルトの名無しさん
2017/09/15(金) 11:30:55.56ID:ckGKvGLj 決定の遅延ってなんスカ? haskellっすか
364デフォルトの名無しさん
2017/09/15(金) 13:10:39.74ID:2UxzT/06 神のごとき傲慢さで何でも事前に決めてしまわないことだよ
OSや言語処理系はもちろん、成果物にすらそうした態度をサポートするしくみが期待される
というのがケイのメッセージ指向のオブジェクト指向のキモ
OSや言語処理系はもちろん、成果物にすらそうした態度をサポートするしくみが期待される
というのがケイのメッセージ指向のオブジェクト指向のキモ
365デフォルトの名無しさん
2017/09/15(金) 13:27:50.13ID:gubbGhIq モンキーパッチでベタベタ
後付け修正をかけてイミフにすることだよ
後付け修正をかけてイミフにすることだよ
366デフォルトの名無しさん
2017/09/15(金) 15:34:39.82ID:7SacSfM7 ちょっと何言ってんの
367デフォルトの名無しさん
2017/09/15(金) 15:45:11.93ID:2UxzT/06 違うよ
モンキーパッチのような姑息な手を使うような局面の話ではなく、もっと根本的な問題も後から変えられるように
作る and/or それを言語処理系・OS等にサポートさせよう という話だよ
http://squab.no-ip.com/collab/uploads/61/IsSoftwareEngineeringAnOxymoron.pdf
に挙げられている例としては
- How are instances themselves made? インスタンス変数はどのように作られるべきか?
- What is a variable really? そもそも変数というものはどうあるべきか?
- Can we easily install a very different notion of inheritance? まったく別の継承機構を思いついたらそれを試せるか?
- Can we decide that prototypes are going to work better for us than classes, and move to a prototype-based design?
クラスベースよりプロトタイプベースの方が使いやすいと判断したら、途中から移行できるか?
モンキーパッチのような姑息な手を使うような局面の話ではなく、もっと根本的な問題も後から変えられるように
作る and/or それを言語処理系・OS等にサポートさせよう という話だよ
http://squab.no-ip.com/collab/uploads/61/IsSoftwareEngineeringAnOxymoron.pdf
に挙げられている例としては
- How are instances themselves made? インスタンス変数はどのように作られるべきか?
- What is a variable really? そもそも変数というものはどうあるべきか?
- Can we easily install a very different notion of inheritance? まったく別の継承機構を思いついたらそれを試せるか?
- Can we decide that prototypes are going to work better for us than classes, and move to a prototype-based design?
クラスベースよりプロトタイプベースの方が使いやすいと判断したら、途中から移行できるか?
368デフォルトの名無しさん
2017/09/15(金) 15:53:13.42ID:2UxzT/06 >>367
いかん ×インスタンス変数 ○インスタンス(=オブジェクト)
いかん ×インスタンス変数 ○インスタンス(=オブジェクト)
369デフォルトの名無しさん
2017/09/15(金) 18:23:11.78ID:H0wq/Z/R370デフォルトの名無しさん
2017/09/15(金) 18:28:53.55ID:AR0K3TGO GoFのデザパタってもう古いの?
今は何
今は何
371デフォルトの名無しさん
2017/09/15(金) 19:04:42.20ID:Ant/l9eg -デザインパターンとともに学ぶ-
オブジェクト指向のこころ
オブジェクト指向のこころ
372デフォルトの名無しさん
2017/09/15(金) 20:03:02.40ID:VPUgCPM1 -デザインパターンとともに滅ぶ-
オブジェクト指向のこころ
オブジェクト指向のこころ
373358
2017/09/15(金) 21:17:07.69ID:gy747Xnp374デフォルトの名無しさん
2017/09/15(金) 21:20:32.74ID:gy747Xnp >>370
デザパタは古くないよ
たとえばイテレータが標準で使えるとか
新しい言語が直接サポートするようになったから
自力で実装する必要がない場合も増えたけど
アルゴリズムと同じで知ってて損はない
ただたんにOOの新しい流行って意味なら
今はDDDとか
デザパタは古くないよ
たとえばイテレータが標準で使えるとか
新しい言語が直接サポートするようになったから
自力で実装する必要がない場合も増えたけど
アルゴリズムと同じで知ってて損はない
ただたんにOOの新しい流行って意味なら
今はDDDとか
375デフォルトの名無しさん
2017/09/15(金) 21:27:52.24ID:Z/MvErxh DDDはもう古い
当たり前のように使われる枯れたデザパタと似たようなポジション
逆に言うと使いこなせていない場合は初心者の烙印を押される
当たり前のように使われる枯れたデザパタと似たようなポジション
逆に言うと使いこなせていない場合は初心者の烙印を押される
376デフォルトの名無しさん
2017/09/15(金) 21:28:48.44ID:Xh3vGrxx DDDはオブジェクト指向もレイヤーが上
関数型のほうが相性がいい面もある
関数型のほうが相性がいい面もある
377デフォルトの名無しさん
2017/09/15(金) 22:32:03.57ID:Gt1H0B5V みんなすごいなぁ..
378デフォルトの名無しさん
2017/09/15(金) 22:40:52.52ID:8Yl7c1qt DDDのサービスとDCIのコンテキストの違いを語れるくらいにはなりたい
379デフォルトの名無しさん
2017/09/15(金) 23:00:39.95ID:UWwUyGbk アホ草
所詮は構造体に毛の生えたもんだろ
所詮は構造体に毛の生えたもんだろ
380デフォルトの名無しさん
2017/09/15(金) 23:02:02.51ID:pZU7ycnu 毛の大切さはそれを失なった者にしか分かるまい
381デフォルトの名無しさん
2017/09/15(金) 23:03:27.14ID:MoaBkv/B 深い
382デフォルトの名無しさん
2017/09/16(土) 04:50:46.78ID:hF16Uo8A 薄い
383デフォルトの名無しさん
2017/09/16(土) 10:22:39.13ID:HODesank >>375
DDD古いなら今は何?
DDD古いなら今は何?
384デフォルトの名無しさん
2017/09/16(土) 11:11:05.26ID:FAEJW2nX > モンキーパッチのような姑息な手を使うような局面の話ではなく、もっと根本的な問題も後から変えられるように
> 作る and/or それを言語処理系・OS等にサポートさせよう という話だよ
つまりアプリケーションの再インストール
ただしOSは再起動しないことが条件
それってWindowsは実現できてるじゃん?
> 作る and/or それを言語処理系・OS等にサポートさせよう という話だよ
つまりアプリケーションの再インストール
ただしOSは再起動しないことが条件
それってWindowsは実現できてるじゃん?
385デフォルトの名無しさん
2017/09/16(土) 11:13:12.59ID:TyV9wav2 やっぱMSの技術は最先端行ってるんだな
386デフォルトの名無しさん
2017/09/16(土) 11:14:09.27ID:FAEJW2nX もしかしたらOSの再起動をしても良いかもしれないな。
根本的な問題を変える時、OSを再インストールすることで実現できる。
きっとそれは違う!というのだろうけど、
それって「根本的な問題を後から変えられる」が本当に求めているものではなくて
「システムの停止時間がほぼ0に近いこと」が本当に求めているものではないのかね?
根本的な問題を変える時、OSを再インストールすることで実現できる。
きっとそれは違う!というのだろうけど、
それって「根本的な問題を後から変えられる」が本当に求めているものではなくて
「システムの停止時間がほぼ0に近いこと」が本当に求めているものではないのかね?
387デフォルトの名無しさん
2017/09/16(土) 11:21:50.01ID:0nrSN7bk >>384
アルトで動いていた暫定ダイナブック環境から40余年
https://upload.wikimedia.org/wikipedia/commons/9/91/Smalltalk-76.png
そこらのパソコンもだいぶケイの考えるオブジェクト指向(メッセージ指向)をサポートできるようになったってことか
できたらアップデートするアプリケーションも再起動しないで済む仕組みだとなおいいね
アルトで動いていた暫定ダイナブック環境から40余年
https://upload.wikimedia.org/wikipedia/commons/9/91/Smalltalk-76.png
そこらのパソコンもだいぶケイの考えるオブジェクト指向(メッセージ指向)をサポートできるようになったってことか
できたらアップデートするアプリケーションも再起動しないで済む仕組みだとなおいいね
388デフォルトの名無しさん
2017/09/16(土) 11:35:51.04ID:FAEJW2nX >>387
> できたらアップデートするアプリケーションも再起動しないで済む仕組みだとなおいいね
結局それはトレードオフの問題だからね。
アプリを修正したら即反映できるかっていったらそうとは限らない。
メモリ内のデータ構造の変更が必要になることが有る。
だから単純にオブジェクトを入れ替えるだけではなく
データ構造的に互換性がある形にするか
新旧両方のデータ構造に対応させるか
データ構造の変換機能(マイグレーション)が必要になる。
で、それが面倒だから本当に永続化しなければいけないものを限定して保存することで
再起動してそれ以外の重要ではない部分を破棄させる。
だからOSや言語だけで対応できることじゃないんだよ。
今でもやろうと思えばできるが、コストがかかるからやらないってこと
> できたらアップデートするアプリケーションも再起動しないで済む仕組みだとなおいいね
結局それはトレードオフの問題だからね。
アプリを修正したら即反映できるかっていったらそうとは限らない。
メモリ内のデータ構造の変更が必要になることが有る。
だから単純にオブジェクトを入れ替えるだけではなく
データ構造的に互換性がある形にするか
新旧両方のデータ構造に対応させるか
データ構造の変換機能(マイグレーション)が必要になる。
で、それが面倒だから本当に永続化しなければいけないものを限定して保存することで
再起動してそれ以外の重要ではない部分を破棄させる。
だからOSや言語だけで対応できることじゃないんだよ。
今でもやろうと思えばできるが、コストがかかるからやらないってこと
389デフォルトの名無しさん
2017/09/16(土) 11:40:49.19ID:FAEJW2nX またオブジェクトの入れ替え(コードの修正)と言っても
通常は一箇所だけやればいいってもんじゃないからね。
ある機能を実現するために、複数のオブジェクトを修正しなければいけない
それを一括で適用する方法はないだろう?
だからアクロバティックなことをしなければいけなくなる。
つまりコードを修正しても、無効フラグなどで新しいコードが
使われないようにして、互換性を保ちながらコードを修正していって
あるとき一気に切り替え。そして徐々に古いコードを削除していく。
ってなことをやるぐらいなら、夜間にバージョンアップのメンテで
数時間停止します。の方がマシだったりする。
もちろん無停止システムもあるだろう。その場合は
サーバー複数用意して切り替えるとかね
結局はコストと時間を無制限に使えるというのであれば
アランケイの理想は実現できますよ(=不可能という意味)という話でしか無い
通常は一箇所だけやればいいってもんじゃないからね。
ある機能を実現するために、複数のオブジェクトを修正しなければいけない
それを一括で適用する方法はないだろう?
だからアクロバティックなことをしなければいけなくなる。
つまりコードを修正しても、無効フラグなどで新しいコードが
使われないようにして、互換性を保ちながらコードを修正していって
あるとき一気に切り替え。そして徐々に古いコードを削除していく。
ってなことをやるぐらいなら、夜間にバージョンアップのメンテで
数時間停止します。の方がマシだったりする。
もちろん無停止システムもあるだろう。その場合は
サーバー複数用意して切り替えるとかね
結局はコストと時間を無制限に使えるというのであれば
アランケイの理想は実現できますよ(=不可能という意味)という話でしか無い
390デフォルトの名無しさん
2017/09/16(土) 11:56:37.56ID:gf/ZkNkm サービスの利用が中断されないならアプリケーションを再起動したって何の問題もない。アップデートされるアプリケーション自体にその機能を持たせる価値がどれ程あるのか?
391デフォルトの名無しさん
2017/09/16(土) 11:59:46.89ID:0nrSN7bk >>388
> メモリ内のデータ構造の変更が必要
まあそれを必要としないのがケイの主張する「決定の遅延」の徹底(と言語やOSによるサポート)のミソなわけなんだが
長々と書いている内容を読んだかんじ、まったくイメージがつかめてないんだろうな…
> メモリ内のデータ構造の変更が必要
まあそれを必要としないのがケイの主張する「決定の遅延」の徹底(と言語やOSによるサポート)のミソなわけなんだが
長々と書いている内容を読んだかんじ、まったくイメージがつかめてないんだろうな…
392デフォルトの名無しさん
2017/09/16(土) 12:00:50.91ID:FAEJW2nX393デフォルトの名無しさん
2017/09/16(土) 12:02:57.53ID:FAEJW2nX 変更するのはデータ構造だけじゃなくて
データの意味が変わったりもするからね。
そういう場合に変更機能はどうしても避けられない
データの意味が変わったりもするからね。
そういう場合に変更機能はどうしても避けられない
394デフォルトの名無しさん
2017/09/16(土) 12:03:34.13ID:/gVs+HA3 >>387
Mac OSの原型か
Mac OSの原型か
395デフォルトの名無しさん
2017/09/16(土) 12:09:30.00ID:AcW1bn43 OSの定期的な再起動は
現実的に仕様がないと思うけどね
現代のOSは複雑だから
Smalltalkの遅延結合の思想は
理論的には良いけど
現段階で本当に実現できるかは不明
Smalltalkで動かしながらデバッグできるっていうのと
現代のOSとではシステムの複雑さが違い過ぎるから
再起動は必要ない代わりに不具合が出たりするかもしれない
現実的に仕様がないと思うけどね
現代のOSは複雑だから
Smalltalkの遅延結合の思想は
理論的には良いけど
現段階で本当に実現できるかは不明
Smalltalkで動かしながらデバッグできるっていうのと
現代のOSとではシステムの複雑さが違い過ぎるから
再起動は必要ない代わりに不具合が出たりするかもしれない
396デフォルトの名無しさん
2017/09/16(土) 12:19:19.44ID:0nrSN7bk397デフォルトの名無しさん
2017/09/16(土) 12:21:42.56ID:FAEJW2nX398デフォルトの名無しさん
2017/09/16(土) 12:25:21.02ID:hF16Uo8A 前から疑問だったんだけど「あらゆる意思決定の遅延」の話がなんで「無停止デプロイ」の話にすり替わってんの?
全く別の話だよねこれって
全く別の話だよねこれって
399デフォルトの名無しさん
2017/09/16(土) 12:35:04.15ID:FAEJW2nX >>395
> 現代のOSは複雑だから
結局そこなんだよな
システムが巨大でインターネットを介して世界中にの複数台の
サーバーで一つのシステムを構成してるっていうのは
昔の一台の構成のコンピュータでアプリを動かすのとは訳が違う
せめて遅延結合とかメッセージとかじゃなくて、
処理の非同期実行と呼んでいれば、ウェブサービス=クラス
サービスを実行してる仮想マシン=インスタンスと無理やり
結びつけることも出来たかもしれないね。言葉は重要だw
でも非同期実行だと、サーバーが再起動したとしても最終的に処理できればいいわけで
アランケイが本当に目指していたことである、プロセスを再起動せずに更新反映は
必要ないってことになっちゃうかw
まあすべてを非同期にする必要はないだろうけど、要所要所で
非同期で処理しておけば、システムの更新もしやすくなるんやで
> 現代のOSは複雑だから
結局そこなんだよな
システムが巨大でインターネットを介して世界中にの複数台の
サーバーで一つのシステムを構成してるっていうのは
昔の一台の構成のコンピュータでアプリを動かすのとは訳が違う
せめて遅延結合とかメッセージとかじゃなくて、
処理の非同期実行と呼んでいれば、ウェブサービス=クラス
サービスを実行してる仮想マシン=インスタンスと無理やり
結びつけることも出来たかもしれないね。言葉は重要だw
でも非同期実行だと、サーバーが再起動したとしても最終的に処理できればいいわけで
アランケイが本当に目指していたことである、プロセスを再起動せずに更新反映は
必要ないってことになっちゃうかw
まあすべてを非同期にする必要はないだろうけど、要所要所で
非同期で処理しておけば、システムの更新もしやすくなるんやで
400デフォルトの名無しさん
2017/09/16(土) 12:40:46.80ID:FAEJW2nX >>398
> 全く別の話だよねこれって
結局のところ、意思決定の遅延が何をもたらすのかを
説明できてないのが原因だろうねw
あらゆる意思決定の遅延
→それがあると何ができるか?
→プロセスを停止せずに変更が可能 (ここが一番重要)
→停止して変更すればよくね? (これにうまく反論ができない)
→停止するとつかえなくなる時間がー (苦し紛れの理由)
→それらはデプロイ技術で解決できること
> 全く別の話だよねこれって
結局のところ、意思決定の遅延が何をもたらすのかを
説明できてないのが原因だろうねw
あらゆる意思決定の遅延
→それがあると何ができるか?
→プロセスを停止せずに変更が可能 (ここが一番重要)
→停止して変更すればよくね? (これにうまく反論ができない)
→停止するとつかえなくなる時間がー (苦し紛れの理由)
→それらはデプロイ技術で解決できること
401デフォルトの名無しさん
2017/09/16(土) 12:49:12.64ID:0nrSN7bk >>400
アラン・ケイの主張なんだからとりあえず彼が書いたこれを読もうよ
http://squab.no-ip.com/collab/uploads/61/IsSoftwareEngineeringAnOxymoron.pdf
それから解らないことを具体的に訊いてけばいいと思うよ
アラン・ケイの主張なんだからとりあえず彼が書いたこれを読もうよ
http://squab.no-ip.com/collab/uploads/61/IsSoftwareEngineeringAnOxymoron.pdf
それから解らないことを具体的に訊いてけばいいと思うよ
402デフォルトの名無しさん
2017/09/16(土) 12:50:38.87ID:FAEJW2nX >>401
読んだ。で?
読んだ。で?
403デフォルトの名無しさん
2017/09/16(土) 12:51:58.36ID:FAEJW2nX わからないことは何も無いが、俺が勘違いしている可能性はある。
だが勘違いしている俺には、その事実がわかるはずもない。
だから他人から見て間違っているというのであれば
それを説明しろって言ってるだけなんですがーw
だが勘違いしている俺には、その事実がわかるはずもない。
だから他人から見て間違っているというのであれば
それを説明しろって言ってるだけなんですがーw
404デフォルトの名無しさん
2017/09/16(土) 12:58:19.60ID:hF16Uo8A >>400
→それがあると何ができるのか
→プロセス停止しないで変更可能(ここは全然重要じゃない。無停止デプロイは副次的な効果のうちの1つでしかない)
正しくはこうだろう
ここから間違えてるから議論が明後日の方向に突き進んでる
→それがあると何ができるのか
→プロセス停止しないで変更可能(ここは全然重要じゃない。無停止デプロイは副次的な効果のうちの1つでしかない)
正しくはこうだろう
ここから間違えてるから議論が明後日の方向に突き進んでる
405デフォルトの名無しさん
2017/09/16(土) 13:00:21.80ID:FAEJW2nX いや、だから副次的な効果ではなくそれ以外の真の効果(なにそれ?)が
言えないのが問題だって言ってるんだが。
間違ってる場所を指摘するだけじゃなくて正しい効果とやらを言えよ
だからいつもデプロイ技術で解決できちまうんだよ。
言えないのが問題だって言ってるんだが。
間違ってる場所を指摘するだけじゃなくて正しい効果とやらを言えよ
だからいつもデプロイ技術で解決できちまうんだよ。
406デフォルトの名無しさん
2017/09/16(土) 13:03:13.48ID:FAEJW2nX ちなみにさっきも言っているが「変更」自体はプロセスを停止して
リセットすることで、行うことができる。
そのリセットにかかる時間はデプロイ技術で短くなってきており
リセットしないまま慎重に時間をかけて変更するよりも、
変更してリセットしてセーブポイントから再開した方が早い
アランケイはリセットしたほうが早いというのを
計算に入れることができなかったんだろうね
リセットすることで、行うことができる。
そのリセットにかかる時間はデプロイ技術で短くなってきており
リセットしないまま慎重に時間をかけて変更するよりも、
変更してリセットしてセーブポイントから再開した方が早い
アランケイはリセットしたほうが早いというのを
計算に入れることができなかったんだろうね
407デフォルトの名無しさん
2017/09/16(土) 13:11:46.44ID:hF16Uo8A 正しい効果なんてとっくに明確になってるだろ「意思決定を遅延させることができる」
そのまんまだよ
データベーススキーマが完成するまでアプリケーションの開発チームは何もせず待機するのか?
そうじゃないだろう
普通はモックやスタブを使ってアプリケーションを開発する
これはデータベーススキーマに関する意思決定を遅延したということだ
そしてこういった意思決定の遅延を普遍的なモデルとして再考してあらゆる問題に適用しようぜというのがメッセージ指向の本質
無停止デプロイの話なんてどこにも出てこないんだよ
無停止デプロイはメッセージ指向を応用すれば簡単に実現できるね程度の枝葉の話だ
そのまんまだよ
データベーススキーマが完成するまでアプリケーションの開発チームは何もせず待機するのか?
そうじゃないだろう
普通はモックやスタブを使ってアプリケーションを開発する
これはデータベーススキーマに関する意思決定を遅延したということだ
そしてこういった意思決定の遅延を普遍的なモデルとして再考してあらゆる問題に適用しようぜというのがメッセージ指向の本質
無停止デプロイの話なんてどこにも出てこないんだよ
無停止デプロイはメッセージ指向を応用すれば簡単に実現できるね程度の枝葉の話だ
408デフォルトの名無しさん
2017/09/16(土) 13:12:37.99ID:FAEJW2nX 「意思決定を遅延させることができる」
→それがあると何ができるか?
→プロセスを停止せずに変更が可能 (ここが一番重要)
ほらまた同じ流れw
→それがあると何ができるか?
→プロセスを停止せずに変更が可能 (ここが一番重要)
ほらまた同じ流れw
409デフォルトの名無しさん
2017/09/16(土) 13:15:03.01ID:FAEJW2nX >>407
> データベーススキーマが完成するまでアプリケーションの開発チームは何もせず待機するのか?
> そうじゃないだろう
> 普通はモックやスタブを使ってアプリケーションを開発する
> これはデータベーススキーマに関する意思決定を遅延したということだ
データベーススキーマに関する "本物の実装" を遅延させただけ
データベーススキーマに関する "意思決定はなされた" からこそ
モックやスタブという "偽物の実装" を遅延させずに早期に開発することが可能なった
これが正しい解釈だからねw
> データベーススキーマが完成するまでアプリケーションの開発チームは何もせず待機するのか?
> そうじゃないだろう
> 普通はモックやスタブを使ってアプリケーションを開発する
> これはデータベーススキーマに関する意思決定を遅延したということだ
データベーススキーマに関する "本物の実装" を遅延させただけ
データベーススキーマに関する "意思決定はなされた" からこそ
モックやスタブという "偽物の実装" を遅延させずに早期に開発することが可能なった
これが正しい解釈だからねw
410デフォルトの名無しさん
2017/09/16(土) 13:25:28.76ID:FAEJW2nX > 無停止デプロイの話なんてどこにも出てこないんだよ
それがでてくるんだよなぁ。
停止して良いのならば、静的型付け言語でコンパイルして完全に型が
決定していようとも、再コンパイルすることで変更することができる。
停止していいならばね。
だからプロセスを停止するかしないかだけが焦点となってしまう。
それがでてくるんだよなぁ。
停止して良いのならば、静的型付け言語でコンパイルして完全に型が
決定していようとも、再コンパイルすることで変更することができる。
停止していいならばね。
だからプロセスを停止するかしないかだけが焦点となってしまう。
411デフォルトの名無しさん
2017/09/16(土) 13:28:34.44ID:6N2IGxKU 世界改変のためには一度世界を滅ぼす必要があるのか!
412デフォルトの名無しさん
2017/09/16(土) 13:31:13.63ID:FAEJW2nX 安心しろ。世界を滅ぼさなくても一部だけを修正すればいいだけだ。
そしてソフトウェアは世界じゃない。
止めてリセットして同じところまで再開することが可能なのに、
わざわざ止めずに修正する必要なんて無いんだよ。
そしてソフトウェアは世界じゃない。
止めてリセットして同じところまで再開することが可能なのに、
わざわざ止めずに修正する必要なんて無いんだよ。
413デフォルトの名無しさん
2017/09/16(土) 13:36:49.70ID:hF16Uo8A だめだこりゃ
話を聞かない人間に物事を理解させることほど難しいことはない
話を聞かない人間に物事を理解させることほど難しいことはない
414デフォルトの名無しさん
2017/09/16(土) 13:38:39.88ID:FAEJW2nX そりゃお前が「物事を他人に理解させるための説明」を
何一つしないからだな。
「話を聞かない」の前に、お前の話はどれだよ?ちゃんと反論してるだろ
その俺の反論した話を聞かないのはお前だろ
何一つしないからだな。
「話を聞かない」の前に、お前の話はどれだよ?ちゃんと反論してるだろ
その俺の反論した話を聞かないのはお前だろ
415デフォルトの名無しさん
2017/09/16(土) 13:46:23.09ID:gf/ZkNkm この議論はID:FAEJW2nXのほうがまともだね。
416デフォルトの名無しさん
2017/09/16(土) 13:46:23.43ID:u+EwIGwO 優越コンプレックス餓ひどい奴がいるな
かわいそうに
かわいそうに
417デフォルトの名無しさん
2017/09/16(土) 13:48:02.25ID:FAEJW2nX 一応>>416は俺ではないことを示しておこう
418デフォルトの名無しさん
2017/09/16(土) 13:51:47.58ID:gf/ZkNkm >>407
意思決定が遅延できることには価値があるけど、それにはトレードオフが伴う
それを理解せずに普遍的なモデルとしてあらゆる問題に適用しようぜって言ってるうちは
世迷いごとと言われて当然
まずアラン・ケイの主張に対して自分たちのスタンスを明確にしたら?
困ったら「アラン・ケイの主張なんだから」じゃ議論にならんよね
意思決定が遅延できることには価値があるけど、それにはトレードオフが伴う
それを理解せずに普遍的なモデルとしてあらゆる問題に適用しようぜって言ってるうちは
世迷いごとと言われて当然
まずアラン・ケイの主張に対して自分たちのスタンスを明確にしたら?
困ったら「アラン・ケイの主張なんだから」じゃ議論にならんよね
419デフォルトの名無しさん
2017/09/16(土) 14:03:12.81ID:gf/ZkNkm もう一つ言っとくと無停止デプロイの類は
入れ替え可能なコンポーネントについて事前に意思決定してるからできる事なんだよ
遅延可能な意思決定の範囲ついて事前に意思決定をしてる
アラン・ケイがトレードオフについて理解できてないとは俺は思わないけどね
入れ替え可能なコンポーネントについて事前に意思決定してるからできる事なんだよ
遅延可能な意思決定の範囲ついて事前に意思決定をしてる
アラン・ケイがトレードオフについて理解できてないとは俺は思わないけどね
420デフォルトの名無しさん
2017/09/16(土) 14:12:17.50ID:FAEJW2nX 全てがオブジェクトが入れ替え可能というふうに
事前に意思決定をしているアラン系(笑)
事前に意思決定をしているアラン系(笑)
421デフォルトの名無しさん
2017/09/16(土) 14:50:07.64ID:amUiv1H5 開発プロセスを止めて意思決定を待つ必要が無いってことなら大きいな
運用中のシステムを一時停止する話とは全然違う
運用中のシステムを一時停止する話とは全然違う
422デフォルトの名無しさん
2017/09/16(土) 14:52:50.48ID:/gVs+HA3 自分だけは常に正しいという前提
423デフォルトの名無しさん
2017/09/16(土) 14:55:11.70ID:FAEJW2nX >>421
もう一回言っておくね。
例えばC言語で、完成してないモジュールを勝手に定義して
自分の担当のモジュールを作ることは出来ます。
止めれば良いのだから、モジュールが完成してから
再コンパイルして変更することも出来ます。
これがあなたが言ってる「意思決定を待つ必要がない」と
いうことそのものです。
もう一回言っておくね。
例えばC言語で、完成してないモジュールを勝手に定義して
自分の担当のモジュールを作ることは出来ます。
止めれば良いのだから、モジュールが完成してから
再コンパイルして変更することも出来ます。
これがあなたが言ってる「意思決定を待つ必要がない」と
いうことそのものです。
424デフォルトの名無しさん
2017/09/16(土) 14:56:16.78ID:FAEJW2nX これからは開発プロセスを止めて意思決定を待つ必要が無いという開発を
>423のことと定義しましょう。実際その通りなのですからね。
>423のことと定義しましょう。実際その通りなのですからね。
425デフォルトの名無しさん
2017/09/16(土) 15:18:35.50ID:0nrSN7bk426デフォルトの名無しさん
2017/09/16(土) 15:27:55.42ID:KTBQzRbQ そもそも立ち位置がアンチ「アラン・ケイ」&「Smalltalk」だから
それらに関係しそうな主張はいっさい聞く耳もたないし
もしかしたら思考も意識的に停止させてるっぽいから
説明尽くしても届かない
それらに関係しそうな主張はいっさい聞く耳もたないし
もしかしたら思考も意識的に停止させてるっぽいから
説明尽くしても届かない
427デフォルトの名無しさん
2017/09/16(土) 15:49:34.15ID:gf/ZkNkm >>426
少なくとも俺はアラン・ケイを尊敬してるよ。
アスキーのアラン・ケイ本を何度も読み返すくらいにはね。
以前の議論はともかくとして今日の議論は
ID:0nrSN7bk や ID:hF16Uo8A より
ID:FAEJW2nX のほうが言ってることがまとも
議論から逃げて個人攻撃するしかできないのなら
端から難癖つけて絡むやつと同レベルだよ
少なくとも俺はアラン・ケイを尊敬してるよ。
アスキーのアラン・ケイ本を何度も読み返すくらいにはね。
以前の議論はともかくとして今日の議論は
ID:0nrSN7bk や ID:hF16Uo8A より
ID:FAEJW2nX のほうが言ってることがまとも
議論から逃げて個人攻撃するしかできないのなら
端から難癖つけて絡むやつと同レベルだよ
428デフォルトの名無しさん
2017/09/16(土) 15:57:16.09ID:FAEJW2nX429デフォルトの名無しさん
2017/09/16(土) 16:39:45.47ID:2BjiIsa6 スマホまで使ってご苦労なことだ
430デフォルトの名無しさん
2017/09/16(土) 17:18:39.42ID:0nrSN7bk431デフォルトの名無しさん
2017/09/16(土) 17:42:14.48ID:FAEJW2nX >>430
教祖様の主張なんだから教祖様の主張を読み解くことから始めようという言い方で
無宗教の人を勧誘する行為はマヌケだなって思わない?
そんな宗教に入りたくもないのに、なぜ自ら洗脳されるために勉強しなければらないのか?
まずは信者のお前が、どういう宗教なのかを自分の言葉で語るのが最初だろ
読めばお前も信者になるはずだっていう考えは
すごくマヌケだよw
教祖様の主張なんだから教祖様の主張を読み解くことから始めようという言い方で
無宗教の人を勧誘する行為はマヌケだなって思わない?
そんな宗教に入りたくもないのに、なぜ自ら洗脳されるために勉強しなければらないのか?
まずは信者のお前が、どういう宗教なのかを自分の言葉で語るのが最初だろ
読めばお前も信者になるはずだっていう考えは
すごくマヌケだよw
432デフォルトの名無しさん
2017/09/16(土) 17:47:16.58ID:0nrSN7bk433デフォルトの名無しさん
2017/09/16(土) 18:04:49.40ID:FAEJW2nX >>432
なんで疑問が出るんだ?お前は疑問が出てるのか?
読んだら誰だって疑問が浮かぶはずだと思ってるのか?
どういう理屈なんだそりゃw
当時の時代背景ではそうだっただろうね。
今当てはまってないのは、時代が変わったからだね
という納得しか無いわw
> >>307だと分かった時点で、
「俺は相手が誰だか見抜きました。すごいだろー」
っていうのは今の議論に何の関係があるんだ?
それこそどうだって良いことだろ
> これ以上、なにをどうせいっちゅうんじゃ?
アランケイを読んだ上で、俺独自の意見を言ってるんだから
それに対して反論してくれればいい。お前すべて見なかったことにしてるだろw
俺が理解してないというのなら、理解していないならばこそ俺の意見に穴があるはずだろ?
その穴をお前はつけばいいだけなのに「教祖様の話を聞けば改宗するはず」と繰り返してるだけ
えとな、自分の言葉で説明できないのは、理解してないからなんやで?
なんで疑問が出るんだ?お前は疑問が出てるのか?
読んだら誰だって疑問が浮かぶはずだと思ってるのか?
どういう理屈なんだそりゃw
当時の時代背景ではそうだっただろうね。
今当てはまってないのは、時代が変わったからだね
という納得しか無いわw
> >>307だと分かった時点で、
「俺は相手が誰だか見抜きました。すごいだろー」
っていうのは今の議論に何の関係があるんだ?
それこそどうだって良いことだろ
> これ以上、なにをどうせいっちゅうんじゃ?
アランケイを読んだ上で、俺独自の意見を言ってるんだから
それに対して反論してくれればいい。お前すべて見なかったことにしてるだろw
俺が理解してないというのなら、理解していないならばこそ俺の意見に穴があるはずだろ?
その穴をお前はつけばいいだけなのに「教祖様の話を聞けば改宗するはず」と繰り返してるだけ
えとな、自分の言葉で説明できないのは、理解してないからなんやで?
434デフォルトの名無しさん
2017/09/16(土) 18:18:55.20ID:0nrSN7bk 「オブジェクト指向」には抽象データ型をクラス等で実現するストラウストラップのそれとは別にアラン・ケイのそれがある
よくメッセージングで象徴されがちだけど、「決定の遅延の徹底」という真の目的まで言及されないことが多いから要注意な
ってなことを紹介してるだけなのにどうして宗教の押しつけだの教祖がどうのこうの難癖つけられるのかわからん
「カプセル化、継承、多態性」に象徴されるストラウストラップの考え方を紹介するとこれも宗教なのか?
むしろアンチという宗教の押しつけをやめてほしいわ
よくメッセージングで象徴されがちだけど、「決定の遅延の徹底」という真の目的まで言及されないことが多いから要注意な
ってなことを紹介してるだけなのにどうして宗教の押しつけだの教祖がどうのこうの難癖つけられるのかわからん
「カプセル化、継承、多態性」に象徴されるストラウストラップの考え方を紹介するとこれも宗教なのか?
むしろアンチという宗教の押しつけをやめてほしいわ
435デフォルトの名無しさん
2017/09/16(土) 18:19:21.66ID:FAEJW2nX > 「決定の遅延の徹底」という真の目的まで
それは目的じゃない。手段
それは目的じゃない。手段
436デフォルトの名無しさん
2017/09/16(土) 18:21:11.83ID:FAEJW2nX 「決定の遅延の徹底」ではなく「決定の遅延の撤廃」と言い換えれば、
決定の遅延の撤廃が真の目的だ!と言われた時に
お前はなんで?って聞き返すだろ。
これは目的じゃなくて手段だからだ。
決定の遅延の撤廃が真の目的だ!と言われた時に
お前はなんで?って聞き返すだろ。
これは目的じゃなくて手段だからだ。
437デフォルトの名無しさん
2017/09/16(土) 18:37:56.50ID:FAEJW2nX わずか30秒の速攻レスにもうお手上げかなw
速攻でレスしたんだから、気づいてないはず無いよね
早く決定の遅延を徹底する目的
何のために決定の遅延を行うのかってのを
言ってほしいものなんですがね
まあここまでいくつも出た目的をさんざん打ち破ってきたので
これ以上目的が思いつかないってのもわかりますがねw
速攻でレスしたんだから、気づいてないはず無いよね
早く決定の遅延を徹底する目的
何のために決定の遅延を行うのかってのを
言ってほしいものなんですがね
まあここまでいくつも出た目的をさんざん打ち破ってきたので
これ以上目的が思いつかないってのもわかりますがねw
438デフォルトの名無しさん
2017/09/16(土) 18:58:32.38ID:0nrSN7bk つくづく独りよがりの哀れなやつだな…きっと長生きするよ
439デフォルトの名無しさん
2017/09/16(土) 18:59:50.46ID:FAEJW2nX ほんと議論する気ねーのなw
そのくせそんな書き込みだけはすると
そのくせそんな書き込みだけはすると
440デフォルトの名無しさん
2017/09/16(土) 19:09:37.99ID:hF16Uo8A 決定の遅延の目的はシンプルで明確だよ
システム開発において「依存元に着手する時期 <= 依存先が解決する時期」という不等式は必ずしも成立しない
むしろ社内政治の都合で不等式が成立しないことの方が圧倒的に多い
これはコーディングフェーズだけの問題ではなく企画から運用まで様々なフェーズで起こりうる問題
依存関係木の葉から順番に問題を解決するやり方ではとてもじゃないが納期には間に合わない
なので依存先の解決を待たずに依存元の解決を可能にして並列に処理しなければならない
そのためには決定の遅延を導入する必要がある
システム開発において「依存元に着手する時期 <= 依存先が解決する時期」という不等式は必ずしも成立しない
むしろ社内政治の都合で不等式が成立しないことの方が圧倒的に多い
これはコーディングフェーズだけの問題ではなく企画から運用まで様々なフェーズで起こりうる問題
依存関係木の葉から順番に問題を解決するやり方ではとてもじゃないが納期には間に合わない
なので依存先の解決を待たずに依存元の解決を可能にして並列に処理しなければならない
そのためには決定の遅延を導入する必要がある
441デフォルトの名無しさん
2017/09/16(土) 19:15:16.87ID:FAEJW2nX >>440
コーディングフェーズの話をしてくれ
単に仕事をする上で仕様等が決まっていなくても
こうなるだろうという仮の"決定"を行って
先に作業をすすめる。あとで本当に決まった時に
仕様変更するという話にしか聞こえん
それだと別に静的型付け言語でコンパイルするようなものでも
仮の仕様を先に決定して、あとから修正することも可能だろ
コーディングフェーズの話をしてくれ
単に仕事をする上で仕様等が決まっていなくても
こうなるだろうという仮の"決定"を行って
先に作業をすすめる。あとで本当に決まった時に
仕様変更するという話にしか聞こえん
それだと別に静的型付け言語でコンパイルするようなものでも
仮の仕様を先に決定して、あとから修正することも可能だろ
442デフォルトの名無しさん
2017/09/16(土) 19:18:50.27ID:FAEJW2nX 一般論の話をすすめるのなら、契約が済んでいなくても
待ち時間を無駄に過ごすぐらいなら、先行して作業することが有るだろう
だけど契約することなく終わってしまえば、その作業は無駄になる。
トレードオフの話になってしまって、決定の遅延は必ずしも正解ではなく
徹底するのはやめた方がいいという当たり前の結果になる。
で、まだこのまま一般論の話を続ける?
当てはまらなくて意味がないから、
さっさとコーディングベースの話をしてほしいんだが
待ち時間を無駄に過ごすぐらいなら、先行して作業することが有るだろう
だけど契約することなく終わってしまえば、その作業は無駄になる。
トレードオフの話になってしまって、決定の遅延は必ずしも正解ではなく
徹底するのはやめた方がいいという当たり前の結果になる。
で、まだこのまま一般論の話を続ける?
当てはまらなくて意味がないから、
さっさとコーディングベースの話をしてほしいんだが
443デフォルトの名無しさん
2017/09/16(土) 19:19:11.35ID:0nrSN7bk せめて「疎結合システムは言語レベルで実現するものではない」とかいう的外れな拘りから離れられない限り議論なんて無理
もっともその縛りを解いたら、ケイの書いている「決定の遅延の徹底」のメリットの例に疑問も異論はないんだろ?
議論しようにも争点が見当たらないよ
もっともその縛りを解いたら、ケイの書いている「決定の遅延の徹底」のメリットの例に疑問も異論はないんだろ?
議論しようにも争点が見当たらないよ
444デフォルトの名無しさん
2017/09/16(土) 19:20:06.21ID:0nrSN7bk コーディングベースの話がしたいなら次世代言語スレでも行けば?
445デフォルトの名無しさん
2017/09/16(土) 19:20:10.55ID:FAEJW2nX446デフォルトの名無しさん
2017/09/16(土) 19:21:08.54ID:FAEJW2nX447デフォルトの名無しさん
2017/09/16(土) 19:52:57.54ID:RZXlyLKz ああ分かった分かった「徹底」にひっかかってんのね
「徹底」っていうのは文字通り「底まで貫き通す」という意味以外にも
慣用的には努力目標(この場合はそれよりちょっと強めだけど)とする場合もあるんだよ
適用不可能と思われる局面でもそれを克服するために工夫するということはあっても
あきらかに適用したらダメな局面にもバカみたいに例外なく貫き通すって意味じゃあない
生きるのつらくない?
「徹底」っていうのは文字通り「底まで貫き通す」という意味以外にも
慣用的には努力目標(この場合はそれよりちょっと強めだけど)とする場合もあるんだよ
適用不可能と思われる局面でもそれを克服するために工夫するということはあっても
あきらかに適用したらダメな局面にもバカみたいに例外なく貫き通すって意味じゃあない
生きるのつらくない?
448デフォルトの名無しさん
2017/09/16(土) 19:53:51.63ID:hF16Uo8A >>442
もちろんコストとメリットのトレードオフはあるがそれはコントロールできるもの
そして評価は統計的な視点で行うべきだ
あまりにも期待値が低いなら無理に利用する必要はない
例えば「契約が取れるかどうかもわからないのに完全な納品物を作る」という決定の遅延は期待値が低いので避けるべきだ
あるいは「同じ取引先の別案件が成功して本案件の契約が取れる見込みが高まったので技術的な調査とテンプレート作成に限定して先行着手させる」という決定の遅延ならば期待値が高いので採用してもいいだろう
その辺りはバランスの問題だな
なんらかのリスクがあるから決定の遅延は絶対にダメだなどというのはあまりにも思慮に欠けるよ
もちろんコストとメリットのトレードオフはあるがそれはコントロールできるもの
そして評価は統計的な視点で行うべきだ
あまりにも期待値が低いなら無理に利用する必要はない
例えば「契約が取れるかどうかもわからないのに完全な納品物を作る」という決定の遅延は期待値が低いので避けるべきだ
あるいは「同じ取引先の別案件が成功して本案件の契約が取れる見込みが高まったので技術的な調査とテンプレート作成に限定して先行着手させる」という決定の遅延ならば期待値が高いので採用してもいいだろう
その辺りはバランスの問題だな
なんらかのリスクがあるから決定の遅延は絶対にダメだなどというのはあまりにも思慮に欠けるよ
449デフォルトの名無しさん
2017/09/16(土) 19:58:03.28ID:FAEJW2nX やっぱり一般論の話の方をしたいのか(苦笑
オブジェクト指向とは全く関係ないな
オブジェクト指向とは全く関係ないな
450デフォルトの名無しさん
2017/09/16(土) 20:11:50.81ID:FAEJW2nX なんか話がアランケイの話から
オブジェクト指向にすり替えられようとしてるな
気づいてよかった
>>387
> できたらアップデートするアプリケーションも再起動しないで済む仕組みだとなおいいね
結局それはトレードオフの問題だからね。
アプリを修正したら即反映できるかっていったらそうとは限らない。
メモリ内のデータ構造の変更が必要になることが有る。
だから単純にオブジェクトを入れ替えるだけではなく
データ構造的に互換性がある形にするか
新旧両方のデータ構造に対応させるか
データ構造の変換機能(マイグレーション)が必要になる。
で、それが面倒だから本当に永続化しなければいけないものを限定して保存することで
再起動してそれ以外の重要ではない部分を破棄させる。
だからOSや言語だけで対応できることじゃないんだよ。
今でもやろうと思えばできるが、コストがかかるからやらないってこと
オブジェクト指向にすり替えられようとしてるな
気づいてよかった
>>387
> できたらアップデートするアプリケーションも再起動しないで済む仕組みだとなおいいね
結局それはトレードオフの問題だからね。
アプリを修正したら即反映できるかっていったらそうとは限らない。
メモリ内のデータ構造の変更が必要になることが有る。
だから単純にオブジェクトを入れ替えるだけではなく
データ構造的に互換性がある形にするか
新旧両方のデータ構造に対応させるか
データ構造の変換機能(マイグレーション)が必要になる。
で、それが面倒だから本当に永続化しなければいけないものを限定して保存することで
再起動してそれ以外の重要ではない部分を破棄させる。
だからOSや言語だけで対応できることじゃないんだよ。
今でもやろうと思えばできるが、コストがかかるからやらないってこと
451デフォルトの名無しさん
2017/09/16(土) 20:21:12.24ID:FAEJW2nX 要点だけ言っておくと、アランケイが目指したシステムっていうのは
当時の世界観でのシステムであり、当時の世界観の
システムっていうのは言語そのものだった。言語がOSだと言っても過言じゃない。
だからアランケイが目指したシステムは今では言語で実装するものではなく
OSやアプリケーションレベルで実装したほうがよい。
アランケイが目指した再起動なしにオブジェクトを入れ替えられるという機能で
実現したかったものは、オブジェクトよりも大きな単位であるアプリケーション
・サービス・OS・仮想マシン・コンテナなどの単位で入れ替えることで実現できるようになった
当時の世界観でのシステムであり、当時の世界観の
システムっていうのは言語そのものだった。言語がOSだと言っても過言じゃない。
だからアランケイが目指したシステムは今では言語で実装するものではなく
OSやアプリケーションレベルで実装したほうがよい。
アランケイが目指した再起動なしにオブジェクトを入れ替えられるという機能で
実現したかったものは、オブジェクトよりも大きな単位であるアプリケーション
・サービス・OS・仮想マシン・コンテナなどの単位で入れ替えることで実現できるようになった
452デフォルトの名無しさん
2017/09/16(土) 20:59:57.74ID:8gG27N70■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で [お断り★]
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★3 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★4
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★3
- 【高市早苗】習近平、本気で激おこ [115996789]
- 【高市有事】高市早苗が就任一ヶ月でやったこと一覧wwwwwwwwwwwwwww [603416639]
- 【有事】高市、🥺麻生太郎に言わされただけだった。悲しいお人形やね…😢 [153490809]
- 高市早苗「中国が戦艦を使ったら存立危機事態」佐藤優氏「戦艦なんて時代遅れの艦船を持ってる訳ねーだろ」 [931948549]
