ここ数日、未経験だったWeb系がどんなもんか触れてみている。
Webプログラミングでは、DBやViewとのやりとりが大きな部分を占める。そして、DBに静的型付け言語でアクセスすると、Object形から適切な型への変換が必要になってしまう。*1
また、Viewとのやりとりも、辞書*2が多いので、静的型付けの恩恵を受けにくい。
C++の、コンパイルが通ればしょうもないバグのほとんどが消えている感覚になれきっているから、大きなプログラムを動的型付け言語で書く気はしなかった。でも、Web系では動的型付けで大きなサイトがポンポンできている理由が判った気がした。
手間*3をかけて宣言を書いても、その恩恵があんまり受けられないなら、動的型付けの方がいいよな。
静的型付け言語に、動的型付け言語の良さを取り込めないだろうか?
動的に型が解決される変数を宣言する構文を作ったとして…あぁ、overrideでコケるか。いや、overrideされた関数の引数に動的型が渡されたときは、overrideも動的に解決すればいい。あとはどんな問題が考えられるだろう?インタプリタ型言語じゃないと動的型付けするのが面倒とか?
あと、IronPythonやJRubyみたいなのを使う方法は…結局IroyPythonからC#へ変換する部分で同じ問題になるだけか。