プログラミング言語を学ぼうとするときPyhonがおすすめという話はよく耳にすることが多く、気になる方もかなりいらっしゃるかと思います。
「Pyhonって流行りの言語って聞くけど実際どうなの?」とか「Pyhonなんて一時的にもてはやされているだけでそうでもないんじゃないの?」といった疑問も持つことでしょう。
そこで今回は、Pyhonを習得する、実際に業務で使用する上で他の言語と比べてどのようなメリットがあり、反対にデメリットが存在するのかを解説いたします。
私はPyhonを実際に業務で使用したりもするので、現役エンジニアから見てどうなのかという点でもお話できればなと思います。
Pyhonの特徴とできることについて
Pythonの特徴やできることについては以下の記事で解説しておりますので、こちらからご参照ください。

読むのが面倒であるという方向けにまとめますと以下のような内容になっております。
Pythonの特徴
学習コストが低い
コードがシンプル
将来性がある
Pythonでできること
AIの開発
データ分析
Webアプリの開発
自動処理の開発
Pythonを学びたいと思ったらプログラミングスクールを検討するのもアリです。
時間を効率よく使いたい場合は一種の手段として検討してみましょう。

Pythonのメリットとデメリット
それではPythonのメリットとデメリットについて解説いたします。

Pythonのメリットその1 コードが見やすい
Pythonの大きなメリットとしてコードが見やすいという点があります。
Pythonではインデントを文法として強制しているので、見た目がどのコードも同じようなものになります。
例えば、if文やforループなどの処理を書くと字下げが強制されるため、誰が書いてもわかりやすいソースコードになります。
そのため、ここであればこういうコードが書いてあるというのも予測がつき、すぐに読むことができるのでソースコードの解析が非常に楽です。
また、コード量自体も少なくなる傾向があるので、コードは見る場所が少ないし、構造は大体同じなので把握しやすく、インデントがあるから見やすいという見やすさに関していえば至れり尽くせりです。
私もkaggleとかで他の人が書いたデータ分析のコードを読んだりしますが何が書いてあるか大体すぐにつかめるのは非常にありがたいです。
Pythonのメリットその2 ライブラリが豊富
日本ではまだまだですが、海外では一番といっていいほど人気があるので、ライブラリの開発などが盛んにおこなわれております。
そのため、ライブラリが豊富にそろっています。
ライブラリとは役立つプログラムをまとめパッケージ化したもので、ライブラリを活用することで実際に記述するコードを少なくシンプルにすることができます。
また、コードをゼロから記述する必要がないため、非常にスムーズな開発が可能となります。
そのため、ちょっとしたことからAIレベルの大きな実装までライブラリで簡単に作れてしまいます。
このライブラリが豊富であることもコードの見やすさに一役かっておりメリットその1と相乗効果をもたらしております。
Pythonのメリットその3 環境構築が簡単
PythonにはAnacondaを筆頭とした環境構築を補助してくれるアプリケーションやGoogleColaboratoryといったそもそも環境が用意されているアプリケーションもあります。
Pythonを普通に環境構築しようとすると他の言語と大差はありませんが、これらのアプリケーションのおかげで楽に利用することができます。
プログラミングを始めたいと思う時、やはりそれ専用の環境を作るのに抵抗を強く感じる方は多いので、そこが取っ払われているのは大きいです。
Pythonのメリットその4 プログラミングでものづくりがすぐできる
これはライブラリが豊富なことにも起因しておりますが、作りたいと思ったものがすぐできるのがPythonの強いところです。
Pythonで出来ることは大抵のものはライブラリ化されているので、ライブラリを取得し、コードを少し書くだけで初心者でもたいそうなものが作れてしまうのは大きなメリットといえるでしょう。
プログラミングにかかるコストも削減できるので、開発現場で見てもライブラリの利用に制限がなければ非常にありがたみを感じます。
Pythonのメリットその5 専門性が高い
AIを筆頭に専門性が高い分野があるのもPyhonのメリットの一つです。
専門性が高ければその分野の開発の選択肢として真っ先に上がる言語になりますし、開発者が増えれば、研究やライブラリ等の開発も進みより使いやすくなります。
専門性が高いから選ばれ開発者が集まる。
開発者が集まるからより研究され、さらに専門性が高くなる。
といった好循環が生まれます。
AIに関していえば突出しているのでこの先さらなる需要が見込まれるAIがある限りPyhonは絶対的な地位を持つことでしょう。
さらにWebアプリや自動化処理にも使えることからそれらとの連携でさらなる好循環が生まれているのもまたメリットの一つです。
Pythonのメリットその6 将来性がある
将来性は言わずもだと思いますが、AIはこれからどんどん伸びていく分野なので、将来性は抜群です。
この先10年ぐらいは将来性があるといわれ続けるんじゃないかと個人的には思っています。
またAIが伸びることで他の分野でも利用価値が高まる可能性が大いにあるので(実際Webアプリなんかはそうです)そういった相乗効果の意味でも将来性は大きいといえるでしょう。

