なぜ静的型付け言語を使いたがるの
■ このスレッドは過去ログ倉庫に格納されています
たとえば配列の先頭要素を取り出す関数を書くとする
動的型付け言語なら
first = (a) => a[0]
静的型付け言語だと
public static <T> T first(List<T> a) {
return a.get(0);
}
なぜ、コンパイル前に指定した型しか返せないとかいう無用な制限を設けたあげく、わざわざそれを解消するような機能を追加する必要があるのか その2つは同じじゃないよ
上と同じになるのはC#だとdynamic型だろ? 最近は型チェッカが実行前から厳密に検査してくれる上に、
特にJavaScript, Ruby, Pythonの3言語はJITコンパイラにより中間言語にコンパイルする言語とほぼ同速に動く 実行前に検査って、名前がgetの別の型でもコンパイル通るんだろ もちろんシステムソフトウェアをC++やRustで書くのは理解できる
低レイヤーのソフトウェアではオーバーヘッドを少なくする必要があるからだ
しかしアプリケーションをわざわざ冗長な書き方しかできない言語で書くのはただの縛りプレイに思える
しかもJSやPythonやRubyはもはやスクリプト言語ではなく、実行時に仮想マシンの中間言語にコンパイルされる ■ このスレッドは過去ログ倉庫に格納されています