もじとばコム

AI入門:文系のプログラミングはPythonから始めるのがオススメ!

AIビジネスが流行する中、プログラミングができないことを負い目に感じている文系出身の社会人、文系の学生は少なくないのではないでしょうか
人工知能やAI、ディープラーニングという言葉は知っていても、その具体的な中身についてはよく分かっていない、そんな悩みを持つ人も多いはずです。

人工知能やAIを仕事に活かしていくために、自分自身がプログラミングの知識を持ち、ある程度活用できるというスキルは必要不可欠です。
この記事では、文系学部出身で現在は人工知能研究に携わる筆者が、文系のあなたがPythonでプログラミングを始めるべき理由を経験をもとにご紹介します。

この記事の対象となる人

上記のような方を対象とした記事です。

この記事では、文系学部でプログラミング(Java)を独学した経験から「こんな環境だったらプログラミングを効率よく勉強できただろうな」というポイントに重点を置き、文系がPythonを勉強するメリットをお伝えします。

 

文系にPythonをお勧めする3つの理由

(1) 「触ってみる」までが非常に簡単

初めてのプログラミング言語として、文理を問わずPythonをオススメする最大の理由は、その「とっつきやすさ」です。
CやJavaなどの言語は、PCへのインストールやコンパイルなど、初めてプログラムを書いて実行するまでの道のりが非常に長く、挫折の原因となります

筆者は初めてプログラミング言語としてJavaを選択したのですが、Javaを書くためのソフトをインストールし、プロジェクトを作成、次に実行するためのファイルを作成、プログラムを書き、コンパイル、そしてやっと実行という行程の長さに思わずプログラミングに挫折しそうになりました。
幸い、素敵な参考書のおかげでJavaを習得することができましたが、効率的であるとは感じませんでした。
(当時使用した参考書は「スッキリわかるJava入門」でした。)

一方でPythonは、web上で実行することができるColaboratoryというサービスを使うことで、未経験であっても30秒足らずで初めてのプログラミングが体験できます。
ColaboratoryはGoogleが提供しているサービスなので、Googleアカウントがあれば誰でもすぐにプログラミングを始められるのはとてもありがたいですね。

Colaboratoryは機能がとても充実しているため、Pythonの基本的な処理を学ぶだけであればColaboratoryだけで十分です。
ある程度pythonの処理を理解し、自作のソフトを作りたいと思った時に初めて自分のPCにPythonを導入するといったプランが、効率の良いプログラミング学習だと言えます。

なお本サイトでは、Colaboratoryを用いたPython入門の記事を公開してますので、是非そちらも合わせてご覧ください!

参考:Colaboratoryで始めるPython入門(1)

(2) 文法が簡単でプログラミングの処理をイメージしやすい

Pythonはプログラミングの文法が直感的で、分かりやすいと言われています。
文系にとって、プログラミングの最初の障壁となるのが変数という概念です。
Pythonは変数の宣言が簡単であるため、文法に意識を向けずに変数という概念の理解そのものに意識のリソースを割くことができます

Javaなどの言語では、変数という概念に加えて「型」という概念を同時に考えなければ、変数の宣言を行うことができません。
ある程度慣れてしまえばなんて事のない概念ですが、初めてプログラミングを学ぶ時にはとても難しく感じるはずです。
他にもクラスやリストといった概念も他の言語に比べて文法が簡単である分、技術そのものの理解に労力を充てることができ、結果としてプログラミングとは何か、という真髄部分に効率よく触れることができると考えられます。

(3) AI技術に便利なツールが揃っている

最後に、Python最大のメリットである豊富なツールについてご紹介します。
ディープラーニングなどの近年話題のAI技術をプログラミングに取り込む時、パッケージやライブラリと呼ばれるツールを使用することが一般的です。
例えば車を作る時、鉄を溶かすところから始めるよりも、ある程度作られたフレームや車輪を買ってきて組み立てる方が簡単ですよね。
ディープラーニングなどをプログラミングに取り込むときも同じで、ある程度完成したプログラムをツールとして組み込むことで、簡単に自分の作りたいAIなどを作成することができます。

Pythonはこのツールの種類が非常に豊富で、昨今の有名なAI技術であればほぼ必ず誰かが作成したツールが存在していると言っても過言ではありません。
もちろん、ツールの種類は多ければ多いほど、それを用いて作成するプログラムの幅も広がります。

筆者はJavaの勉強を一通り終えた後、ディープラーニングを用いたプログラムを作成するためにJava用のツールを探しました。
しかし当時Javaで使用できるディープラーニング用のまともなツールはDeepLearning4jというものしか存在しておらず、しかも非常に使いにくいものでした。
一方でPythonであれば、ディープラーニングだけでもTensorflow、Pytorch、Keras、Chainerと複数の種類が存在しています(開発が終了しているものもあります)。
そのため、これらの中から自分が使いやすいものを選択することができます。
こうした選択の余地があることは、新しくプログラミングを始めるうえでも参考にすべき重要なポイントです。

 

まとめ

初めてのプログラミング言語をどれにするか、というのは初学者にとって重要な選択です。
もし長期的にプログラミングを続ける意思があるのであれば、どの言語を選択しても差は少ないというのが率直な意見です。
しかし、AI技術の流行に追いつくために少しでも効率的にプログラミングを学びたいという人については、まずPythonに触ってみることを強くオススメします。

本サイトでは、Pythonによるプログラミング入門を応援する記事をいくつか公開しています。
そちらも是非ご覧ください!

参考:Colaboratoryで始めるPython入門(1)
参考:あなたに最適なpython入門書を見つけよう!