「初心者でも使えてプログラマでも困惑するJavaScript」の最後に、僕は次のように書きました。
「なんでもオブジェクト」である点は“オブジェクト的”だし、動作実体が関数だけであり、高階関数も扱える点は“関数的”。が、実際のコードは“手続き的”に書かれます。というわけで、マルチパラダイムというより、パラダイムなんて派閥の枠をコケにしている言語仕様であり、ちょっと小気味よいですね。
「コケにしている」かどうかはともかくとして、特定のパラダイムや系統に所属させにくいのは確かでしょう。それゆえに、さまざまなパラダイムや系統に所属する人々が、JavaScriptを自分の流儀で使おうと試みるようです。
何度か言及しているJSAN(http://openjsan.org/)のWebサイトの先頭には、"CPAN".replace(/CP/, "JS") と書いてあります。当然ながらCPAN、つまりはPerl文化圏に由来しています。
一方、Prototype.js(http://prototype.conio.net/)はRuby文化圏を出自としているようです。READMEの最初の段落に曰く:
Its development is driven heavily by the Ruby on Rails framework, but it can be used in any environment.
MochiKit(http://mochikit.com/)はといえば、 Python-inspired JavaScript kit だそうで(META.jsonの記述)、Python好きらしい。
The f(m) project(http://fm.dept-z.com/)では:
The f(m) project is an ECMAScript Base Class Library, based on the .NET Framework, (以下略)
はー、.NET Frameworkですか。
Beyond JS(http://w3future.com/html/beyondJS/)だと、curryが好きなあたりからみるに、インド人、じゃなくて(高階)関数型プログラミングの人なんでしょう。
ほんとにナンデモアリ。しかし、派閥を作っているわけではなくて、共同作業もあるみたいですね -- JSANに登録されているモジュールClass-0.05のAUTHORは、
Written by Bob Ippolito
Interface initially designed by Sam Stephenson for the Prototype library
Maintained by Rob Kinyon (rob.kinyon@iinteractive.com)
Bob IppolitoはMochiKitの作者、Sam Stephensonはprototype.jsの作者、そしてRob KinyonはJSANにたくさんコントリビュートしている人です。