1. ホーム
  2. dynamic

[解決済み] 静的プログラミング言語と動的プログラミング言語の違い

2022-03-05 02:17:52

質問

とはどのような違いがあるのでしょうか? スタティックとダイナミック プログラミング言語 型システムの話なのはわかるのですが、もっとわかりやすく説明してほしいです。

どのように解決するのですか?

静的型付け

静的型付けとは、プログラムを実行する前に型が分かっていて、それが正しいかどうかをチェックすることである。これは、多くの場合、言語のコンパイラによって行われる。例えば、次のようなJavaのメソッドは、コンパイル・エラーを引き起こします。 プログラムを実行する前に :

public void foo() {
    int x = 5;
    boolean b = x;
}

動的な型付け

動的型付けとは、プログラムの実行中にのみ型がわかるというものです。例えば、以下のPython(3)スクリプトは問題なく実行することができます。

def erroneous():
    s = 'cat' - 1

print('hi!')

確かに出力されます。 hi! . しかし、もし erroneous :

def erroneous():
    s = 'cat' - 1

erroneous()
print('hi!')

A TypeError が発生します ランタイム いつ erroneous が呼び出されます。