JavaやJavaScript、PHPなど、現在人気のプログラミング言語のほとんどは「オブジェクト指向言語」という種類の言語です。ですがこのオブジェクト指向、日本人には理解しにくいと言われています。その原因は様々ですが、一番の悪者は、日本のIT教育ではないでしょうか。 変数は「箱」じゃない! 皆さんは、プログラミングの授業で「変数」について、どのように教わりましたか? おそらく、「変数とはデータを代入する“箱”のようなものです」といった説明を受けたと思います。実はこの説明、まったくの大嘘なのです。 この「変数」や「代入」という用語ですが、数学用語からそのまま転用されています。なぜなら、プログラミングでも数学でも、同じ記号を使って数式を書くからです。例えば次の数式は、「xという変数に1を代入する式」または「xという名前のついた箱に1を入れる式」だと教わります。 x = 1