- 動的言語で大規模開発
503 :デフォルトの名無しさん[sage]:2014/11/29(土) 15:14:41.06 ID:HSRgXQQV - > それは void foo(YourClass a) って間違えても同じだよね
定義は一箇所。 使う場所は沢山。 一個でも間違えたらどちらが正しいかわからなくなる。
|
- 動的言語で大規模開発
504 :デフォルトの名無しさん[sage]:2014/11/29(土) 15:16:15.20 ID:HSRgXQQV - >>502
> 動的言語の方がコード量が減るから大規模になりにくい 重要なのは、タイプ量ではなくて読む量なんだよ。 動的言語のコード量が減るってようするに、 コードを理解するための情報が減るから コードが読めなくなる。 少なければいいってもんじゃないんだよ。
|
- 動的言語で大規模開発
507 :デフォルトの名無しさん[sage]:2014/11/29(土) 15:20:19.64 ID:HSRgXQQV - 動的型付け言語では、コードを理解するための情報(定義)が減って、
実行するコード自体の量は静的型付けでも動的型付けでも変わらない。 たとえて言うならば、 文章の枠外にある注釈を書いているのが静的型付け言語で 同じ文章でありながら、枠外の注釈を取り除いたのが動的型付け言語 注釈があればいきなり変数が出てきても、これは○型だってわかるが、 注釈がなければ、この変数に値入れてるのどこだよ。 この関数を使ってるのはどこだよと 注目して呼んでいる所以外の情報を探してこなければいけない。
|
- 動的言語で大規模開発
509 :デフォルトの名無しさん[sage]:2014/11/29(土) 15:24:39.97 ID:HSRgXQQV - >>506
無理だよ。 例えばMyClassにhogeというメソッドがあって、YourClassには無いとする。 これをfoo(MyClass()) と foo(YourClass())に渡した所でエラーにならない。 fooの中でhogeを呼び出しているから、YourClassを渡している所が間違いだ!と 思いきや、 動的にYourClassにhogeメソッドを追加するかもしれないから エラーとは言い切れない。 つまりエラーと出る箇所はすべて、エラーではないかもしれない。
|
- 動的言語で大規模開発
510 :デフォルトの名無しさん[sage]:2014/11/29(土) 15:26:57.07 ID:HSRgXQQV - >>508
そりゃそうだろw たった一回気をつけてかいたものと何十回も書いたもの、 どちらが間違えやすいかなんて考えるまでもない。
|
- 動的言語で大規模開発
513 :デフォルトの名無しさん[sage]:2014/11/29(土) 15:49:50.99 ID:HSRgXQQV - >>511
> 動的言語の話なら、動的にメソッド追加されるケースは多くないからワーニングを出してもOKでしょ 俺がいいたいのはそれだよ。動的にメソッド追加されるケースは多くないのに そのために多くのメリットを捨てるだけの意味が動的型付け言語にあるのかってこと。
|