やっぱり動的型付け言語は大規模開発で効率が悪い 4
■ このスレッドは過去ログ倉庫に格納されています
0374デフォルトの名無しさん
2011/12/06(火) 12:55:00.52静的型付け言語: リスト内には事前に決めた型のものだけしか扱えない。
動的型付け言語: リスト内にはどんな型のものでも扱える。
[1,"22",3 ...] というのは、動的ならエラーもでないが、静的はデータ型が
Unionで数字と文字を扱う型を指定してない限りエラーがでる。
リストの扱いも違って来る。
動的の場合は、
define foo list :
if isList(list,String) == True : ...
else isList(list,Integer) == True : ...
みたいな分け方だけど、事前に決まってるから、関数での型チェックを必要と
しない。(ただし、ユニオンで型を決めたときは動的と同じ事をするはめにな
る。)
簡単に言えば、型チェックは静的の場合コンパイル時のエラーで任せられるけ
ど、動的は型チェックを行う場所(関数)を熟考して決めていく必要がある。
(すべての関数で型チェックをする必要も無いので。)当然、最適化も手動に
なってくるから、こちらも静的よりは頭を使う。(頭を使う箇所が違うと言ったほ
うが適切かも。)
大規模で使えないとしたら、ある一定の頭が必要になってくるということからかも
■ このスレッドは過去ログ倉庫に格納されています