やっぱり動的型付け言語は大規模開発で効率が悪い 4
■ このスレッドは過去ログ倉庫に格納されています
0118デフォルトの名無しさん
2011/11/27(日) 19:41:13.69Java/C#で、プログラマがハッシュキーを('f1'ではなく)誤って'fq' と
書いてしまったケースを想像してごらん
Java/C#では、アクセス結果として(おそらく)Nullが返るから、
その誤った行(コード)を素通りして、予測の付かない箇所で「実行時に例外が発生」する
もしもJava/C#で obj.set_fq('abc') あるいは obj.fq = 'abc' と書くことが可能であったなら、
未定義メソッドエラーとして「コンパイル時に検査」できるんだよ
それに対してRubyであれば、同じ誤りの検出が(実行時ではあるけれど)
その誤りを含む行(コード)に対する具体的な method missing 例外として誤りを検出できる
分かるかい?
このケースでは、静的型付け論者が主張する「コンパイル時に型検査ができる」という
利点が失われているばかりか、実行時検査でもRubyにすら劣った結果になっているんだ
これは大きな矛盾ではないのかな?
>>115
これでいいかな?
■ このスレッドは過去ログ倉庫に格納されています