X



なぜ静的型付け言語を使いたがるの
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2024/03/01(金) 19:27:33.640ID:Df4qswgYd
たとえば配列の先頭要素を取り出す関数を書くとする
動的型付け言語なら

first = (a) => a[0]

静的型付け言語だと

public static <T> T first(List<T> a) {
return a.get(0);
}

なぜ、コンパイル前に指定した型しか返せないとかいう無用な制限を設けたあげく、わざわざそれを解消するような機能を追加する必要があるのか
0002ハンロンの剃刀
垢版 |
2024/03/01(金) 19:28:58.942ID:CU8Pk03K0
無能で十分説明されることに悪意を見出すな
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2024/03/01(金) 19:30:06.522ID:dSgzyvKD0
お前銀行の幹部にそれ言えるの?
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2024/03/01(金) 19:30:16.528ID:H44bYihx0
その2つは同じじゃないよ
上と同じになるのはC#だとdynamic型だろ?
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2024/03/01(金) 19:32:22.463ID:Df4qswgYd
最近は型チェッカが実行前から厳密に検査してくれる上に、
特にJavaScript, Ruby, Pythonの3言語はJITコンパイラにより中間言語にコンパイルする言語とほぼ同速に動く
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2024/03/01(金) 19:33:58.621ID:Nb9mLyps0
実行前に検査って、名前がgetの別の型でもコンパイル通るんだろ
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2024/03/01(金) 19:43:04.259ID:Df4qswgYd
もちろんシステムソフトウェアをC++やRustで書くのは理解できる
低レイヤーのソフトウェアではオーバーヘッドを少なくする必要があるからだ

しかしアプリケーションをわざわざ冗長な書き方しかできない言語で書くのはただの縛りプレイに思える
しかもJSやPythonやRubyはもはやスクリプト言語ではなく、実行時に仮想マシンの中間言語にコンパイルされる
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況