いろんなプログラミング言語を調べてみると、「静的型付け言語」って言葉がよく出てくるんだよね。これってどういう意味?
プログラミング言語は「静的型付け言語」と「動的型付け言語」に二分できるんだ!ここでは静的型付け言語について解説するよ!
静的型付け言語とは
プログラミングをしている時点で型が決められ、コンパイル時に型のチェックが行われる言語です!
型ってなんやねん!
まずはざっくり型の説明をしていくね!
型とは
様々な値が「どんなデータの種類か」ということを示すものです。データ型とも呼ばれます。
例えば
123
これはどんなデータの種類でしょう?
数字!
数字は数字なのですが、これは「整数」かもしれないし、「文字列(文字の集まり)」かもしれませんね。
この整数なのか、文字列なのか、という種類を定義するものが「型」になります!
コーディング時に型を決め、コンパイル時に型を確かめる
静的型付け言語では、コーディングをしている時点で変数(値を入れる箱)にどんなデータの種類が入っているかを定義する必要があります。つまり型を決める、ということになります。
Aという変数は整数の型である、と決めました。すると後から文字列を入れようとするとIDE(※)などでコーディングしている場合はエラーが表示されると思います。
IDEってすごいね!
※IDEについてわからない方はこちらの記事もご覧ください!
定義した型とは違うデータが入っていた状態でコンパイルを行うとエラーが起きます。
コンパイルの時点で型が正しいかチェックが入るんですね。
動的型付け言語との違い
動的型付け言語はコーディング時点では型の定義は行いません。
プログラムの実行時にコンピューターが「これはこの型だな!」と判断します。コンパイラやインタプリタが型を管理するということになりますね。
動的型付け言語についての記事はこちら!
メリット
型が決まっていると何かいいことあるの?
それには大きなメリットがあるんだ!
型を事前に決める、変数に間違っていたデータの種類が入っていたらエラーが起きる、というのが特徴です。
それってなんかいろいろ不便じゃない?
しかしこの特徴が大きなメリットをもたらすのです。
1. エラーの早期発見ができる
変数に入るデータの種類が決められているので、意図していない値が入ってしまうとエラーが起きます。動的型付け言語だと実行しないとエラーが起きるかわからないですが、こちらはコンパイル時点、IDEを使っていればコーディング時点で間違っているかどうかわかります。
2. 可読性や保守性の向上
変数の型が明示的なので、どんなデータの種類が入っているかわかるため、コードを理解しやすくなります。
そのため他の人が見てもわかりやすいため保守もしやすくなります。
3. パフォーマンス向上
静的型付け言語はコンパイル時に最適化が行えるため、実行時のパフォーマンスが高いです。
デメリット
型を決めるということは、手間がかかります。
また動的型付け言語と違い、すぐに実行して試すことができないというのも比較するとデメリットかもしれません。
しかし上記のようにあまりあるメリットもあるので、これらのデメリットは目をつむれるともいえるでしょう。
デメリットがかすむくらい良いことづくめだね!
静的型付け言語の一部をご紹介!
例えばどんなプログラミング言語が静的型付け言語なの?
具体例を挙げてみようか!
- Java
- C言語
- C#
- TypeScript
- Go言語
- Swift
これ以外にもまだまだ多くの静的型付け言語が存在します!
静的型付け言語は書き方ががっちりとした言語!
型を決める、つまりあいまいな書き方をしないからこれらの言語を学ぶとしっかりとしたコーディングが書けるようになるよ!
初めてプログラミングをする人にとってはおすすめだね!
そうだね!ただ敷居もその分高いからお手軽に始めたい場合は動的型付け言語から勉強する、というパターンでも問題ないよ!
コメント