Pythonのデメリットその1 構文に縛られる
Pythonのデメリットとして一番目立つのはやはり構文に縛られてしまうことです。
Pythonはインデントを強要しますが、これがプログラミング経験者にとってはかなりうっとうしく感じてしまう要素になります。
コードを見やすく感じる基準は人それぞれであり、プログラミングをしている人であれば何かしらのコードを書く際の自分ルールを有しているモノです。
インデントが強要されるおかげで自分が書きたいように書けないとなるとかなりコードが書きづらく感じるでしょう。
Pythonのデメリットその2 なんとなく動いてしまう
Pythonはライブラリが充実しているおかげで、いろんなものが簡単に書くことができます。
そのため、こういうプログラムであればこう作る!みたいなのが身につかないまま進んでいってしまう危険性が大きいです。また、厳密には違うけどライブラリが良しなにしてくれるおかげで、間違った使い方のまま覚えてしまうこともあります。これは後に重大なバグを引き起こす危険性があります。
便利なライブラリを使うのは良いですが、頼りっきりにならず、そのライブラリが何をしているのかを把握するのは非常に重要なことです。
Pythonのデメリットその3 実行速度が遅い
Pythonはインタプリタ型の言語なので実行速度が遅く、これがかなり大きなデメリットとして語られることが多いです。
小さめのプログラムであれば気になることはほとんどないでしょうが、AI等の大量のデータを処理するときにかなり致命的に感じることがあります。
Pandasなんかで何も考えずにデータを処理したら恐ろしいほど時間がかかったなんてこともよくあるので、常に実行速度をケアしてプログラムを考慮しないといけないのは大きなストレスになります。
Pythonのデメリットその4 日本語の情報が少ない
Pythonの日本語情報が少ないのも日本人としては大きなデメリットでしょう。
Pythonが流行っているとはいえ、大きく流行っているのが海外での話なので日本では思ったより浸透していないのが現状です。そのため、日本語での情報が他の言語に比べると少なく、ピンポイントでほしい情報がすべて英語で理解するのに時間がかかるということも多いです。
日本でもっと流行ればこういった問題は解消されるでしょうが、それはまだ先の話です。
Pythonのデメリットその5 バージョンに関する問題が多い
PythonにはPython2系とPython3系とであるのですが、これらのバージョンに関する問題がPythonには非常に多いです。
例えばAIのライブラリである “scikit-learn” にはPython3で動くモジュールがあったり、逆にPython2系じゃないと動かないモジュールがあったりとかなり面倒です。
基本新しいのに適応されていきますが、Pythonのバージョンはかなりの頻度で上がっていくのでバージョンごとに動くもの、動かないものがあります。
このようなライブラリはAnacondaでもカバーしきれない、そもそもAnacondaに入ってないものがあったりするのでディストリビューションがあっても面倒なのがかなりのデメリットになります。
いかがでしょうか。
Pythonが流行ってはいるといっても完全無欠の言語ではないためメリットとデメリットを理解した上で、
開発に都合が良いように利用していきましょう。
今回はここまでです。
お疲れ様でした。
コメント