Ockham's razor

id:nishiohirokazuさんのPythonとRubyにさほど差はない - 西尾泰和のはてなダイアリーを見て、昔からの疑問。プログラミング言語ってできることが多いほど良い言語なんですか?特に分散処理を意識しなければいけない時代に。
これは、「Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)」で、巨大な分散システムを構築・運用可能にするために、MapReduceというフレームワークでアプリケーションの作り方に制約をかけたり、使うことのできる言語を限定し、さらに明確なコーディング基準で利用できる機能を制約していると書かれているのを読んだときにも感じたことです。開発者の自由度をある程度制限しないと、運用者が死にそうになりそう。
プログラミング言語でも、PascalSchemeが生まれた背景を考えると、できることの多い言語が良い言語だとは一概には言えないと思うのですが。何でもできることを目標に開発された言語の歴史を振り返ると、ターゲットとする利用形態に合った機能が有れば、できないことが多くても十分だと思うのですが。類似の言語があるとどうしても競争意識から機能拡張に陥りがちになるようですが、あえてシンプルさを保つ方針をとってもいいのでは。タイトルにあるようにOckham's razor (wikipedia:オッカムの剃刀)の方針を掲げて、あえて×の多さを選択する言語があっても、それはそれで私には好感度高いのですが。JVMCLR等で上での共存を意識した実装をしていれば、別に問題は無いと思いますし。昔、そこそこの程度のサイズのデータを分析するのに、分析にかけるためのデータ前処理をshとawkで十分、わざわざPerl覚えて使うまでも無いという人だったので(汗)。そう考える人は私だけではないようで、こんど「ミニマルPerl ―Unix/LinuxユーザのためのPerl習得法
」という本がでますね。

ミニマルPerl ―Unix/LinuxユーザのためのPerl習得法

ミニマルPerl ―Unix/LinuxユーザのためのPerl習得法

昔Transputer (wikipedia:トランスピュータ)上で動くOccam (wikipedia:Occam)の開発者の人がまさにその方針を掲げていたよなと思い出しつつ、ちょっと感想まで。