「プログラミングに興味があるけど、そもそもプログラミングってどんな感じ?」
そんな疑問を抱えるあなたへ。
ここでは、プログラミングとは何かを現実世界に置き換えながらわかりやすく解説します。
- プログラミングの勉強を始めたい人
- プログラミングに興味がある人
- エンジニアに興味がある人

プログラミングに興味があるんだけど
何から勉強すればいいかな?

いきなりコードを書き始める前に
ざっくりプログラミングとは何かを学んでおこう!
はじめに
今回は「プログラミング」とは何かについてです。
それに関連して、「プログラミング言語」と「アルゴリズム」も併せて解説します。
プログラミングとは
ざっくり言うと「コンピュータに命令すること」です。

人間の場合『荷物を持ってきて欲しい』と考え「荷物持ってきて!」と命令をし、命令された人はそれに従って荷物を持ってきます。
コンピュータの場合も同じです。『1+1を計算して欲しい』と考え「add(1, 1);(1+1を計算して)」という命令をし、コンピュータはそれに従って「2」と返します。
プログラミング言語とは
人間の場合における命令は、日本語や英語で行います。
それと同じようにコンピュータに命令するための言葉があり、それが「プログラミング言語」です。

プログラミングで何ができる?
この命令は、いくつも組み合わせることで複雑なことが実現できます。

例えば人間の場合であれば、命令を組み合わせることで「コンビニ店員」として働けるようにすることができます。
コンピュータの場合も同じで、命令を組み合わせることで「ゲーム」として動かしたり、「オンラインショッピングシステム」として動かしたりできます。
「アルゴリズム」とは?
人間の場合であれば「コンビニ店員として働く」、コンピュータの場合であれば「ゲームとして動く」「オンラインショッピングシステムとして動く」。
こういった目的を達成するための手順・やり方のことを「アルゴリズム」と言います。

例えば、コンビニ店員として働いてほしいと思ったら
・シフト開始~終了まで働いて
・シフトは17時までだから、17時になったらシフト終了して
・もしお客さんが来たら、レジ打ちをして
・もしお客さんが来なかったら、品出しをして
といった形で命令を組み合わせて、コンビニ店員として働いてもらうための手順「アルゴリズム」を考える必要があります。
同じように、コンピュータにゲームとして動いてもらうためには
・戦闘開始~終了までバトルを続けて
・もし自分のターンなら、攻撃をして
・もし自分のターンでなければ(相手のターンなら)、攻撃を受けて
といった形で命令を組み合わせて、ゲームとして動かすための手順「アルゴリズム」を考えます。
プログラミングをする・システムを開発する = アルゴリズムを考える
と言っても過言ではありません
何かを作る際には、それがどういうロジックで動くのかを考える必要があります。
プログラミング学習の入門として、アルゴリズムについて学んでみるのも良いかもしれません。