オブジェクト指向ってクソじゃねぇよ? Part2at TECH
オブジェクト指向ってクソじゃねぇよ? Part2 - 暇つぶし2ch1001:デフォルトの名無しさん
18/11/22 17:27:01.89 DWgniQ0o.net
>>979
> OOPのメリットと言う上記全てがCommonLispでも可能
アラン・ケイは彼のOOPで目指した「決定の遅延」がLispでも(というかSmalltalkとLispのみで)可能と述べていますから当然ですね
「決定の遅延」を「メッセージング」というメタファー(まあ実際に送るのでもいいのですが)を使って目指すのがケイのOOPなので
「メッセージング」を使わずとも「決定の遅延」は実践可能だからこれは(ケイの)OOPの本質ではないという指摘は
主客を取り違えています。
同様のことはビョーン・ストラウストラップらの「ユーザー定義型をクラス(様エンティティ)でやる」アイデアのOOPについても言えて
ユーザー定義型(データ抽象、抽象データ型)はクラスのない××言語でもできるから、これはOOPの本質じゃない!という指摘も
やはり的を外しています

1002:デフォルトの名無しさん
18/11/22 17:32:39.19 WA/+SJn9.net
ほんとなぁ「決定の遅延」を言語でやることが目的になってるよなw
なんのためにやるのか?それは言語以外のレイヤーで実現できないのか?
それが抜けてる

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

1004:デフォルトの名無しさん
18/11/22 17:34:39.94 WA/+SJn9.net
> コールスタックだったり、インスタンス変数情報だったり、テンポラリー変数情報だったりとにかく様々だよ
つまりデバッガとブレークポイントによって実現できることって話か
決定の遅延となんの関係もないw

1005:デフォルトの名無しさん
18/11/22 17:44:37.74 DWgniQ0o.net
>>983
別に言語のみにこだわる必要はないと思うよ?どうしてそんなふうに思う?
とにかくSmalltalkを気にしすぎだよ
他のレイヤーでできているならそれでいいと思うよ
Smalltalkについては学習コストを鑑みて
全てをオブジェクトとそれへのメッセージングというシンプルなドグマで解決できるならベターだし
言語(というかOSモドキ)ならそういう世界を比較的簡単に実現し、そこでの実践を通じて実用性の検証ができるというだけの話だろう

1006:デフォルトの名無しさん
18/11/22 17:45:49.73 WA/+SJn9.net
結局の所、決定の遅延で何が出来るか?というとデバッグ時にソースコードを
編集する機能が作りやすくなるというメリットだったって話で良いかね?
↓つまりこれ
コードを編集し、(c#、VB、C++)、Visual Studio でデバッグを続行
URLリンク(docs.microsoft.com)
> エディット コンティニュを使用すると、プログラムが中断モードのときに
> ソース コードを変更できるため、時間を節約できます。 などの実行コマンドを選択して、
> プログラムの実行を再開すると続行または手順、エディット コンティニュに
> 自動的にいくつかの制限でコード変更を適用します。 このため、デバッグ セッション中に
> コードを変更できます。デバッグ セッションをいったん停止し、プログラム全体を
> 再コンパイルしてからデバッグ セッションを再開する必要がありません。

1007:デフォルトの名無しさん
18/11/22 17:45:51.26 DWgniQ0o.net
>>985
> つまりデバッガとブレークポイントによって実現できること
そこからまたエディタに戻って定義して再実行して…って手間は俺はいやだなって話をずっとしている

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

1009:デフォルトの名無しさん
18/11/22 17:48:27.96 WA/+SJn9.net
>>986
> とにかくSmalltalkを気にしすぎだよ
それはSmalltalkぐらいだからだよ
「決定の遅延」という言葉が独り歩きして
それで何が出来るのか?が語られないのは。
でもはっきりしたじゃないか。デバッグ時にソースコード編集機能を
実現しやすくなるのが「決定の遅延」
そして別に決定の遅延をしなくても、デバッグ時にソースコードを編集する機能は実現できる。
言語のメリットとして上げるほどのことでもなかった。

1010:デフォルトの名無しさん
18/11/22 17:50:18.97 WA/+SJn9.net
>>988
> そこからまたエディタに戻って定義して再実行して…って手間は俺はいやだなって話をずっとしている
え?バグ無しで一発で作れるの?すごいね(笑)
結局再実行するでしょ

1011:デフォルトの名無しさん
18/11/22 17:52:26.05 WA/+SJn9.net
再実行する手間がいやなら、ソースコードを編集して保存したら
自動的にテストを再実行するようにすればいい。
ファイルを保存したときにテストを自動で実行する
URLリンク(qiita.com)

1012:デフォルトの名無しさん
18/11/22 17:52:45.81 DWgniQ0o.net
>>990
> それはSmalltalkぐらいだからだよ
そりゃそうだよ
今のところLispとSmalltalkくらいしかできないことのさらに高みを目指そうっていう話なんだから…
早期結合派は誰か目先の利く人が無茶をして実現された技術が導入されて普及しないかぎり永久に理解できない話だと思うよ

1013:デフォルトの名無しさん
18/11/22 17:53:57.61 WA/+SJn9.net
もう早期結合派とか言わんでくれる?
コードを編集してデバッグを続行する機能でしかないんだから

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

1015:デフォルトの名無しさん
18/11/22 18:10:45.29 DWgniQ0o.net
図星かw
Smalltalkが「決定の遅延」を実践し難なく実現したアクロバチックな便利機能を
早期結合派の有志が無茶をしつつも実現し普及させ、君みたいな想像力に乏しい人でもしたり顔でその恩恵にあずかれる
いい話じゃないか

1016:デフォルトの名無しさん
18/11/22 18:59:37.96 sPtmfb/w.net
>>965
>0.1ミリ秒
そうか、MSは0.1ミリ秒のために多大なリソースを投入してデバッグ中のメソッドのホットパッチ&継続実行を可能にしたんだな。www

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

1018:デフォルトの名無しさん
18/11/22 19:03:59.99 eioG5FBi.net
SmalltalkのOSモドキはLinuxやWindowsといった本物のOSと比べて
あまりにも出来損ないのゴミなのが問題なんだよ
決定の遅延?大変結構だと思うよ?本物のOSの上で出来るならね
でもゴミOSモドキの上でOSゴッコするくらいなら決定の遅延なんて要らない

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

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

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


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch