コンパイル時に型が決まっていなければならない言語に対して、実行時まで解決を先送りする言語が、手軽さが売りのスクリプト言語を中心に流行っているようです。ところで、型の実行時解決って、本当に手軽なの?
たとえば、JavaScript。変数は、型を宣言しません。しかし、オブジェクト指向言語である JavaScript には、型があります。たとえば、<input type="text"> 要素のオブジェクトに対しては、onchange や value といった、イベントやプロパティがあります。しかし、<h1> 要素のオブジェクトには、value プロパティはありません。しかし、JavaScript は、まぁ、インタプリタなのでそうするしかないのかもしれませんが、コードを書くときには型のチェックをしてくれません。input 要素が入っているつもりで h1 要素を操作しようとしていることもあり得ます。この勘違いに気づくのは、実行時に出てきたエラーから、オブジェクトを代入しているところまでさかのぼったときです。
トラブルは、後工程で発生するものほど、修正がやっかいです。コードを書くときよりも後である、デバッグの時に見つかったバグは、コードを書くときに見つけられるよりも簡単に修正できるでしょうか。
答えは「No!」であることがほとんどでしょう。
そんなわけで。せめて Option Strict On にして使いましょう→VBs
投稿日時 : 2008年4月9日 21:38