ゴムの木

初心者から一歩踏み出す

静的型付け言語が好きなPythonプログラマ

こんにちは。ゲネです。先週は時間がなく、記事が書けませんでした。

その分今週は記事を二本アップします。

さて、私の主力言語はPythonで、現在もPythonを使った案件にアサインされており、まさしくPythonでご飯を食べている状態なのですが…

静的型付け言語の方が好きなんです。

この記事では静的型付け言語のメリットを語ってみたいと思います。

静的型付け、動的型付けとは何か

ものすごく簡単に言えば、

『変数を最初に書いたとき、何型かを定義する必要があるかどうか』

です。

このとき、そのプログラムの実行よりも前に変数の型があらかじめ決まっている仕様の言語を『静的型付け言語』、プログラム実行時に代入する値によって勝手に型が決まる仕様の言語を『動的型付け言語』と呼びます。

静的、動的、というのは、静的=あらかじめ決まっている、動的=状況に応じて臨機応変に変えてくれる、というコンピュータサイエンスならではの用語ですね。

なぜ静的型付けが好きか

さて、静的型付け言語と動的型付け言語はそれぞれにメリットとデメリットがあります。

静的型付けのメリット

  • 実行が速い

    プログラムを書いた時点で型が決まっているため、コンパイラを通して機械語コンパイルしておくことで実行速度が大きいという特長があります。

  • 読みやすい

    型が明示的に書かれているので、他人の書いたコードでも読みやすいです。

静的型付けのデメリット

  • 厳密に書かなければならない

    型ってなに?な初心者には学習コストが高くなりがち。

動的型付けのメリット

  • 書きやすい

    直感的に書けるため、個人開発など比較的小規模で手早く作りたいものに向いています。

動的型付けのデメリット

  • 実行が遅い

    実行時にソースコードを逐次解釈して実行していくため、メモリを食い、比較的速度が出にくいという特徴があります。

  • 読みにくい!

    特に他人の書いたコード。この変数は何型なのか?よくわからずに書き足すとエラーが起きやすいように感じます。

私は型がビシッと明示的に書かれている状態が自分で書いていてもわかりやすくて好きなので、どうしても静的型付け言語に軍配が上がってしまいます。

扱いが難しいかわりにうまくやれば速度が出せる、というところもオタク心をくすぐります。

Pythonもそうですし、RubyJavaScriptといった最近流行りの言語の多くが動的型付け言語なのですが、皆さんの好みはいかがでしょうか。

個人的には、静的型付け言語を学ぶことで、コンピュータ内部でどのような処理が走っているかをより深く知ることができると考えています。

動的型付け言語から入った人は静的型付け言語を学ぶときに難しさを感じてしまうかもしれませんが、一度は学んでみる価値があるでしょう。

次回はこのブログでたびたび触れてきた静的型付け言語・Rustに入門する記事の予定です。