#結論
プログラム言語には、
動的型付け言語
と静的型付け言語
という2種類のタイプがあります。
####動的型付け
言語変数などのデータ型の宣言がいらないプログラミング言語。
Python
Ruby
JavaScript
PHP
など
####静的型付け言語
変数などのデータ型の宣言が必要なプログラミング言語
C/C++
C#
Java
Go
Scala
Swift
など
#動的型付け言語の特徴
###メリット
####1、記述量が大幅に減る
単純にデータ型の記載が不要になるので、圧倒的に書くコード量が減ります。
####2、比較的簡単にプログラムが書ける
あんまり難しいことを考えないでも手を付けられる言語
###デメリット
####1、プログラムを実行しないとバグがわからない
事前に分からないため、リリースしたあとに結構気がついたりすることが起きます。
####2、無駄なメモリが発生する
必要なメモリ数が把握できないので、余分に多くメモリ領域を取っておく等しておかないといけません。
補足:pythonならメモリ数が把握できるらしいです。
#静的型付け言語の特徴
###メリット
####1、コンパイル時にエラーが出てくれる
エラーが起きるので、コンパイル時にデバッグができます。
例:
・整数型変数なのに文字列を代入しようとしてる
・型の違うデータで関数を呼ぼうとしている
つまり、プログラム実行前に、バグやエラー箇所を特定できる。
####2、メモリ領域の最適化が行える
各変数がメモリをどれだけ必要とするかが分かります。
####3、パフォーマンスの向上が狙える
例えば
・整数と整数の計算が行われる
・小数と小数の計算が行われる
ということはデータ型を見て事前に判別がつくので、計算の最適化を行えます。
###デメリット
####1、必ず型名を書かなければならない
1つ1つ型名を添えなければいけないので、動的型付け言語と比べるとどうしても時間がかかります。
####2、やや固い印象がある
キャリアや面白さという意味で幅が狭まるかもしれません。