- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
557 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:02:39.55 ID:ZwktDk40 - >>556
だってメソッドがなければ例外が出るじゃん? それじゃ意味ないよね? 動的型だって、メソッドがなければ正しく動かないわけで いけないわけで。 メソッドが1個しかないインターフェースを 継承してるのと何が違うの?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
559 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:18:03.56 ID:ZwktDk40 - あるオブジェクトの配列をソート関数に渡せるか?という問題で考えて見た。
○○型を継承とコードに書く必要があるか? ・静的型・・・書く必要がある ・動的型・・・書かなくてもいい。 ※動的型はちょっとだけタイピング数が減る 正しく動作させるには、指定されたメソッド(compareメソッド)を実装する必要があるか? ・静的型・・・実装する必要がある ・動的型・・・実装する必要がある ※どちらも同じ ソート関数は渡された配列のオブジェクトにcompareメソッドがあると意識しているか? ・静的型・・・意識している ・動的型・・・意識している ※どちらも同じ compareメソッドがなければどうなるか? ・静的型・・・コンパイル時点でエラーがわかる ・動的型・・・実行しないとエラーがわからない ※動的型はエラーに気づくタイミングが遅い 正しく動作するためには、メソッドAとBとCが必要です。と全部列挙するのが面倒くさい ・静的型・・・○インターフェースを実装してくださいと言い換えられる ・動的型・・・メソッドAとBとCが必要ですと書かなければいけない ※動的型はコメントを詳しく書く必要がある。 やっぱりこの点では動的型のほうがデメリットが多いなぁ。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
562 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:22:21.20 ID:ZwktDk40 - >>558
Javaだと、class.getDeclaredMethodsだね。 静的型だと実行時に型情報はなくても良いものだったから パフォーマンスのために保存していない情報で、 従来は取得できないものだった。 今はあったら便利ってことで実行時型情報を リフレクションと呼ばれるカテゴリの関数で 取得できるようになってる。 少し物々しくなるけど、今ではほとんどの言語で メソッド一覧は取得可能だよ。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
564 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:26:38.33 ID:ZwktDk40 - コネクションチェックってなんだよ?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
565 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:29:30.37 ID:ZwktDk40 - >>560
動的型だと、メソッド一覧の取得はあまりないが、 メソッドが存在するか?のチェックは時々ある。 それは変数に型がないので、型の違いによるディスパッチ。 要するに、引数の型が違う同じ名前のメソッドを定義する 多重定義(オーバーロード)が使えないから、 プログラマが自分で、メソッドがあればこっち、 なければこっちって書く必要があるから。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
568 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:49:21.60 ID:ZwktDk40 - > コンパイラエラー盲信かテストか
コンパイラエラーを盲信している奴なんて居ないと思うけど? コンパイラエラーをバグだと思うのは初心者ぐらいで 普通は誤字脱字程度の扱いでしょ? レビューやテストに出す前の簡単なチェック その誤字脱字程度の簡単なチェックが、テストとか大きな話になるのが動的型なだけで。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
571 :デフォルトの名無しさん[sage]:2015/12/09(水) 00:57:22.11 ID:ZwktDk40 - >>570
え? 何か間違いでもある?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
573 :デフォルトの名無しさん[sage]:2015/12/09(水) 01:14:48.96 ID:ZwktDk40 - なんだ。それだけのことか。
誤字脱字 "程度の扱い" って書いたんだよ。 誤字脱字そのものじゃない。 あ、間違えてましたwww ごめんねー。程度の軽いノリの問題だって話。 コンパイルが通ってからが、バグとテストとの本当の戦いでしょ?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
576 :デフォルトの名無しさん[sage]:2015/12/09(水) 02:38:19.01 ID:ZwktDk40 - >>574
> コンパイル通ってからの、本当の戦いを少しでも軽減したいってことだよw そうそう。 動的言語だとコンパイルってものがないから、 本当の戦いにどうでもいいようなものまで連れて来てしまう。 そりゃテストを書けば見つけられるだろうけど、 テストが漏れていたりすればテストではわからない。 それだと見つけるまで時間がかかってしまう。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
578 :デフォルトの名無しさん[sage]:2015/12/09(水) 04:32:58.97 ID:ZwktDk40 - インタプリタは1行毎に意味を解釈して実行する。
|
- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
732 :デフォルトの名無しさん[sage]:2015/12/09(水) 04:34:41.35 ID:ZwktDk40 - >>731
文字コードの問題って? 言い方がアバウトすぎる。その言い方だと文字コードに 関する全ての問題が解決したかのようだ。 あたり前だが、どんな文字コードも扱えるってだけで 文字コードの変換は必要。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
580 :デフォルトの名無しさん[sage]:2015/12/09(水) 05:27:33.68 ID:ZwktDk40 - うん、大体あってる。1行ごとじゃない時点でインタプリタではないけれど。
あとインタプリタは同じ行を毎回解釈するって点も違う。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
583 :デフォルトの名無しさん[sage]:2015/12/09(水) 06:15:38.80 ID:ZwktDk40 - インタプリタは簡単だよね。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
591 :デフォルトの名無しさん[sage]:2015/12/09(水) 14:45:51.19 ID:ZwktDk40 - >>588
> むしろ型が複雑すぎるがゆえのキャストミスのほうが多い 動的言語は大変だね。キャスト出来ないことを コンパイル時にわからないから、そういうことになる。
|
- 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
642 :デフォルトの名無しさん[sage]:2015/12/09(水) 15:28:58.05 ID:ZwktDk40 - 日本でRubyが成功し、海外ではPythonなのは
やっぱり開発者が日本人だからでは?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
593 :デフォルトの名無しさん[sage]:2015/12/09(水) 15:37:51.16 ID:ZwktDk40 - >>592
その言語とでてくるメッセージを教えて下さい、
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
596 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:06:33.64 ID:ZwktDk40 - > エラーにはならない
> 例外を投げるだけだから問題にならない 例外になったら動かないじゃんw そういや例外のログがでてるのをみて、 これは正常な動作ですって言ってた某社SEがいたな。 もちろん無償で直させたけどなw
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
598 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:14:13.71 ID:ZwktDk40 - > 例外を投げるのはデフォルトの動作だからさ
デフォルトをメソッドが見つからなければ何もしないに 変更したほうがいいのでは?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
599 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:15:11.65 ID:ZwktDk40 - 例外を投げたら止まるわけだからまずいよね?
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
601 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:17:00.19 ID:ZwktDk40 - >>600
つまりキャッチしなければ、止まるっていうことだよね? システムは止まったら行けないよ。それは エラーということ。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
603 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:21:04.43 ID:ZwktDk40 - エラー(例外)に対応すれば止まらない。という
当たり前の話をしてるんじゃないんだよね。 そもそもエラー(例外)がでないようにするには どうするかって話なんだから
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
605 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:22:48.60 ID:ZwktDk40 - >>602
今は、正常に動作するためには どうするかって話をしているだよ。 例外すら出てはいけない。キャッチしないなんてもってのほかだ。 キャッチしても正常に動作しなければ、それも意味がニア。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
606 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:23:18.22 ID:ZwktDk40 - タイプミスしたw
× それも意味がニア。 ○ それも意味がない。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
607 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:24:02.66 ID:ZwktDk40 - 当たり前だと思うけど、メソッドがないという
例外が出るときはバグだよ。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
609 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:28:27.85 ID:ZwktDk40 - >>608
言葉遊びがしたいの? 正しく動作しないならば、 それはシステムエラーだよ。 画面に「システムエラーです」って表示されたら それはエラーなのは当たり前。 システムエラーですっていうメッセージを表示するという処理をしているので 正常に動作していますって言う奴は某社SEぐらいだよw
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
611 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:31:34.50 ID:ZwktDk40 - それでも正常に動かないからバグだよね?
ソフトウェアっていうのは書いた通りに動く。 だからこれはバグではありません。 そう書いてあるんだから!っていうのは なんの説明でもないよ。 仕様を満たしていないのはバグであり メソッドが見つからないというのもバグ
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
612 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:32:35.81 ID:ZwktDk40 - 「メソッドが見つからない」というバグを
防ぐ方法を教えてあげよう。 それは変数にメソッドがちゃんとあるか 型チェックをするのだ。
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
613 :デフォルトの名無しさん[sage]:2015/12/09(水) 17:35:43.01 ID:ZwktDk40 - ふぅ。結局型チェクをすることはバグを防ぐことにつながり、
動的にしか型チェックが出来ないと、型チェックするのを忘れて バグにの元になり、手動で型チェックしたとしても手間がかかるわけか。 ちくしょー!結局型チェックは素晴らしいって 結論になっちまったぁー!
|
- 今までみた絶望的なソースコード [転載禁止]©2ch.net
603 :デフォルトの名無しさん[sage]:2015/12/09(水) 22:54:35.69 ID:ZwktDk40 -
配列に間違って一つ余計なデータを加える + ループ回数を間違って最後の一つを処理しない = _人人 人人_ > 正常動作 <  ̄Y^Y^Y^Y ̄
|