PythonとGoを「型」で比較 「動的型付け」「静的型付け」の違いは?「Python」と「Go」の違いを比較【第3回】

プログラミング言語「Python」と「Go」は、変数の型の付け方に違いがある。Pythonが採用するのは「動的型付け」、Goは「静的型付け」だ。両者は何が違うのか。

2023年05月26日 10時15分 公開
[Matthew GrasbergerTechTarget]

 「Python」と「Go」はどちらも開発者に人気のプログラミング言語だ。両者の異なる点5つのうち、2つ目を紹介する。取り上げるのは、開発者の間で好みが分かれることがある、変数の型(数値や文字列といったデータの種類)に関する違いだ。

比較ポイント2.「型」の付け方

 変数に型を付与する「型付け」の仕組みは、PythonとGoで異なる。Pythonはプログラムが変数の型を自動で決定する「動的型付け」、Goはソースコードに変数の型を明示する「静的型付け」を採用する。

 Pythonはソースコードを逐次解釈してプログラムを実行する「インタープリタ言語」であり、事前のコンパイル(ソースコードを実行可能ファイルに変換すること)が不要だ。これはプログラムの実行前に、ソースコードにおける変数の型付けが適切かどうかを、コンパイラ(コンパイルを担うプログラム)が確認しないことを意味する。そのためPythonでは問題なく動くプログラムでも、Goに移植すると型関連のエラーによって動作しない場合がある。

 動的型付けのこうした曖昧さを嫌い、Goが採用する静的型付けを好む開発者は少なからずいる。静的型付けではコンパイルに成功すれば、少なくともソースコードを解釈する限りでは、型付けが適切であることを確認できるからだ。


 第4回は、PythonとGoにおけるパッケージ(関数群)依存関係の管理方法を比較する。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news060.jpg

Z世代が考える「日本が最も力を入れて取り組むべき課題」1位は「ジェンダー平等」――SHIBUYA109 lab.調査
SDGsで挙げられている17の目標のうち、Z世代が考える「日本が最も力を入れて取り組むべき...

news061.png

高齢男性はレジ待ちが苦手、女性は待たないためにアプリを活用――アイリッジ調査
実店舗を持つ企業が「アプリでどのようなユーザー体験を提供すべきか」を考えるヒントが...

news193.jpg

IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...