ところで、フレームワーク戦争はどうなったんだい?

タグ: Laravel4  

前記事では、Laravelの立場に立って、書きました。今回は、そこから離れ、フレームワーク戦争を見てみましょう。

なぜ、フレームワーク戦争は起きるのか

フレームワークは、ただのプログラムです。ですから、使用・不使用は好みであり、選択の自由は誰でも持っています。

さて、車のオーナーさんで一番タチが悪いのは?それは、中金持ちなのに、背伸びして超高級車に乗っている人達です。異常に車を愛する余り、例えきれいなペットボトルの水が一滴かかっただけでも、激しいクレームをつけてくるでしょう。(我々貧乏人が、中古車を購入しても同じ状況に陥りますが、金額はたかが知れています。)それに対し、本当の、大金持ちの人は寛容です。

こうした車(時にはあなたのコンピューターやモバイル機器も)は、自分にある種の「パワー」を与えてくれます。スポーツカーに乗り、とにかくそのスピードを誇示しようとしている人達は、そのパワーが自分自身のものであると感じています。(売る方もそう感じてもらうような宣伝をします。)

ですが、そのスピードは機械の能力です。自分自身のものではありません。

フレームワークでも同じことが起きます。フレームワークは道具です。何かのプログラムを構築するための道具にしか過ぎません。しかし、好きになってしまうと、それをまるで自分自身のように思ってしまいます。

人間にはこうした傾向があります。「好きな人」を考えてください。できるだけ近づきたいと思うでしょう。「愛している」人であれば、密着したいと思うでしょう。逆に嫌いな人は?離れていたいですよね。嫌悪している人は、できれば黄泉の国くらい遠いところへ行ってもらいたいわけです。究極に「好き」は、それ以上離れなれない状態、つまり「自分自身」です。

この傾向により、私達は好きなものを「自分」もしくは、自分の一部と考えてしまいがちです。ですから、他の人がその自分の一部をけなせば、「おまえの、どこそこが悪い」と言われたのと同じで、反撃にでなくはならない気分になります。

逆に、隣に自分より良さそう、もしくは他人ウケするようなかっこいい人がそばにいれば、対象して自分の価値が下がることを防ぐために、その美男・美女を攻撃する必要性を感じ始めます。

ですから、基本的に人間は、好きなものを養護して、嫌いなものを攻撃する傾向を持っているのです。

キャッチーであること

ネットでは、とにかく情報を読んでもらわなくてはなりません。いくら、Googleが「情報の中身が大事」だと言っても、将来の検索数より、近場の注目度で、キャッチーなタイトルが付けられます。

目立つためには、センセーショナルな記事が必要です。ですから、タイトルは刺激的にされます。ブログでは「テクニック」とされます。

そのため、初心者がよくやりがちなのは、他のフレームワークと対比させるタイトルを付けることです。もちろん、比較記事であればタイトルに含める必要があるでしょう。

ただし、あなたのその記事は、引き合いに出されたフレームワークのユーザーも読むことを思い出してください。そのユーザーさんたちは、あなたの書いたタイトル、記事を読んでどう思うでしょうか。

これは、ツイートでも同じです。短い文章の中では、あなたが指摘するポイントの前提条件は、通常書ききれません。それ故、断定的になりがちです。一般的な言い方になりがちです。

あなたの記事やツイートを読み、結果として非難・否定されたことになったフレームワークの利用者はどう感じるでしょうか。確実に言えることは、敵を増やしていることです。(味方も増えるかも知れません。しかし、あなたが余計な攻撃にさらされるリスクは大きくなります。)

有名人も失敗する

直接フレームワークには関係ありませんが、最近、アメリカのPHP界の有名人も、この手の失敗をしています。

ある人は、Laravelの急成長に伴い、Laravel専用のパッケージが増えることを懸念し、フレームワークに依存しないパッケージを開発するように啓蒙しようとしました。しかし、話を盛り上げるために、使った強い言葉が原因で炎上し、火消しのため、「言葉の使い方を間違えた」と弁明することになりました。

別の人は、独断的にサービスローテーターとDIコンテナを定義付けました。なんてことない記事です。ただ、記事のタイトルが強すぎました。多くの反響を受けました。その結果、別のまとめ記事に、ほとんどのフレームワークに配慮した折衷案を載せています。記事の最初に、その新しい記事を読むように誘導しています。

