JavaScript、PHP、Rubyに Python、さまざまなプログラム言語がある中で、最初に学ぶならどこから学び始めたら良いのか。プログラミング学習初学者が必ず悩む問題に、個人的な考えを述べます。
プログラミング言語の種類
現在使われているプログラミング言語には、次のような種類があります。
- C言語、C++
- JavaScript
- PHP
- Ruby
- Python
- Swift
- Kotlin
- Java
などがあり、これらの中から最初に学習するものを選ぶ必要があります。
プログラミング言語は1つに絞らなくて大丈夫
結論から言えば、プログラミング言語は1つに絞る必要はありません。実は、プログラミング言語は「最初の1つ」を学ぶのがものすごく大変ですが、それが大変なのは言語自体が大変と言うよりは「プログラミング」の概念の理解が難しいだけで、言語の理解はそれほど難しくありません。
1つめの言語がある程度覚えられれば2つめ以降は非常に簡単に、「方言」を覚えるような感覚で覚えることができます。実際、筆者を含めてエンジニアの多くは、複数の言語をその場に応じて使い分けています。
「最初にどれを選ぶか」は迷うところはあると思いますが、その言語をずっと使い続けなければならないというわけではないので、それほど悩まずに学びやすい物を学んでから、実際に自分がやってみたい言語を覚えても良いでしょう。
Webプログラミングなどでは、MVCの考え方が必須
例えば、Rubyを学ぼうとした場合は必ず「Ruby on Rails」というフレームワークという物をセットで覚えることになります。また、PHPの場合も近年は「Laravel」などをセットにして覚えることが一般的です。これらは、「MVC(エムブイシー)」と呼ばれる開発モデルを採用しているフレームワークで、この MVCを覚えるのが必要であり、またここが結構つまづくポイントになります。
「Model(モデル)」と「View(ビュー)」と「Controller(コントローラー)」にプログラムを分けて書いていく必要があるため、なにを、どこに記述するかなどが迷いがちです。この MVCについては、じっくり時間をかけて学ぶと良いでしょう。
最初の言語におすすめなのは JavaScript
筆者が個人的におすすめする「最初の言語」は、ズバリ JavaScriptです。次のような点で学びやすい言語です。
- Webブラウザーとエディターさえあれば、学び始められる
- 応用範囲が広くて活用しやすい
JavaScriptは「ECMAScript」という国際規格になっているため、この先すぐに消えるようなプログラミング言語ではありませんし、むしろその利用範囲はどんどんと広がっています。修得しやすく、扱いやすいので最初の言語には最適と言えます。
また、近年注目されている JavaScriptの派生言語である「TypeScript」なども合わせて学習すると良いでしょう。
人工知能(AI)に興味があるなら Python
JavaScriptは学びやすい反面、Web系に偏った言語であるため、人工知能(AI)の学習をしたいなどの場合は Pythonが良いでしょう。特に数式計算などに優れているため、数学の知識がある方などは扱いやすいといえます。また、Djangoなどを組み合わせることで Web系にも応用可能です。
アプリ開発に興味があるなら Kotlin
スマホアプリの開発には現在、iOS向けの Swiftかまたは、Android向けの Kotlinを利用する必要があります。日本の場合は、まだ iOSの方がシェアが高い物の、世界的には Androidの方が需要が高いため、Kotlinが注目をあびています。
サイト制作には PHP
Webビジネスをしたいなどの場合は、PHPが良いでしょう。Rubyの方がトレンドっぽさはありますが、すでに導入されているサイトの数が PHPの方が圧倒的に多いことや、世界一のシェアを誇る CMS(コンテンツ管理システム)である「WordPress」が PHPで開発されているため、このあたりも扱いやすくなります。
少し言語体系が古く、また度重なるバージョンアップで、少しごちゃごちゃしていて学習しにくいですが、じっくり学ぶ価値はあるプログラミング言語でしょう。
プログラミング言語の学習方法
プログラミング言語を学ぶときは、次のような手順で進めていくと良いでしょう。
- まずはチュートリアル系のコンテンツをざっくりと。細かい言語体系などはこの時点では気にしない
- 学んだ内容を応用して、なにかオリジナルのプログラムなどを作る。
- 肌に合ったプログラミング言語を見つけたら、それについてじっくり学習
- 自分で作りたいもの(アプリ、Webサイトなど)があれば、間違えだらけでも良いので形にしていってみる
といった手順が学びやすいでしょう。2の「オリジナルプログラムを作る」について、作ってみたい物が見つからない場合は「万年カレンダー」などが非常に良い練習になります。
Udemyで展開中の筆者の講座の、1,200円割引クーポンを張っておきますので、ご興味ありましたらご参照ください。