複数の言語を学べ

真っ先に思い浮かぶのは、日本語と英語

 英語を学びはじめると、日本語と英語の関係を対比して考えるようになるので、日本語の文法的理解とか、いろいろと深まることがある。特に、感覚的に使っていた日本語の部分が英語では使えない。ゆえに、日本語の気づかずに使っていた箇所が見えてくる。

それがプログラミング言語でもさ

 当てはまるのかっていう話。BasicとかFortranからCにはいって、Java使いになってたわけだけど、あまりそういう実感がなかった。
 つまり、これこれの代入はこれね。とかいったもう100%対応できそうな脳内比較しかできていなかったからだ。
 ところが、関数型言語を勉強してみることで、こういう言語もあるのだなぁということがわかる。再代入できないとプログラミングできないんじゃ?なんて思ったこともある。

日本語と英語ぐらい違う言語

 もうね。世界がひっくりかえるくらい常識が違うプログラミング言語を学べばいい。そうすれば、当たり前だと思っていたことが覆るし。JavaとかC/C++で世界ができてるよ見たいな考えが間違いだったって気づけるんだね。いや、思ってないけどさ。