LoginSignup
85
68

More than 3 years have passed since last update.

動的言語と静的言語の違い

Last updated at Posted at 2020-07-13

結論

プログラム言語には、
動的型付け言語静的型付け言語という2種類のタイプがあります。

動的型付け

言語変数などのデータ型の宣言がいらないプログラミング言語。

Python
Ruby
JavaScript
PHP
など

静的型付け言語

変数などのデータ型の宣言が必要なプログラミング言語

C/C++
C#
Java
Go
Scala
Swift
など

動的型付け言語の特徴

メリット

1、記述量が大幅に減る

単純にデータ型の記載が不要になるので、圧倒的に書くコード量が減ります。

2、比較的簡単にプログラムが書ける

あんまり難しいことを考えないでも手を付けられる言語

デメリット

1、プログラムを実行しないとバグがわからない

事前に分からないため、リリースしたあとに結構気がついたりすることが起きます。

2、無駄なメモリが発生する

必要なメモリ数が把握できないので、余分に多くメモリ領域を取っておく等しておかないといけません。

補足:pythonならメモリ数が把握できるらしいです。

静的型付け言語の特徴

メリット

1、コンパイル時にエラーが出てくれる

エラーが起きるので、コンパイル時にデバッグができます。

例:
・整数型変数なのに文字列を代入しようとしてる
・型の違うデータで関数を呼ぼうとしている

つまり、プログラム実行前に、バグやエラー箇所を特定できる。

2、メモリ領域の最適化が行える

各変数がメモリをどれだけ必要とするかが分かります。

3、パフォーマンスの向上が狙える

例えば
・整数と整数の計算が行われる
・小数と小数の計算が行われる

ということはデータ型を見て事前に判別がつくので、計算の最適化を行えます。

デメリット

1、必ず型名を書かなければならない

1つ1つ型名を添えなければいけないので、動的型付け言語と比べるとどうしても時間がかかります。

2、やや固い印象がある

キャリアや面白さという意味で幅が狭まるかもしれません。

参考

動的型付け言語と静的型付け言語の違いとは?
動的型付けと静的型付け
オススメの言語はなにか?

85
68
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
85
68