

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
「const」と「define」の違いをざっくり把握しよう
プログラミングで値を固定することはとても大事な技術の一つです。例えばゲームの得点、地図の中心座標、正解の回数のように「途中で変えたくない値」を扱う場面はたくさんあります。こうしたときに使われるのが const と define です。見た目は似ていますが、意味も働き方も異なることが多く、初心者の人はどちらを選ぶべきか迷いがちです。ここでは中学生にも分かる言葉で、まずはそれぞれの基本を整理し、次に現実のコードでの使い方を比べていきます。
まず覚えてほしいのは、const は「言語が管理する固定された値」を意味し、定義した場所の範囲内で値を使い続けることです。これに対して define は、C言語のマクロやPHPの定数定義のように「コンパイル時や実行前の置換・固定」を意味します。つまり const は“変化しない値をプログラムの一部として扱う”考え方で、define は“そのまま文字列や記号を置換して使う”考え方になります。これを理解すると、なぜ同じように見える命令語でも役割が違うのかが分かりやすくなります。
そして、実際にどう使い分けるのが良いかは、使う言語と目的次第です。
簡単な例を挙げておくと、const MAX = 100; のように書くと MAX はプログラムの中で 100 という値をずっと保ちます。一方で C の場合には #define MAX 100 のように書くと、コンパイラが処理する前の段階で MAX が 100 に置換され、型は持ちません。こうした違いを踏まえると、将来的にコードを読んだときに「どこで値が決まっているのか」「値を変更できるのか」がすぐに判断できるようになります。
具体的な違いを図解で理解する
ここからは具体的な性質の違いを、いくつかの観点で整理していきます。第一に「スコープと影響範囲」です。const は宣言した場所のブロック内でのみ有効な場合が多く、外部からは変更できません。define の場合、マクロとしての置換は基本的にグローバルに効くので、どこで使っても同じ値が置換されます。この差は、ソースコードの読みやすさとバグの起こりやすさに直結します。
第二に「型と安全性」です。const は通常、型を持つ値として扱われ、型チェックが働く場面で利点があります。define は多くの場で“型を持たない”置換として機能するため、間違って別の意味の文字列に置換されてしまうリスクが高く、慎重さが求められます。
第三に「デバッグと環境依存」です。コンパイル時のマクロ置換は実行時のデバッグを難しくすることがあります。const は変数として存在するので、デバッグ時に値をステップ実行で追いやすく、挙動を追いやすいのです。
これらの観点を頭の中に置いておくと、コード改善の時に「この箇所は const にすべきか、それとも define でよいのか」がすぐに判断できます。
最後に、実務的なヒントを一つ挙げておきます。全体像を見て“どんな場面で固定された値を使うべきか”を考え、必要ならコメントで補足を入れると良いでしょう。コメントは将来コードを読む人の手助けになります。
また、学習の初期段階では const を使う場面を増やし、define は本当に必要なときだけ使うようにすると、コードの安定性が高まります。
友達と雑談風に話すと、const と define の違いがさらに分かりやすくなります。ねえ、const と define って同じ“固定”を意味している気がするけど、実は使う場面が別物なんだ。const はその言語が守る定数だから、値を変えられなくて安全。define はC/C++のようにプリプロセッサが先に動く世界の道具で、値を置換してしまうから型の概念がない。私が最近困ったのは、定数を間違って変更可能にしてしまうミスを防ぐために const の使用箇所を意識したことです。 const は盾、define は置換の道具。
この二つを正しく使い分けると、後で見返したときに「この値はどこで決まったのか」「誰が変更できるのか」がすぐに分かるようになり、コードの品質が上がります。