Help us understand the problem. What is going on with this article?

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

結論

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

動的型付け

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

Python
Ruby
JavaScript
PHP
など

静的型付け言語

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

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

動的型付け言語の特徴

メリット

1、記述量が大幅に減る

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

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

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

デメリット

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

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

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

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

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

静的型付け言語の特徴

メリット

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

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

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

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

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

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

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

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

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

デメリット

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

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

2、やや固い印象がある

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

参考

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

wann
元アパレル店長 2019/06〜 Rails, AWS
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away