
多くの初学者は「プログラミング=コードを書くこと」だと考えがちですが、
実務ではそれはほんの一部にすぎません。
この回を理解できると、
・コードが書けない理由
・バグが減らない理由
・設計レビューで指摘される理由
が、はっきり分かるようになります。
アルゴリズムとは、簡単に言うと
「目的を達成するための処理手順」です。
コンピュータは、自分で考えて動くことはできません。
人間が考えた手順を、正確にそのまま実行しているだけです。
つまり、
プログラム = アルゴリズム + 表現方法(プログラミング言語)
という関係になります。
新人エンジニアによくある誤解が、次の考え方です。
しかし実務では、これらはすべて不十分です。
なぜなら、
コードは「結果」であって「思考そのもの」ではない
からです。
どんな業務処理も、必ず次の構造を持っています。
これらを整理したものが、アルゴリズムです。
言い換えると、
アルゴリズムとは「処理の設計図」です。
アルゴリズムは、主に次の3つの要素で構成されます。
この3つを組み合わせることで、
どんな複雑な処理も表現できます。

この3要素を意識せずに書かれたコードは、
ほぼ確実に「読みにくく・壊れやすい」コードになります。
実務で評価されるエンジニアほど、
いきなりコードを書きません。
まずやるのは、次のような作業です。
その上で、
アルゴリズムが固まってから、
初めてプログラミング言語に落とします。

例として、次のような業務を考えてみます。
「注文データを受け取り、合計金額を計算し、結果を表示する」
これをいきなりコードにせず、手順に分解します。
この時点で、
もうアルゴリズムは完成しています。
あとは、これをJavaScriptでも、PHPでも、Pythonでも、
好きな言語で書くだけです。
アルゴリズムを意識できるようになると、
言語が変わっても応用が利くエンジニアになります。
次回は、
「システム構成とは何か?」
クライアント・サーバ・クラウドの考え方を、
実務目線で解説します。