【 開発言語 】Python(パイソン)のメリット・デメリットを知ろう
こんにちは、x-climbです。
前回は、Python(パイソン)の基本知識について説明しました。
学べる系シリーズの記事も積極的に発信していきたいと思います。
今回は、Pythonをもう少し深ぼりして具体的なメリット・デメリットをわかりやすく説明していきます。
Python(パイソン)のメリット
前回の記事にてPythonのメリットを下記のように説明しましたね。
①コードがシンプル
②ライブラリが豊富
③初心者が学習しやすい
④コンパイル不要(Pythonはインタプリタ式)
では、①〜④を具体的に見ていきましょう。
コード量の少なさ
コードがシンプルということは、記述する量が減るということですので、圧倒的に生産性が高くなります。
通常のプログラミング言語の場合、記述するコード量が非常に多く手間がかかるものです。
1度試してみるとわかると思いますが、PythonはJavaなどの開発言語と比べると記述するコード量が圧倒的に少ないということがわかるはずです。
Pythonは、コードがシンプルが故に初心者が学びやすいというのが大きな特徴の1つなのです。
豊富なライブラリ
Pythonは、AIの分野に強いという特徴があります。
Python自体がインタプリタ式の開発言語なので、コンパイルは不要ではありますが処理速度が遅いという面もあります。
この処理速度の遅さは、豊富なライブラリをうまく組み合わせることで補うことが可能です。
Youtubeを支えているのもPythonですね。
Pythonのライブラリは下記のようなものがあります。
ライブラリが多すぎるので、どれを使ったらいいのかわからないという人もいるはずです。
- 機械学習系
- データ分析系
- 数値計算系
- 画像認識系
- Web系
上記はあくまでも例ですが、標準のライブラリは下記のリンクより確認することができます。
標準ライブラリ(公式)はこちら。
Python(パイソン)のデメリット
こちらも前回の記事にて下記のデメリットを紹介しましたね。
- 処理速度が遅い
- インデントが必要
- 開発に向いていないものがある
- 日本語の参考文献が少ない
処理速度
インタプリタ式の開発言語は、Rubyなどがあります。
Pythonは、インタプリタ式言語の中でも処理速度が遅いことで知られています。
よって、処理速度を重視する開発には不向きの開発言語と言えるでしょう。
Pythonの処理速度が遅い最大の要因は下記の3つ。
①グローバルインタプリタロック(GIL)
②動的型付き言語
③インタプリタ式言語
①〜③を深ぼりしますと話が長くなりますので、今回の記事では「 多くの開発を幅広くできるようにしたが故に処理速度を犠牲にした 」という程度の認識でいいかと思います。
インデント
Pythonではインデント=字下げが必ず必要となります。
他の開発言語と比べると若干ではありますが、面倒と感じる人もいるかと思いますね。
開発の向き・不向き
Pythonは、機械学習・データ分析の分野に向いている開発言語として有名ですよね。
ではなぜPythonがAI分野の開発に向いているのか?
ここをシンプルに説明しているサイトはあまり多くありません。
シンプルに説明すると下記の通り。
①科学技術計算の分野で独自に発展してきた為
②可視化ライブラリの存在
③学習のしやすさ
科学技術計算ライブラリのNumpyが世界的に評価を得たことが大きな要因でもあります。
Pythonが登場する以前は、可視化ライブラリの分野にてMATLAB(マトラボ)が広く認知されていました。
MATLABは、数値を解析するソフトウェアのことを指します。
プログラミング言語自体の習得のしやすさ・汎用性という面で、Pythonが世界的に広く認知されたことにより、MATLABでできることをPythonでもできるようになったというわけですね。
まとめ
いかがでしたでしょうか?
基本的に、当メディアで開発言語を紹介する際は、ザックリ理解できるパート+深ぼりして更に理解できるパートというスタイルで解説していきたいと思います。
開発言語については、今回を含めてRuby、Pythonを紹介済みです。
では次回にご期待ください!