後輩からプログラムを書くとき、アルゴリズムはわかってもプログラムに直すことが出来ない、for文やスタックなどをどう使えば良いのかわからない、難しいというぼやきを受けた。現在彼はトップコーダーにチャレンジしていて、そんな話になったのだが、その会話の中で一つ思ったことがあるので言葉にしてみようと思う。 出来ない理由は理解してないからだけじゃ? まず、プログラムというのは事象の表現方法の一つである。つまり言語だ。プログラム言語なのだから言語で当然なのだが。つまり、本質的にプログラムを書くことと、日本語を書くことに大した差はない。日本語で曖昧さがなく、ある事象について説明できるならプログラムでも当然書くことが出来る。え?出来ないこといっぱいある?それは、曖昧さが残っているか、もしくは言語の表現力と聞き手(計算機)の理解力の問題になってくる。そこには今は目をつむろう。 ということは、当然プログラムが