初めて学ぶプログラミング言語にPythonをおすすめする理由
こんにちは。企業でエンジニアをしているサーモンです。
プログラミングを勉強しようと思ったときに、多くの人が「何のプログラミング言語を学ぶべきか?」という問題に悩むと思います。
巷には「初心者におすすめの言語を紹介」と言っておきながら、10個近く紹介している記事がざらにあるので、混乱してしまうのではないでしょうか。
先に僕の答えを言いますが、初心者におすすめなのはPythonです。
この記事では、なぜそう主張するのかについてお話しします。
プログラミング言語の選び方
実際、初めて学ぶプログラミング言語を選ぶのは難しいです。
まず、選択肢がたくさんあります。
代表的なものだけでも以下の通りです。
- C/C++
- C#
- Java/Kotlin
- Swift/Objective-C
- JavaScript/TypeScript
- Python
- Ruby
- PHP
- Perl
そして、当たり前ですが言語によって特徴が異なります。
「何でも作れるプログラミング言語は?」と言われたらC/C++となりますが、それは「全ての人類に通じる文字は?」と聞かれて象形文字を答えるようなものです。
日本人には日本語を話した方が通じるように、何かを作るときには、それが得意なプログラミング言語を使うべきです。
というわけで、プログラミング言語の決め方の模範回答は「作りたいもので決める」となります。
しかし、この考え方には落とし穴があります。
「作りたいもので決める」の落とし穴
例えば「Androidアプリを作りたい」という初心者を想定してみます。
Androidアプリを開発するためにはKotlinを勉強するのが一般的です。
ただし、Kotlinのみを勉強したからといって、Androidアプリを作れるようになるわけではありません。
Androidアプリの開発環境であるAndroid Studio(Android SDK、ADBなど)をセットアップし、使い方を学ぶ必要があります。
また、Androidアプリ特有の概念として、ビューやアクティビティのライフサイクルを学ぶ必要があり、これを理解していないとアプリを実行することもままならず、プログラミングの勉強どころではありません。
このように、何かを作る上でプログラミング言語の知識は一つの構成要素に過ぎず、多くの場合は他の様々なスキルや知識と組み合わせる必要があるのです。
他の例で言うとこんな感じです。
- WebサイトであればWebデザインやライティングのスキル
- ゲームであればグラフィックデザインやサウンドデザインのスキル
これらを同時に学んでいけたら最も効率が良いのですが、実際にはかなり難しいと思います。
僕も、プログラミング初心者の頃にいきなりアプリを作ろうとして挫折しました…
初めは小さな成功体験を作る
僕は、初心者はプログラミングスキルだけで作れるものに挑戦するのが良いと考えています。
そこでおすすめなのがPythonです。
Pythonは汎用プログラミング言語であり、特に何かを作ることを目的として作られた言語ではありません。
そのため、特定の目的に縛られず色々なものを作ることができます。
ではどんなものを作ればよいかというと、おすすめはデータ処理や自動化のシステムです。
僕たち人間のタスクを楽にしてくれる、プログラミングの真骨頂と言えるジャンルだと思います。
こういったものは、ほぼプログラミングの知識だけで作ることができます。
また、一旦Pythonを勉強しておいて、具体的に作りたいものは後から考えるというスタイルも可能です。
Pythonに将来性はあるのか?
これから勉強することが廃れないか気になると思います。(僕もそうでした)
その点でいうと、Pythonの将来性については全く問題ないと言ってよいでしょう。
Pythonはアメリカの大学であるMITの講義でも教えられており、それだけでも勉強する価値が認められていることが伺えます。
実際の現場では、PythonはWebサービスやアプリのバックエンドサーバに採用されています。YouTubeやInstagramも初めはPythonで作られていました。(流石にあそこまで利用量の多いサービスとなると別言語への移行が必要ですが)
近年では、AIを使ったサービスを実装する際にも利用されています。
なにより、現場ではシステム間の連携などの際に、ちょっとしたデータ処理や自動化を行いたいことが多々あります。
そういった場合の便利な共通言語として、Pythonはよく使われています。
まとめ
この記事では、プログラミング初心者にPythonを学ぶことをおすすめしました。
その理由として、作りたいものでプログラミング言語を選ぶ際の落とし穴やおすすめの考え方について解説しました。
さらに、Pythonの将来性について安心できる要素をいくつか紹介しました。
最後となりますが、Pythonを勉強するのは他の言語と比べて簡単と言われています。
僕も似たように考えており、簡単というか、必須の学習量が少ないと思います。
まずはProgateやドットインストールなどの学習サービスで軽く勉強してみてください。