動的型付けと静的型付けのまとめ †
静的型付け †
プログラムの定義時点で全ての変数と機能の型が決定している。
メリット
- 型安全が保証される
- コンパイラによる最適化が容易
- 開発環境によりさまざまなサポートを受けることができる(インテリセンスなど)
- バグを発見しやすい
デメリット
- 汎用的なモジュールの作成には総称型(Generics)などを使用する必要がある
- 型を指定するぶんタイプ数が増える
動的型付け †
プログラムの定義時点で型の限定を行わず、正しい型のデータが渡されることを期待して機能を記述する。
メリット
- 配列や集合などのコレクションの利便性が顕著
- タイプ数が少なくて済む
- ターンアラウンドタイムが早い(コンパイル不要)
デメリット
- 最適化が難しい(マシンの高速化により問題ではなくなりつつある)
- タイプミスなどのミスを実行時まで見付けられないことがある。
- インテリセンスなど、IDEのサポートを受けにくい
タイプミスなどの問題は自動テストなどを行っていれば直ぐに発見できるため大きな問題とはならないという意見もある
参考文献