以前の記事で、僕は「プログラミングは数学の問題を解く感覚に近い」と書きました。
特に、少し難しい課題に挑むときほど「暗記」ではなく、基礎を組み合わせて考える思考力が必要になってきます。

そして、この「基礎の組み合わせ方」は、人によって本当にさまざまです。


■ 人によって違う「基礎の組み合わせ」

例えば、よくある話ですが……

「1から100までの数字を全部足しなさい」

と言われたとき、あなたはどう解きますか?

  • 暗算で一気にいく人
  • 連立方程式のように処理する人
  • 高校数学で習った公式を使う人
  • 図形(幾何)の発想で考える人

実はどれも正解です。
ただ 、どの基礎を選び、どう組み合わせるか が人によって異なるだけ。

プログラミングもまったく同じ構図なんです。

■ プログラミングにも「十人十色の解き方」がある

最終的に、作るものが同じでも、
そこに至るまでの道筋は人によって違います。

職業柄、僕は AI が書いたコードか、人が書いたコードかはある程度判断できます。
人が書いていれば、その人の性格・スキルレベル・思考癖がそのまま表れます。

それくらい、コードには「その人らしさ」がにじみ出るんです。

【お題】

5行10列の「あいうえお順」の表を作りましょう!

いつかやり方はありますが、今回は、僕が「基礎」を意識して書く場合のサンプルを紹介します。

■ 実際のコード例(僕の書き方)

<style>
td{
  border: 1px black solid;
  padding: 4px;
} 
</style>

<h2>ひらがな50音表</h2>
<table id="table"></table>

<script>
// 5行 × 10列 = 50文字
const chars = [
  "わ","ら","や","ま","は","な","た","さ","か","あ",
  "","り","","み","ひ","に","ち","し","き","い",
  "を","る","ゆ","む","ふ","ぬ","つ","す","く","う",
  "","れ","","め","へ","ね","て","せ","け","え",
  "ん","ろ","よ","も","ほ","の","と","そ","こ","お"
];

let table = document.getElementById('table');
let html = "";
let index = 0;

for (let row = 0; row < 5; row++) {
    html += "<tr>";
    for (let col = 0; col < 10; col++) {
        html += `<td>${chars[index]}</td>`;
        index++;
    }
    html += "</tr>";
}

table.innerHTML = html;
</script>

■ このコードを見た人の反応は3タイプに分かれる

①「なんじゃこりゃ!」の人

おそらく HTML で素直に <td> を50個書こうとしたタイプ。
初学者によくある思考かと思います。全然OKです。

②「なるほど、そういうことね」の人

プログラミングの基礎を理解している人。
中級者〜エンジニアの思考に近いです。

③「いや、これはもっと改善できるでしょ?」の人

ほぼ確実に実務経験者。
仰る通りで、ここから2次元配列化したり、関数化したりできます。

■ 書き方に「正解・不正解」はない

大切なのは 「自分のレベルに合った書き方を選ぶこと」 です。

今回のコードは、僕にとっては ごく自然でしっくりくる形 で、とても心地よく感じるものです。

理由はシンプルで、

  • 配列でデータを管理すれば構造が見やすい
  • HTMLをべた書きにすると修正が辛い
  • for文を使うことで拡張が容易
  • 行・列の数が変わっても柔軟に対応できる

というメリットがあるからです。

特に現場では、
「あと1列追加して」「ここのひらがな変更して」
のような修正依頼が日常茶飯事。

配列で管理していれば「表の形」が一目で分かり、すぐに対応できます。


■ まとめ

プログラミングは、数学の問題と同じで、解き方が人によって違っていい世界です。

むしろ、その違いこそが“思考力そのもの”であり、
その人らしさでもあります。

あなたの書き方も、僕の書き方も、実務経験者の書き方も、どれも間違いではありません。

ただし、
基礎を理解しているほど「選べる書き方が増える」ので、
ぜひいろんな書き方に触れてみてくださいね!