静的型付けと動的型付け
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 01:14 UTC 版)
「プログラミング言語」の記事における「静的型付けと動的型付け」の解説
静的型付け(静的型付き言語)では、全ての式の型はそのプログラムを実行する前(一般にコンパイル時)に決定される。例えば、1とか(2+2)という式は整数型であり、文字列を期待している関数には渡せず、日付(型)を格納するよう定義された変数には代入できない。 静的型付けでは、型を明記する場合と型推論を行う場合がある。前者ではプログラマは適切な位置に型を明記しなければならない。後者では、コンパイラが式の型を文脈から推論する。C++やJavaなどの主な静的型付き言語では、型を明記する。完全な型推論は主流でない言語に使われている(HaskellやML)。ただし、型を明記する言語でも部分的な型推論をサポートしていることが多い。たとえば、JavaやC#では限定された状況で型推論を行う。 動的型付け(動的型付き言語)では、型の安全性は実行時に検査される。言い換えれば、型はソース上の式ではなく、実行時の値に対して付与される。型推論言語と同様、動的型付き言語でも式や変数の型を明記する必要はない。また、ある1つの変数がプログラム実行中に異なる型の値を格納することも可能である。しかし、コードを実際に実行してみるまで型の間違いを自動的に検出することができず、デバッグがやや難しい。動的型付き言語としては、Ruby、LISP、JavaScript、Pythonなどがある。
※この「静的型付けと動的型付け」の解説は、「プログラミング言語」の解説の一部です。
「静的型付けと動的型付け」を含む「プログラミング言語」の記事については、「プログラミング言語」の概要を参照ください。
- 静的型付けと動的型付けのページへのリンク