>662
一言で言うと、静的型付け言語の方がルールが多く、ルールに沿った書き方しかできないようになっているから、

たとえばPHPのような動的型付け言語は、ルールを無視してstringを要求する関数にarrayを渡したりできるわけだが、
静的型付け言語で同じ事をしようとすると、普通はコンパイル時、最悪でも実行時にエラーになる。つまりそういうルール違反が出来ない。
「こういう変数を渡しましょうね」とコメントに書くより、特定の型のオブジェクトしか受け取れないようにした方が確実だろ?
そういう、言語レベルで他人に何かを強制する仕組みは、Javaのような静的型付け言語の方が圧倒的に強力。
まあ、その代償として、Hello, worldを出力するのにクラスが必要、みたいな大仰な事になるのだが。

動的型付け言語と静的型付け言語のプロジェクトの効率は、
「コーディング規約」「ファイル名などの命名規則」がないプロジェクトとあるプロジェクトくらい差がある。
小規模なプロジェクトなら無いほうが効率がいいが、関わる人数が増えてくるとこの差は致命的に効いてくる。