静的型付け言語と動的型付け言語について
プログラミング言語には型が決まるタイミングがあり、大きく分けて「静的型付け言語」と「動的型付け言語」がある。
静的型付け言語
変数の宣言時に型を明記する。
コンパイル時に型の整合性をチェックする。
Java,C,C++,C#,swift,Scala,Go,VB.net
動的型付け言語
変数の宣言時に型を明記しない。
実行時に型の整合性をチェックする。
JavaScript,Ruby,Python,PHP
静的型付け言語のメリット
- 型に関係するバグを減らす。
- メモリ領域の最適化。
コーディング時に変数に入っているデータの型があらかじめわかり、
もし間違えてしまっていても、コンパイル時にエラーが得るため、バグを生み出しにくい。
また、型が決まっていると、確保しておくメモリ領域がある程度把握できるため、
無駄なメモリを取っておく必要がなくなる。
ただし、一つ一つ型を記述しないといけないため、ソースコードが長くなったり、時間がかかったりするデメリットがある。
動的型付け言語のメリット
- コーディングがシンプル
- 自由度が高い。
型を明記しない分ソースコードをより少なく記述することができるため、
コーディングがシンプルで自由度が高くなる。
ただし、変数にどんな型のデータが入っているのかが実行時まで定まらないため、
実行時に初めてバグが発生したり、必要なメモリ数があらかじめ把握できないため、
余分にメモリ容量を取っておく必要があるというデメリットがある。