2012-01-22

凍ったニシキヘビと凍えた番人

言語disりが流行ってるようなので一つ

Pythonをかれこれ5年ほど使っているけれど、いい加減頭にきた。

大体頭に来るような内容というのは限られていて大体は

http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm

に書かれている事に近い。大事なところを引用すると

本当にPythonを殺し、メインのスクリプト言語となる望みを、あるいは何であれメインの言語となる望みを絶ったのは、永久凍土の問題なのだ。人々はいまだ埋め込みインタプリタにTclを使っている。どのような面から見てもTclよりPythonの方が遥かに優れているというのに——ただし永久凍土の問題を別にすれば。

これに尽きる。

よく言われるが、インデントに縛りがあるのもselfが付くのも慣れてしまえばさほど気にならないし、むしろ魅力的とも感じる。

しかし、Pythonを本当の意味で糞たらしめて居るのはその言語を使っているコミュニティがあまりにも思考停止しているからだ。

インデントやselfが気に入らないなんて些細な問題を他の言語使いから散々文句を言われたがために、本当の意味言語の弱点になっている部分が指摘された時にも「それは言語仕様が悪いんじゃない。言語仕様に沿って考えられないお前の頭が悪いだけだ」と言ってくる。

実際のところ、Python仕様には言い逃れのできない仕様の穴は幾つもある。もちろんよく引き合いに出されるRubyPerlにも仕様の落とし穴は山ほどある。仕様の穴そのものは実はそんなに深刻な問題ではない。

真に問題なのはPythonコミュニティはその仕様の穴を断じて穴と認めない事だ。

言語同士でdisり合いになったとき、何かその穴をつつかれた場合の各人の反応はおよそこんな感じだ。

仕様カオスになり続けるPerlだと

Perl使い「そうだよね、そこの仕様は頭悪いよね。でもPerl6のこの機能使えばこんなに短く綺麗に書けるんだぜ(と全く読めないコードを出す)」

比較的柔軟な仕様コミュニティのあるRuby

Ruby使い「うんうん、仕様の話題でもそこは殺人現場とか呼ばれてるね。コミュニティ的にはこっちの機能を使うことを推奨しててそっちはobsolatedだね」

酷い言語仕様調教されつくしたPHP

PHP使い「それ言い出したらこっちにこんなに大きな地雷あるし、この地雷なんてもっと大きいぜ。ほんとPHP地獄だぜ」

永久凍土Python

Python使い「お前の思考通りに言語が動くんじゃなくてお前の思考を言語に添わせるんだよ、言語挙動すら理解せずに使おうとするんじゃねえ」

こんな感じに、まず最初質問者人格攻撃を行う。インデント言語であることやselfの問題について未熟なプログラマからのどうでもいい指摘を散々受け流してきたPythonコミュニティは、言語仕様について文句を言われる事に慣れているためまず相手を攻撃する。初心者寒波洗礼するのだ。

言語仕様が汚くなっている事まではどの言語も一緒なのだけれど、Pythonコミュニティだけは欠点を認めず必死に(∩ ゚д゚)アーアーきこえないという態度を取る。

これこそがPythonを糞言語たらしめる最大の弱点である永久凍土の問題。コミュニティが凍れば言語進歩も凍る。

Pythonそのものは一人で使う分には手軽な言語なだけに、使用者思考停止しているが故の機会損失の多さが残念である

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん