日本語とプログラミング言語

弾さんの文章を読んで、日本語とプログラミング言語の関係に想いを馳せてみた。

言葉が単なる情報伝達のツールでしかないのであれば、我々はこれほど言葉を愛したでしょうか。

私の頭の中ではこう変換された。

プログラミング言語が計算機への命令の集まりでしかないのであれば、我々はこれほどプログラミング言語を愛したでしょうか。

いや、多くの人が言語オタクでないのは知ってるけど(笑)

日本語の力の源は、良識に頼らなかったことにあります。事件は現場で起こっているように、言葉は読み書きしている最中に生まれています。これがフランスみたいに良識を待っていたら、とてもここまでの力強さは生まれなかったでしょう。この点は英語も同様で、私生児ならぬ私生語を大事に、というより圧力を加えなかった言語ほど強くなってきました。

つまり、理論の美しさみたいな「圧力」が強制されないというか。*1(ちなみに、Javaは別な意味での「圧力」をかけるために生まれた言語で、それが存在意義の一部を担ってるのと思う)
Perlにはまさにこの自由な感覚が強い。「There's More Than One Way To Do It(やり方は一つじゃない)」という標語がすべてを語ってる。*2
また、Rubyには「コードは人が読み書きするモノ」という感覚が強く出ていて、その辺が「現場」に対応している気がする。まぁ、でも、Rubyは「すべてオブジェクト」って標榜してるから、「理論の美しさ」的な部分がないわけではないけど。*3
Lisp/Schemeは「理論的な美しさ」と「何でもできる(マルチパラダイム)」が混然一体となった数少ない言語だと思う。長生きしているのも頷ける。でも、「自然に読み書きできるか」、「簡単にできるか」と言われると…。
で、

むしろ重要なのは母国語の魅力を保つことです。そして母国語の魅力を保つということは、その母体となる文化を保つことであり、そして文化を保つというのは、時代とともに変わって行く表現を大切にすることです。

これからも、プログラミング言語パラダイムや時代の要請に応じて変化し、また新たな言語が生まれたりするんだろう。私達は緩やかに変化していけばいい。
ただ、一世代前のパラダイム、言語だといってすべてを否定するのは良くないよね。機能、生み出されたモノ・考え方とか。科学と一緒で巨人の肩に乗ることで今が築かれているんだから。温故知新。
とにかく、これからも便利な言語・凄い言語・面白い言語がいっぱい生まれて、それを一つでも多く学んでいけたらいいなぁと思う今日この頃です。

*1:Haskellかっこいい!とかはよく思う

*2:それを実現する方法が綺麗かというと微妙だけど

*3:ただ、Rubyの場合は便利だからオブジェクト指向を使うだけで、強制されている感覚はないんだよなぁ。そこが Smalltalk + Perl