プログラミングは算数よりも国語

感想文

プログラミングは算数よりも国語

「数学が苦手だから、プログラミングも無理そう」と思っている方へ。プログラミングは数式を解く作業というより、自分の考えを曖昧さなく言葉にする作業に近いのではないか、という話。

  1. TOP
  2. BLOG
  3. 2026
  4. 8月
  5. プログラミングは算数よりも国語
01

Article

2026.08.28

「プログラミングって、算数が得意じゃないとできないんでしょうか?」
よく聞く言葉です。
確かに、プログラムの中では数字を扱います。
変数があって、計算式があって、座標があって、場合によっては難しい数式も使います。

なので、
「数学が苦手だから、プログラミングも無理そう」
と思ってしまう気持ちは、とてもよくわかります。

でも、私はプログラミングを教えていて、ずっと感じていることがあります。

「プログラミングって、算数や数学というより、むしろ国語に近いんじゃないかな」

ということです。

プログラムは「コンピュータにお願いする文章」

例えば、
「プレイヤーのHPが0になったら、ゲームオーバーにする」
という処理を作りたいとします。

プログラムでは、例えばこんな感じです。

if (hp <= 0)
{
    GameOver();
}

確かに、<= 0 という数字は出てきます。
でも、このプログラムを書くために本当に必要なのは、
「HPが0以下になったときに、ゲームオーバーにする」
という文章の意味を理解することです。

if は「もし」。
hp <= 0 は「HPが0以下なら」。
GameOver(); は「ゲームオーバーの処理をする」。

そう考えると、やっていることは数式を解いているというより、
日本語で考えた内容を、コンピュータが理解できる文章に翻訳している
とも言えます。

コンピュータは行間を読んでくれない

人間同士なら、
「敵にぶつかったらゲームオーバーにして」
と言えば、なんとなく意味は伝わります。

でも、コンピュータにはそれだけでは伝わりません。

  • 敵とは何なのか。
  • 「ぶつかった」とは、どういう状態なのか。
  • 触れた瞬間なのか。
  • HPが減るのか。
  • 一回でゲームオーバーになるのか。
  • ゲームオーバーになったら、プレイヤーを止めるのか。
  • 画面を切り替えるのか。
  • 音を鳴らすのか。

これらを、もれなく説明しなければいけません。

つまりプログラミングでは、
「自分が考えていることを、曖昧さなく言葉にする力」
がとても重要です。

これって、かなり国語っぽくないでしょうか。

プログラミングで難しいのは「計算」だけではない

初心者の方がプログラミングで困っているところを見ていると、
「計算ができないから分からない」
という場面ばかりではありません。

むしろ、
「この変数は何を意味しているの?」
「このif文は何を調べているの?」
「この処理はいつ動くの?」
「この問題文は、結局何を作れと言っているの?」
という部分でつまずくことも多いです。

これは計算力というより、
文章を読んで、意味を整理する力です。

そして、自分でプログラムを書くときにも、
「何をしたいのか」
「どんな条件なのか」
「その条件になったら何をするのか」
を順番に整理していきます。

これも、文章を組み立てる作業によく似ています。

もちろん数学が必要になることもある

だからといって、
「プログラミングに数学は必要ありません」
という話ではありません。

作るものによっては、数学がかなり重要になります。

3Dゲームを作れば、座標やベクトルを使います。
物理シミュレーションなら、物理や数学の知識が必要になります。
AIやデータ分析なら、統計や線形代数が必要になることもあります。

でも、それは
「プログラミングを始めるために、数学が得意でなければならない」
という意味ではありません。

料理を始めるために、栄養学を全部覚える必要がないのと同じです。
必要になったときに、必要な数学を覚えていけばいい。
私はそれでいいと思っています。

「数学が苦手だから」は、やらない理由にしなくていい

プログラミングに興味がある。
ゲームを作ってみたい。
アプリを作ってみたい。
Webサイトを動かしてみたい。
自分の仕事を便利にしてみたい。

そう思っているのに、
「でも、私は数学が苦手だから……」
という理由だけで諦めるのは、少しもったいないと思います。

数学が苦手でも、文章を考えることが好きな人。
物事を順番に整理するのが好きな人。
「こうしたら、こうなるんじゃない?」と考えるのが好きな人。

そんな人は、むしろプログラミングを楽しめる可能性があります。

プログラミングは、数学の試験ではありません。
正しい答えを暗記して書くものでもありません。

自分がやりたいことを考えて、
それを一つずつ、
コンピュータに伝わる形にしていくものです。

だから、
「数学が苦手だから、プログラミングは無理」
と思っている人に、私は言いたいです。

「いや、一回やってみ!」

意外と、
「思ってたのと全然違う」
となるかもしれません。

西野竜平(署名)