「どのプログラミング言語を学べばよいでしょうか?」。講座の受講生などから、私はこうした質問を頻繁に受けます。どのプログラミング言語にもそれぞれ特徴や個性があり、どれが良いとは一概には言えません。しかし、「IoT(Internet of Things)や人工知能を学びたい」というのであれば、迷いなく「Python」を薦めます。

Pythonの話に入る前の注意事項

伊本貴士
メディアスケッチ代表取締役 兼 コーデセブン CTO、サイバー大学客員講師

 全くのプログラミング初心者やこれからITエンジニアを目指す若い人には、私は「C言語」を学習することを勧めています。C言語は、最近の「PHP」などの高級言語に比べると生産性が低く、難しく感じるかもしれません。しかしC言語は、例えばmallocなどの関数(c++の場合はnew演算子)で、プログラマーが自らメモリーを確保して解放するといった処理が必要であるといったことを学べます。

 要は、高級言語ではガーベージコレクション(不要になったメモリーを自動で開放する機能)などの機能を使って自動的に処理することを、C言語ではプログラマーが自分で処理することを通じて、コンピューターとプログラムの仕組みが身に付くのです。加えて、「Linux」などのOSをはじめ、多くのソフトウエアはまだまだC言語で記述されており、ITエンジニアとしてC言語を身に付けておくことは必須といえるでしょう。

Pythonを薦める理由

 Pythonを薦める理由は、言語そのものの生産性が高いこともありますが、何といっても豊富なライブラリーを備えていて便利だからです。これが、昨今のPython人気を支えているといっても過言ではありません。

 特に強いのは、データ処理関係のライブラリーです。Numpy、Pandas、Scipyの「計算ライブラリー御三家」を中心に、データを簡単にグラフ化してくれるmatplotlib、ブラウザーでPythonの対話環境を提供してくれるJupyterなど、非常に強力なライブラリーがそろっており、研究機関などでも利用者が増えてきています。そのため、IoTなどで多くのデータを取り扱う場合にも非常に相性が良い言語と言えます。

 人工知能においても、scikit-learnやTensorflow、Chainerなど多くの有名な機械学習ライブラリーがPythonから利用可能です。

 最近では、多くの人工知能(機械学習)に関する書籍やブログでサンプルプログラムがPythonで記述されています。この点でも、Pythonを学ぶと人工知能の学習がしやすいと言えるでしょう。