限定されたエリアであっても、有名なだけに反響は大きいのです。ちょっとした「刺激」でも、返ってくるのは大きいことを忘れてしまうようです。

戦争は何の役に立つのか

実際の戦争であれば、兵器を供給している会社や国が儲かります。しかし、フレームワークや言語間で諍いを起こして、何の特があるのでしょう。

あなたが、攻撃/防衛の当事者になり、こうした種類の経験に足を突っ込んだら身に染みているでしょうが、こうした戦いは「消耗戦」です。クタクタになります。成り行きを見ているだけでも、心が乱れるでしょう。

そもそも、戦争という名前が使われる通り、まっとうな議論ではありません。批判合戦になります。この記事を書いている時点で、シリアの和平会議が始まっています。まだ、お互いの意見を言っている段階です。議論に入っていません。もし、お互いが真っ向から反対のことを発言し、互いに相手が悪いと言うのであれば、議論と呼べるでしょうか?この会議の目的である、「和平」はやってくるのでしょうか?無理でしょう。

シリアで起こっていることが起きます。今回の戦争では、武器はどうやら補給されているようです。しかし、国民(その中には兵士も含めています)が段々と消耗されていきます。どうやら、神様はフィードバック理論を良くご存知のようです。「人間も増えすぎたようだし、ちょっと人口調整が必要だろう。」

ブラックはここまでにしておきましょう。もし、ある目的のため、お互いが調整することに同意し、その方向性について議論し、同意するつもりを持っているなら、生産的です。しかし、フレームワーク戦争(実際は、フレームワークに限らず、言語、手法、手段、などなど)は、お互いの時間とエネルギーを消耗します。そうした資源は、デザインやら、設計やら、開発やら生産的に使いたいものです。

本当に生産的な現場にいたことはありますか?グループや個人単位で「反対」が少ないのです。慣れ合っているわけでなく、同意があるからです。昔から天下りは知られていましたが、「公務員は給料が少ないし、出世も限られているから、仕方ない」とある種の社会コストとして。私達国民は受け入れていました。そして、日本は急成長していました。今は、日本国民総批判家時代です。公務員は民間よりはるかに恵まれています。しかし、相変わらず天下りは減りません。ですから、公務員に対する風当たりは強くなり、私達は天下りに反対します。サービス単位としての国は機能低下を起こし、そうした抵抗に対処するためにもコストが必要になります。(極端ですか?でも、安倍さんが目標を示しただけで、日本は良い方向へ進みだしました。チャンスがあれば、人間は抵抗を捨て、利を得ようとします。)

私達、日本のPHPユーザー、もしくはそれ以上のグループで、お互いに足を引っ張り合うことは、生産的でありません。その分のコストは、発展と理解に使用しましょう。シェアは市場原理に任せましょう。

ええ、火事場で人が右往左往しているのが見るのが好きな人がいるのは、よく分かっています。しかし、自分が火を付けるのは、別問題ですよ。

一番たちが悪いのが、自分の嫌いな物を叩くため、別のものを引っ張りだすことです。引っぱり出される方も、迷惑します。

シンプルに防ぐ

鎮火より、防火のほうが、手間はかかりません。いくら、鎮火は消防署の役目だからと言っても、火を付けて回るのはやめてください。(消防協会)

  • タイトルで煽らない。
  • 基本的には伝えたい良い部分だけを紹介する。
  • 批判的な本文の部分にはバックボーンを入れるか、個人の考えであることを明記しておく
  • 戦争を引き起こそうとする火種は、リンク、リツイートしない

タイトルを付ける時、それを読んだら他の人はどう思うか考えましょう。HoneGumiフレームワークをタイトルに含めるなら、HoneGumiフレームワークのユーザーさん達がどのように思うか、考えましょう。

批判や不賛成を含めるなら、そのバックボーンを説明したり、事実だけで感情・感想を含めなかったり、あくまでも個人的な意見であると明記しましょう。短くて、それが無理なツイッターなどでは、言わないことです。

また、危ない、火種は拡散しないようにしましょう。自分は第三者を気取っていても、多分リツイを受けた人は、第三者というよりは、あなたに反感を覚えるでしょう。なにせ、PHPフレームワークには、火事になりそうな名前が多いのですからね。;) )

さて、最後ですから、忘れないうちに一言追加しておきましょう。「上記の意見は、あくまでも個人的な見解です。」