2008年04月27日

すべての言語はCOBOLに回帰しない

歴史は繰り返すというか、プログラミング言語はLispに回帰しているのかという議論がまたもや話題に上がり始めた。以前のPHPはなんでだめなのかという議論とおんなじで、もう何回繰り返し言われてるんだろうか。

http://d.hatena.ne.jp/rubikitch/20080426/1209142025

発端は↑あたり?古代の神秘とか一騎当千とか魅惑的な単語を散らばしてくれてるので読みが進む進む。この文章力1/100でも欲しいわぁ〜。
 

  
言語のカンブリア爆発

こういうの聞くと、生物の進化の過程とそっくりというか。いや、たいていの物の進化はこんな感じなのかな?自動車とかも。ごく初期に形態の爆発的進化が行われて、それ以降は過去の進化の応用形態しか生まれませんよ、というお話。生物ではカンブリア期っていう昔々に今のすべての生物の形態の原型ができたそうな。その後はアノマロカリスとかハルキゲニアとかそういうかっこいい形の生き物は新たに生まれなくなりました、っていうお話。

コンピュータ言語でもきっと同じ工程を通っていると思われるわけで、進化のごく初期にFORTRAN・Lisp・COBOL・ALGOLといった言語が出揃って、それ以降はだいたいALGOLのパクリみたいな形態の言語ばっかりになりました。というお話だと思う。で、新しい有効な思想を盛り込もうとすると、だいたいFORTRAN・Lispとか(くわえてSmalltalk?)そういう言語の思想とかぶってしまいます。

ということかな。丸めていうと。

それにしてもCOBOLの影響を色濃く受けました、って言語は聞かないなあ。どっちかというと不評ばっかり。かわいそうな言語だ。COBOL。

たぶん元がALGOLだから・・・

今Lispが注目されてるのは、多分ALGOLの子供たちであるJavaとかC#にLispのクロージャの思想が混入されはじめてからだと思う。とはいえALGOL系の顔にLispの魂っていう言語は過去に何度も登場しており、俺の好きなRubyやJavaScriptだって、何年も前からALGOL顔+クロージャを実現している。そう、最初の命題どおり、やはりいろいろな言語がLispに近づきつつあるのだ。

で、ここから100%憶測なんだけど(今までは50%くらい憶測な)、もともとLispの顔をしているやつらが主流で、後の時代にALGOL魂を植えつけられるようになったらすべての言語はALGOLに回帰するとか言われるんじゃね?今そういわれないのは、元々顔がALGOLしてるんだもん。

今後言語の進化が、カンブリア時代のどれかの言語の後追いにしかならないとすると、いずれ最終形は(ALGOL+Lisp+FORTRAN+Smalltalk)/4とかになるでしょう。COBOLごめんな。それで今までマシン語から程遠くて効率的な実装が難しかったLispの魂が最近ようやっと取り入れられるようになったから、言語がLisp化してる!とか話題になるんじゃないかな・・・

Lisp化はもう頭打ちかも

ではこのLisp化の流れは今後も続くかというと、極端にALGOLの匂いを消してLispに近づくようにはならないでしょう。きっとそれらの中間地点で落ち着く。俺の予想では表記法は未来永劫ALGOLのままです。括弧ばっかりはいまさら辛いっしょ・・・

というわけで、表記法に大きく依存しているマクロとかは、Lispそのままの形ではもうほかの言語に取り込まれないんじゃないか。マクロ機能はC++のテンプレートのように、一部機能を制限した形で生き残るに違いない。

それでは表記法はALGOLで完成なのか?それともCOBOL魂が再び復活し、まるで自然言語を話すようにプログラムできる言語が登場するのか?っていうと・・・・

きっとそうはならないだろうな。英語のような表記法のDSLとかいくらか出たけど、あんまり広まってないし・・・やっぱごめんなCOBOL(←結論)
posted by LoyalTouch at 20:05| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
おまえ頭悪いな
Posted by at 2013年03月16日 14:04
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/94896318

この記事へのトラックバック