以前の記事で、僕は「プログラミングは数学の問題を解く感覚に近い」と書きました。
特に、少し難しい課題に挑むときほど「暗記」ではなく、基礎を組み合わせて考える思考力が必要になってきます。
そして、この「基礎の組み合わせ方」は、人によって本当にさまざまです。
■ 人によって違う「基礎の組み合わせ」
例えば、よくある話ですが……
「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列追加して」「ここのひらがな変更して」
のような修正依頼が日常茶飯事。
配列で管理していれば「表の形」が一目で分かり、すぐに対応できます。
■ まとめ
プログラミングは、数学の問題と同じで、解き方が人によって違っていい世界です。
むしろ、その違いこそが“思考力そのもの”であり、
その人らしさでもあります。
あなたの書き方も、僕の書き方も、実務経験者の書き方も、どれも間違いではありません。
ただし、
基礎を理解しているほど「選べる書き方が増える」ので、
ぜひいろんな書き方に触れてみてくださいね!
