「プログラミングの勉強を始めたいんだけど、どの言語からやればいいのか分からない・・」
このような悩みを抱えている人は結構多いもので、なかなかプログラミングをスタートさせられない負のループに陥りがちです。
実際に僕もプログラミングを本気でやろうと決めた時は何からやれば良いのか全くわからず、最初の一歩に苦労したことを覚えています。
今日は同じように最初の一歩としてどの言語を学べば良いか迷っている方に向けて、
- プログラミングは最初に〇〇をすべき!
- 効率の良い学習手順
これら2点について詳しくお話していこうと思います!
プログラマーへのステップアップとしてぜひ参考にしてもらえたらと思います。
目次
【前提】プログラミングで何をしたい?明確なら最適な言語を選択しよう
そもそもの話になるのですが、勉強すべき言語はあなたがプログラミングで何をしたいのかによって変わってきます。
例えばiPhoneアプリを作りたいのであればSwiftを学ぶべきだし、画像による判別ツールを作りたいのであればPythonを学ぶべき、といった感じ。
前提としてやりたいことが決まっているのであればその目標に対してどんな言語が最適なのかを調べ、柔軟に言語を選択していきましょう。
言語による相性はザックリと以下の通り。
やりたいこと | 相性の良い言語 |
Webページを作る | HTML / CSS / JavaScript / PHP |
iPhoneアプリを作る | Swift |
機械学習システムや学術計算システムを作る | Python |
Webシステム開発をする | Ruby |
基本何でもできる | C# |
とは言え「やりたいことが決まっていなくて言語に迷っているんだ!」という方もいると思うので、そんな場合はさらに以下を読み進めてみてください。
いきなり難しい言語から入るのはNGです
プログラミングは慣れてしまえば非常に楽しい半面、初心者ほど挫折しやすいものでもあり、なんと挫折率は90%とまで言われています。
その原因として挙げられるが「覚える量が多すぎる」「入門レベルですら難しい」というもの。
とくに昔からある言語(C言語やJava)は自分で定義しなければならないことが多く、それに伴い覚える量も増え最初のハードルとして高すぎてしまうのです。
「初心者だから何が簡単で何が難しいのかわからないよ」
という方は以下の表も参考にしてみてください
言語 | 習得難易度 | コメント |
HTML | ★ | 誰でもすぐに取り組める |
CSS | ★ | 仕組みは簡単だが奥が深い |
JavaScript | ★★ | 応用範囲が広い |
PHP | ★★ | 比較的取り組みやすい |
Swift | ★★ | 楽しく開発可能 |
Python | ★★ | シンプルで学習しやすい |
Ruby | ★★ | 人気言語で学習しやすい |
Java | ★★★ | 入門者にはハードルが高い |
C# | ★★★ | 入門者にはハードルが高い |
プログラミング初心者はWeb系の言語からスタートしよう
また、これからプログラミングを始めるのであればWeb系の言語をおすすめします。Webサイトを作ったり、Webアプリを作ったり、スマホアプリを作ったりできるものですね。
というのも、単純にWeb系言語のほうがインフラ系言語よりも楽しいから。
自分でコードを書きながらWeb上にアプリが作られていくのは過程がすでに楽しく、モチベーションに繋がっていきます。
また、インフラ系は例えば駅の改札のシステムや銀行のATMのシステムなどに利用されるものなので、あまり自分のオリジナリティが出せるものではなく楽しさの面ではWeb系に劣ります。
動作がイメージしにくく楽しさを感じにくい言語は非常に挫折してしまう可能性が高いので「プログラミングって楽しいものなんだ」という実感を持つまではWeb系かつ簡単な言語から学んでいくことをおすすめします。
これからプログラミングを始める人向けオススメ学習手順
ここでは、これからプログラミングをスタートする人に向けておすすめの学習手順をお話していきます。
もちろん既に作りたいものや目指したい先が決まっている人は真似しなくてもOK。
目的はまだ明確ではないけどとりあえずプログラミングを始めたい、という人はぜひ参考にして学習を進めていってほしいと思います。
ステップ①:HTML/CSSでコードが動く楽しさを知る
まずは「自分で書いたコードが思い通りに動く」ことを体感するため、HTMLやCSSのマークアップ言語から入ることをおすすめします。
マークアップ言語とはWebページの色やパーツの配置を作るなど、見た目を整える言語のこと。
HTMLやCSSはその他のプログラミング言語とは文法が大きく異なるのですが、シンプルで分かりやすく直感的に書くことが可能です。そのためコードを書く楽しさを体感するにはもってこいの言語なのです。
得にCSSはシンプルなのに極めようと思ったら非常に奥が深いので、ゲーム感覚で楽しむこともできます。
今後自分でWebアプリやサービスを作るにあたってもHTMLとCSSの知識は必須なので学んでおいて決して損はありません。
ステップ②:JavaScriptでプログラミングの楽しさと可能性を知る
HTMLとCSSの基礎を学んだら、次はJavaScriptに進むことをおすすめします。
ここからが本格的なプログラミングです。
JavaScriptはHTMLとCSSで作ったWebページに動きを加えることができる言語で、例えば画面のスクロールやクリックに合わせてアニメーションさせたりすることが出来るようになります。
このようなWebページでの挙動を自分で制御できるようになると一気にプログラミングは楽しくなりますので、まずはJavaScriptまで頑張ってみましょう!
ステップ③:バックエンド開発でプログラミングを深く学習する
ステップ②まで達成して挫折していない方はプログラミングを楽しく学べている人だと思うので、もっと深くバックエンド開発にも手を伸ばしてみましょう。
バックエンド開発とはサーバーの構築であったりデータベースを管理したりと、目には見えない部分を制御する開発を指します。
プログラミングの真髄はバックエンドにあると言っても過言ではありませんので、様々なアプリやツール、ゲームを作ってみたい場合はぜひチャレンジしてみてください。
バックエンドは言語も豊富ですが、1つの言語をマスターしてしまえば他の言語でも考え方は同じで応用が効くので、まずは1つ的を絞って勉強してみましょう。
PHP、Ruby、Pythonあたりが比較的とっつきやすくおすすめです。
プログラミングを学ぶなら動画学習がおすすめ
HTMLやCSS、またはバックエンドの言語を学ぶにしろ完全独学でスキルを身に付けるのはとても難しい上に効率が悪いので、適度に教材を使って学習しましょう。
プログラミングを学ぶには本やネット上の教材などがありますが、断然おすすめなのは動画教材です。
動画教材であれば自分で手を動かし実際にコードを書きながら学習できるので効率が格段にアップします。
中でもおすすめはUdemy。
Udemyなら動画教材を作っている現役エンジニアに直接質問をすることもできますし、言語のアップデートにも対応してくれるため最新の情報を得ることが可能です。
HTMLやCSS、JavaScriptから入る方は「ガチで学びたい人のためのWEB開発徹底入門(フロントエンド編)」がマスター出来れば仕事として活動していけるレベルになりますので、最初の学習教材として効果的です。
初心者向けに分かりやすく基礎の基礎から教えてくれるので本気で始めたい方はぜひお試しください。
【まとめ】プログラミングを始めるなら簡単な言語からスタートしよう
今回はこれからプログラミングを始める方に向けて、どんな言語からスタートさせるべきかというお話をしました。
結論をまとめます。
- 作りたいものが決まっているなら適切な言語を始めてOK
- 何も決まっていなければHTML/CSSから始めよう
特に作りたいものが決まっていない状態で難しい言語に触れてしまうと挫折することに繋がってしまうので要注意です。
Udemyをはじめとした教材をうまく活用して、効率よくプログラミングのスキルを身に着けていきましょう!
高橋直也(@naoya2_2)
フリーランスエンジニア。SEとして主に某企業顧客管理システムの開発、改修を担当している。ブログでは未経験からSESを経てフリーランスエンジニアになった経緯等を発信中。