型のある言語とない言語
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 01:14 UTC 版)
「プログラミング言語」の記事における「型のある言語とない言語」の解説
型のある言語は、型システムによって、それぞれの値のデータ型に応じて、定義されていない操作が実行されないよう(多かれ少なかれ)チェックされる機構を持つ。 例えば、"this text between the quotes" は文字列型の値である。ふつう、数を文字列で割る操作には意味がない。そのため、そのようなプログラムは拒絶する。言語によっては、コンパイル時に検出し(静的型検査)コンパイルを失敗とする。言語によっては、実行時に検出し(動的型検査)、例外とするものもあればなんらかのコアーション(型の強制)を行うものもある。(理論的には、静的なシステムのみを指して「型システム」とすることもある) (型のある言語の特殊例として、単一型言語がある。REXXといったスクリプト言語やSGMLといったマークアップ言語は、単一のデータ型しか扱わない。多くの場合、そのときのデータ型は文字列型である。 アセンブリ言語などの型のない言語は、任意のデータに任意の操作を実行可能であり、データは単にある長さのビット列として扱われる。ある程度高い機能を持ちつつも型が無い(あるいは単一型の)プログラミング言語の例としては、BCPLやForthなどがある(型という概念自体が無いわけではない。例えば「浮動小数点に対する加算」という演算子といったものは存在する。ただしその演算子により、オペランドが何であれそのワードのビットパターンが浮動小数点数を表現しているものとみなされて加算される、といったようなことになる)。 「多かれ少なかれ」と書いたように、「強い」型システムの言語は少なく、多くの言語はそれなりの型システムを採用している。多くの実用的な言語には、型システムを迂回または打倒するような手段が用意されている。
※この「型のある言語とない言語」の解説は、「プログラミング言語」の解説の一部です。
「型のある言語とない言語」を含む「プログラミング言語」の記事については、「プログラミング言語」の概要を参照ください。
- 型のある言語とない言語のページへのリンク