こんにちは、nomuyoguです!
無数にあるプログラミング言語の分類として、「静的型付け言語」「動的型付け言語」という分け方があります。
これらはそれぞれどのような言語のことを指すのでしょうか。
本記事では「静的型付け言語」「動的型付け言語」の概要について解説していきます。
それでは始めていきましょう!
静的型付け言語
まず前提として、プログラミングには変数の「型」という概念が存在します。
「123」のような数値型、「あいう」のような文字列型などです。
コンピュータはこの「型」を元にして内部的な変数の扱い方を決定します。
そして、プログラマがコードを書く際、明示的に型を記述する必要があるプログラミング言語のことを「静的型付け言語」と言います。
代表的な静的型付け言語として、C・C++・Java・Goなどが挙げられます。
Goでの変数宣言は以下のように行います。
var name string = “nomuyogu”
これは、string型のnameという変数を”nomuyogu”という値で初期化するという意味です。
明示的にstring型であることを記述していますね。
静的型付け言語のメリットとして、変数に想定しない型の値が入ってエラーとなる事象を防ぐことができます。
また、メモリの最適化や、実行速度の速さなどもメリットとして挙げられます。
動的型付け言語
次に動的型付け言語です。
こちらはデータ型の明記が不要なプログラミング言語のことを指します。
静的型付け言語とは異なり、型を明記しなくても機械がコードを解釈し、型を想定して変数を扱ってくれるのです。
代表的な動的型付け言語として、Ruby・PHP・Python・JavaScriptなどが挙げられます。
PHPでの変数宣言は以下のように行います。
$name = “nomuyogu”;
変数の型を明記せずとも、$nameはstring型として扱われます。
動的型付け言語のメリットとして、コードの記述量を減らすことができ、比較的簡単に簡潔にコードを書けることが挙げられます。
ただし、そのように自由度が高い分、型起因のエラーが起きやすいことがデメリットです。
おわりに
今回は「静的型付け言語」「動的型付け言語」について解説しました。
両者の違いやメリット・デメリットを押さえておくことで、プログラミング言語全体の理解につながると思います!