最初に学習するプログラミング言語の決め方(プログラミングを始める前に必ず読んで!)
エンジニアに転職したい!だったり、アプリ開発をしてみたい!、大学生だけど死ぬほど時間がある!などなど画面の前の皆さんからの叫びが聞こえます。でも全員が通ります、「どの言語をやればいいの…」という問題。始めに言っておきます、「そんなに悩まなくても大丈夫です。とりあえず何か一つの言語をしっかり触ってみて下さい。」
とは言っても、まだまだ悩んでしまう方たちも多いと思います。そんな方に向けて書いたのが今回の記事です。
この記事のゴール
- 多くのケースで役にたつ「最初の1言語」の候補を提示します
- 決まったらもう迷わず進んでください(進み方も本文で紹介します)
誰のための記事?
- プログラミング初心者でいろんな言語があるんだなーって考えたあと、「結局どれがいいんだ?」と沼にはまったかた。(ちなみにこれはほとんどの方が陥ると思います。)
- パターンに分けて解説していきます!
実はそんなに悩まなくていい…
- プログラミングは一つの言語をある程度書けるようになっておけば、大体他の言語に移るときもスムーズにいきます(ただ高級言語から低級言語への移行は少し時間がかかるかもしれません。)
- つまり、さっさと最初の言語を決めて勉強をしまくった方がいいです
- それでも決められないという場合は、以降のパターン解説を読んでください
各パターンについて解説!
パターン1:エンジニアに転職したい!
→ おすすめはJavaScriptです。
- 現代のWebアプリケーションを作るために必要不可欠の言語
- 教材や参考資料(動画)もかなり豊富で学習の効率がいい
- 後々スマホアプリを作りたくなっても適応可能
パターン2:大学生で、AIの研究をしたい(ちょっと勉強してみたい)
→ Python一択
- 理系の学部(特に情報学部)でAI系の研究室に所属しようと思ったら、ほとんどの確率でPython(研究室によってはC++)が必要になります
- Webアプリを作ろうと思ってもPython専用のフレームワーク(いくつかの機能がまとまって提供される「ツールセット」のようなもの)があるので安心!
パターン3:スマホのアプリを作ってみたい!
→ JavaScript
- 本来ならばiOSアプリならSwift、androidアプリならKotlinという専用の言語が存在していますが、JavaScriptなら最初から両OS向けに作成することが可能です。
- React Nativeを使ってJavaScriptのみで両方のOSに対応したアプリを一発で開発ができる。
- 個人開発やエンジニアとして開発をするとなってもすぐに適応可能!
パターン4:ウェブサイトを作ってみたい!
HTML+CSS
- この2つでウェブサイトは作成可能!
- 厳密にいうとHTML / CSSはプログラミング言語ではなく「マークアップ言語(見た目を記述するための言語)」ですが、Webを始める上ではここから入るのが自然です。
パターン5:腰を据えてじっくりプログラミングと向き合いたい(競技プログラミングもやってみたい)
C++もしくはC
- 超硬派!
- やはりプログラミングの根幹を深く理解する上では、C++(C)の知識が非常に役に立ちます。
- 他の言語ではコードを書く時にあまり考慮しないさまざまな深い知識を学べます!
- 学習中に高確率でポインタがわからなくなるのですが、全員通る道ですのでご安心下さい。
パターンが複数当てはまる人へ
正直なところ「どのパターンにも少しずつ当てはまる」という人が一番多いと思います。将来のキャリア、性格、現在の生活状況によっても合う言語は変わってきます。
ここでは、あくまで「ざっくり決めるための指針」として、次のように考えてみてください。
-
1〜2年以内に現実的にやりたいことを優先する
- 例)
- 「まずは大学でPythonを使った研究をしてみたい」→Python
- 「できれば早めにWebエンジニアに転職したい」→JavaScript
- 例)
-
迷ったら「つぶしが効く」言語を選ぶ
- 汎用性という意味では
-
Python(データ分析・AI・バックエンド)
-
JavaScript(Webフロント・バックエンド・モバイルアプリ)
のどちらかにしておけば、後から進路変更しても応用が効きます。
-
- 汎用性という意味では
-
選んだ言語で最低1〜2ヶ月は浮気しない
- 一番もったいないのは「1週間ごとに言語を変えて、どれも中途半端になる」パターンです。
- とりあえず1〜2ヶ月は、選んだ1言語だけを使って小さな成果物(簡単なアプリやツール)を作ってみてください
それでも「自分のケースだとどれを選べばいいかわからない…」という場合は、遠慮なくコメントで相談してもらえれば大丈夫です。
勉強をする言語が決まったら…
最後に勉強を始める言語が決まったら、早速勉強を始めていきましょう!こちらでも各言語に対して勉強の始め方を紹介していきます。
JavaScript・HTML(CSS) → Progate
プログラミングの勉強といったらProgateです。Progateはさまざまなプログラミング講座・資料の中で一番初心者に向いています。インプットした後に自分でコードを書くアウトプットまでの流れ(動線)がとても綺麗に設計されています。
Progateを使えば基礎を完璧に学べます!Progateを修了したらProgate Pathで実践形式での勉強もおすすめです。
Python → 東大が出しているPythonプログラミング入門
Pythonには東大から資料が用意されています。Google Colabというブラウザだけでコードを実行できるクラウド環境を使います。自分のパソコンにPythonやライブラリをインストールしなくても、すぐに実行を試せるのが便利なポイントです。
URL:https://utokyo-ipp.github.io/
C++ → 1週間で学べるシリーズ
C++(C)に関しては、まず「1週間で学べるシリーズ」などでじっくり基礎を勉強するといいと思います(パソコンの処理の仕組みと密接に関わっているため)。なるほど、基礎がだんだんわかってきたなというタイミングでAtCoderを始めましょう。アルゴリズムまで一気通貫で学べます。
1週間で学べるシリーズ(C):https://c-lang.sevendays-study.com/index.html
1週間で学べるシリーズ(C++):https://cpp-lang.sevendays-study.com/index.html
おわりに
いかがだったでしょうか。言語が決まったらとにかく実践して理解を少しずつ深めていくことが王道です。途中でわからないことがあったら検索したり、AIを頼ったりしながら進めていきましょう。
Discussion