2010年代後半から徐々に頭角を現し、今や人気のプログラミング言語となったPython。
今回はPythonは何故人気なのか、どういった強みがあるプログラミング言語なのかPythonの特徴についてなるべく簡単にわかりやすく解説いたします。
Pythonとは、どんな言語?
Pythonとは日本語で「ニシキヘビ」です。
ロゴもそうですが、入門書や解説書では蛇が用いられているのはこのためです。

Pythonは誰が書いてもわかりやすいコードになるという特徴があるため、かなりプログラミング初心者には優しい言語となっており、海外の情報の授業ではPythonを用いて学習するということが多くあります。
また、Pythonには数学に強い拡張機能が多くあり、毎日のように話題に上がるAIで最も利用されている言語となっております。
初心者向け言語でありかつ、市場価値的なものが最も高いといっても過言ではない状況にあるので、学びやすく、極め甲斐のある言語として今人気を博しています。
Pythonのプログラミング言語的な特徴
Pythonとはどんなプログラミング言語かというと、インタプリタ型のオブジェクト指向なプログラミング言語といえます。
プログラミング言語は大きく分けてコンパイラ型言語とインタプリタ型言語の2種類存在します。
コンパイラ型言語というのは人が記述したソースコードをコンパイラといわれる翻訳機がコンピュータで解釈可能な形に一括して翻訳を実施しコンピュータで実行するタイプの言語です。
インタプリタ型言語は、プログラムの実行時に1行ずつ翻訳をかけながら実行していく言語です。
そのため、これらの言語の違いとしてはプログラムが解釈できるように一括して翻訳して実行するか、一行ずつ翻訳して逐次実行するかの違いとなります。

インタプリタ型言語は逐次実行するので、実行結果をすぐ確認できます。
また、これに伴いエラーもすぐに確認できます。
ただし、処理速度はその都度実行するので、コンパイラ型言語に比べると処理が遅くなってしまいます。
コンパイラ型 | インタプリタ型 | 中間言語 | |
実行プロセス | コンパイラが予めソースコードをマシンコードに翻訳し、コンピュータがマシンコードを実行。 | 実行時にインタプリタがソースコードを翻訳し、逐次実行。 | コンパイラが予めソースコードをバイトコードに変換しておき、実行時にインタプリタがバイトコードを翻訳し、逐次実行。 |
代表的な言語 | C,C++ | Python,Ruby |
Java |
また、オブジェクト指向についてですが、、簡単に言ってしまえばプログラムをモノとして扱うことで、より簡単にプログラミングをできるようにしようという考え方の事です。
CやJavaなども同様にオブジェクト指向の言語です。
プログラミングするうえで非常に重要な考え方なので、今後の記事でPythonを例に説明していきたいと思います。
Pythonの特徴について
1つ目のPythonの特徴
Pythonの1つ目の特徴として、まずはコードの書き方に特徴があります。
Pythonではコードを書く際にコードのブロックをわかりやすくするためにインデントで形を整えることが必須の場合があります。インデントしなくてはならないところで、インデントしないとエラーが発生します。

このルールがあるため、誰が書いても大体、同じような見た目のコードになります。これの利点は他の人が書いたコードを読み解く時間が圧倒的に減る点ですね。また読みやすさが強制されるので同じようなコードでかつ読みやすい。これが初心者向けの言語だといわれる所以ですね。
2つ目のPythonの特徴
2つ目の特徴は非常に多くのライブラリが存在することです。
面倒なコードもライブラリを使えば、1行程度で処理できちゃう!といった場面が多いです。これも初心者には非常にありがたいですよね。
3つ目のPythonの特徴
Pythonのライブラリは特に数学に明るいライブラリがおおいです。
そのため、3つ目の特徴としてAIでよく使用される言語となっております。AIは言ってしまえば数学の塊みたいなものですので、必然的にPythonを選択する場面が多くなります。
Python以外にもRuby等AIに用いられる言語はいくつかありますが、圧倒的にPythonが多いようです。
Pythonの人気度
Pythonの人気度は世間ではますます高くなっており、案件のシェアもPython がJavaやCと並び、ランキング的に見ても大体2位や3位ぐらいの人気度の位置づけとなっております。

もちろんその理由はAIです。
いまAIは第3の波といわれるほどのブームが来ており、とにかくいろんなものにAIが導入され始めています。AIの導入が行われるとなれば当然AIに強いPythonが選ばれますし、AIの周りのシステムもPythonで動いているほうがメンテナンスしやすいので、Python全体の需要も上がっているというわけです。
日本はまだまだPythonの技術者は少ないですし、AIの導入は遅いと勝手に思っているので今後もPythonの需要は指数倍に伸びていくのではないのでしょうか。
Pythonでできること
最後にPythonで出来ることについてお話ししたいと思います。
AI(人工知能)

上記でも記載している通り、Pythonの得意分野はAIです。AIの種類としては以下のようなものがあげられます。
・物体検知
・機械翻訳
・音声認識
・売上予測
・将棋や囲碁のAI
これらはほとんどというか恐らく全てPythonで実現することが可能です。言語によって多少の得意不得意はあるとは思いますが、こういったものが作りたいという方はPythonをやっておけば間違いないです。職業名でいえば、機械学習エンジニアという名前がそれです。
データ分析

データサイエンティストとも呼ばれますが、様々なデータからデータの傾向をつかんだり、特徴を抽出したりしてデータから有益な情報を見つけ出して、そのデータからより良いビジネスを提案していくようなイメージです。
kaggleといったデータサイエンティストの大会を除いてもらえればわかりますが、より良いAIを作るためにはしっかりとデータ分析できるかがカギとなっております。データを分析して情報を見つけ出すだけでなく、AIの設計にも一役買っています。
そのため機械学習エンジニアと似ている職業でもありますね。MMOでイメージをだすと、一次職業がPythonエンジニアならそこから転職できる2次職業がデータサイエンティストと機械学習エンジニアって感じです。

WEBアプリ

AI関連以外に代表的なものとして、WEBアプリケーションの開発ができることがあげられます。PythonにはWEBアプリの開発に強いDjangoを代表とするフレームワークもいくつか存在し、メンテナンス等も柔軟に行えることからWEBアプリで用いられることも多いです。代表的なWEBアプリとしてはYouTubeやInstagramがあげられます。
上記以外にも様々な分野で活用されているようですが、主な用途しては上記の3つが該当すると思います。
以上で、Pythonのプログラミング言語としての特徴や魅力が伝わったでしょうか。特徴やできることを把握していると学習も捗ると思いますので、以上の事を踏まえて次のステップではPythonを実際に使ってみるところをやっていきたいと思います。
今回は以上です。お疲れ様でした。
コメント