中の人の徒然草346
昨日は関数型言語の強力さについて思いを馳せていました。
その力の源は、やはりプロセスとデータを同様に扱える事かな?
改めて考えてみれば、データもプロセスもバイナリ。
同様に扱えない事はない。プロセスもデータも情報なのですから・・・
ただ、Lispが流行らない理由もそこにあったと思います。
何故ならば、人間は区別を好むからです。
人間の知的活動は、物事を区分することから始まります。
ですから、プロセスとデータを一緒に扱うとなると、抵抗感があったり、考えにくいと感じるのも無理もない話です。
ですが、昨今は関数型言語の特徴を取り入れる命令型言語が大半であり、本当の意味での普及状態に入ったのだと思います。
これからは、言語のパラダイムを考える事自体が無駄になってくるでしょう。
その時、特徴が残るのはどの言語なのか、プログラミング言語とは何なのか・・・非常に興味深い課題です。
プログラミング言語が完全にマルチパラダイムになった時、違いは文字列のフォーマットでしかないような気がします。
さらに、そのフォーマットが自由に変換出来れば、なんの言語で開発しても違いはありません。
.NETやJavaなどの仮想マシンを使用する環境は既にその兆候がありますが、プログラミング言語が進化する事により、それが全言語に拡大する可能性があります。
そうなってくると、最適化能力と開発環境で違いをつけるしかありません。
それは、嬉しくもあり、寂しさもあり、複雑な気分です。
今後自分のプログラミング言語を設計&実装しますので、その辺を今後も考えていきたいです。