たぶん昔、gotoが混沌の源だった。
gotoがもたらす混沌は、構造化プログラミングによって治められた。
次に、関数へのポインタとswitch〜caseが混沌の源となった。
この混沌は、オブジェクト指向によって治められた。
たぶん今、メタプログラミングが混沌をもたらしている。rubyのメタプログラミングも、C++のメタプログラミングも、大いなる混沌の源となっていると思う。
だからたぶんそのうち、なにか新たな考え方が現れて、混沌は治められるんだと思う。
そしてたぶん、その考え方を目にした lisper は、「あ、それなら40年前にライブラリ化されているよ?」と言うんだと思う。