なんか「動的型付け言語」っていうプログラミング言語だと楽ぅ~にコーディングできるって聞いたけど本当なの?
うーん、ちょっと誤った認識かもしれないね。解説していこうか。
動的型付け言語とは
プログラミング時に型を決める必要がなく、プログラム実行時に型が自動的に判断して決められる言語です!
型ってなんだっけ…。
前回「静的型付け言語」について解説したときに型の説明もしたから、わからなければこちらを復習しようか!
型の説明が入った静的型付け言語の記事はこちらになります!
プログラミング言語は「静的型付け言語」と「動的型付け言語」のふたつに分けられるってこと?
その通り!
実行時まで型は判別されない
動的型付け言語はコーディングをしている段階では型を宣言しません。
しかし型が必要ないのではなく、プログラムを実行する際インタプリタ(ソースコードを翻訳して実行してくれるもの)が値を推定して型を決めてくれるのです。
おそらくこのデータの種類だろうな~、って感じで推測してくれるんだね!
とはいっても変数にやたらめったらなんの型でも入れられるというわけではありません。不一致があった場合、実行時にエラーが起きます。
型を決めずにコーディングしていいんでしょ!やっぱり楽ちんじゃ~ん!動的型付け言語最高ぅ!
でもデメリットも多いんだ。それを解説していくね。
メリット
1. データの型を気にせずコーディングができる!
上で解説した通り、データの型を宣言せずにコーディングができます!
変数に入る値の型やデータの種類は気にせず記述することが大きなメリットです!
2. コード量の削減
型を気にすることがないため、それにまつわる記述をする必要がなくなります。
したがってその分ソースコードは簡潔になります!
3. 実行効率が高い
静的型付け言語と違いすぐにプログラムを実行できるので、実行→修正→実行…という作業の効率が高いです!
デメリット
1. コードの可読性が低い
型を明記しないため、「これってどんなデータの種類が入っているんだろう?」というように、ソースコードの解読がしにくくなります。まだ自分だけならいいですが、他人のソースコードを見るとなると大変ですね。
2. 実行後にエラーがあることがわかるため、手間がかかる
実行後にエラーが起きるため自分の思い通りの動作をしていないことがそこでわかります。その原因の究明も「どこでエラーが起きているんだ…?」となるため手間がかかる場合があります。
3. 静的型付け言語に比べてパフォーマンスが下がる
静的型付け言語に比べて実行速度が劣ります。
なるほど、お手軽な分こういうデメリットがあるんだね。
動的型付け言語の一部をご紹介!
どんな言語が動的型付け言語なのか教えて!
じゃあ代表的な言語を紹介するね!
- Python
- PHP
- JavaScript
- Ruby
この一覧以外にも様々な動的型付け言語が存在します!
型を決めないお手軽な動的型付け言語!
型を決めないことでメリットとデメリットが大きく分かれるね!
そうだね!あいまいな書き方ができるため、個人的には初めてプログラミングを触る人は静的型付け言語がおすすめかな!
確かにはじめはしっかり書けるようになった方がいいかもね!
コメント