静的型付け・動的型付けの理解

IT

こんにちは。最近、色々な言語を勉強してきて、この2種類に言語は分かれることが知りました。

早速。

静的型付けとは

コンパイル時に変数の型が定まる言語。型にまつわる問題はプログラムを実行しなくても発見できる。

事例:Java C言語 Go COBOLなどなど

public int add(int a, int b){
           int c;
           c = a+ b;
           return c;
}

こんな感じ。関数の帰ってくる値にも型名が使われて、引数にも型名が使われている。

何が代入されてどんな値が帰ってくるのかを想像するのが簡単になりますね〜

実行処理がめちゃくちゃ早いかつ、型どうしがしっかり代入されているのかが目視しやすいですね。

✖︎ int型 + string型 → あかんと気づきやすい

動的型付けとは

実行時に変数の型が定まる言語。型にまつわる問題はプログラムを実行してみないと発覚しない。

事例:PHP JavaScript Pythonなどなど

add(a, b){
       let c = a+ b;
       return c;
}

記述量がめちゃくちゃ少ないですね〜

サクッと作りたい時は動的型付けがめっちゃ良さそう。

実行処理は結構遅めです^^

なぜこのテーマ?

ちょうど、コーディング対策をしてC++ を書いていました。

int Stringなど型をがっちり定義して組んでいたので、デバックがめちゃくちゃ早くて最高でした。

それ以前に、自分はPHP周りを触っているので、使わないものもとりあえず直感で書いていたのが大きかったです笑。

実務的なことを考えてみる

実際にこれが、どう実務で生きるのか?

プロジェクトによって小さく・作っていこうぜや早くやろう的な感じなら動的型付け言語の方がいいですよね。

長期的に運用していくことをベースに考えていったら、静的型付け言語がベストかも。

型という考え方(笑)を軸に言語が選別される時代なのだと実感しました。

TypeScriptに触れるいいきっかけなのかもしれないなと思っている今日このごろでした。

引用

静的型付け | TypeScript入門『サバイバルTypeScript』
プログラミング言語は大きく2つに分類されます。静的型付け言語と動的型付け言語です。静的型付け言語の中には、C言語やJav...
静的型付け言語と動的型付け言語の違いとメリット|Tasting.com 【アプリリリース予定】
外資系企業でソフトウェアエンジニアをしております、タロイモと言います。今日もよろしくお願いします。 型付け言語には大きく...

コメント

タイトルとURLをコピーしました