MTI2NTgwOTg0NjI2ODQ2MTc0
Pocket

テック系巨大ベンダーが掲げる最新の看板とは、プログラム言語だ。それはまた、効果的な囲い込み戦略とも言える。

スコット・ローゼンバーグが書いているように「戦争では、勝者が歴史の本を書く。テクノロジーの世界では、勝ち組企業はプログラミング言語を書く」のだ。従って今日、マイクロソフトにC#があったように、Hack(フェイスブック)、Go(グーグル)そしてObjective-C/Swift(アップル)が存在する。

これらの言語は、それぞれ異なるアプリケーションを書くのに適した、単なる異なる言語と言うわけではない。いわば巨大ベンダーにとって、デベロッパーを壁で囲まれた庭に閉じ込めておく戦略となっているのだ。これは我々にとって危惧すべきことなのか?

オープン、でもプロプライエタリ?

そうかもしれないし、そうでないかもしれない。所詮言語による囲い込みは、ある程度デベロッパーを拘束することはできるけれど、じきに崩れる。C#がそうであったようにだ。

MTI2NTgwMzQ0MTM5ODQ4MTU4
ソース:Indeed.com

しかし真の問題とは、プロプライエタリ・プログラミング言語が勢いを増しているとことにある。それは言語の内部までアクセスができないという意味では必ずしも無い。たとえばHackやGoは両方ともオープンソースだ。しかしそういった言語は、ある企業から生まれ、その企業が持つすべての特質が焼き込まれた、という意味でプロプライエタリなのだ。

ローゼンバーグが示唆するように、これは過去数十年に渡るオープンウェブとは非常に異なっている。

インターネットはオープンなスタンダードとコードで築かれた。しかしソーシャルネットワークとクラウドの時代は巨大企業に独占されている。そしてデジタル技術の基礎となる部分に、企業はその証を刻み込もうとしているのだ。まるで征服王ウィリアム1世とノルマン人が、発生期の英語に初期のフランス語の一部を取り入れて、それが今でも、法律や金融の言葉を形作っているかのように。

温和で、愛情いっぱいの大君主達

かと言って、そういった言語が悪の大君主達によって強制されているわけでもないのだ。Goの場合だと、Redmonkのアナリストであるドニー・バークホルツ曰く「クラウド・インフラストラクチャーの新興言語」である。そして、私が書いたように「並列処理を完全に統制し、構造が美しい」がためにあっという間に人気となった言語なのだ。

いわば、現在の開発にとっては素晴らしいプログラミング言語なのだ。

しかし問題は、ローゼンバーグ曰く、1つの言語に同盟を宣言すると、他の言語に手を伸ばせないことにある。デペロッパーは単純に、幾つもの競合する開発プラットホームをマスターする時間はないのだ。

デベロッパーにとって言語の選択とは、ある国の市民権を選ぶことに似ている。構文や挙動を受け入れるだけではない。経済や文化、どのように生計を立てるかを形作る決まりや、希望や夢へと導く力を受け入れることになるのだ。

これはVisionMobileのDeveloper Economicsレポートが示しているように、モバイル開発において、より一層明確に見られることだ。

MTI2NTc5OTczNDMwNTA1NDQy
「iOSやAndroid、Windows Phoneは開発者を囲い込むための言語を持っている」

オープンソースは解決策なのか?

これまでの実績としては、グーグルもフェイスブックもそれぞれの言語をオープンソースとし、オープンな標準言語と位置づけようとしている。一方でアップルは、オープンにはしなかったし、恐らく今後もほぼ絶対にオープンにはしないだろう。

オープンという概念はアップルのDNAに存在しないのだ。

だからこそ、クリス・ラトナーが提示するように、ほぼ確実に、Swiftをオープンソースにする議論がアップルでされているはずだ。しかしアップルがSwiftのオープンソース化に本気であるなら、そもそも後から議論などせず、オープンソースとして発表していたはずだ。

恐らくそんなことは問題ではないのだ。Javaで十分に満足なAndroidは、結局モバイルデベロッパーにとってデフォルトのOSなのだ。もちろんiOSのデベロッパーがより給与を得ているのは事実だ。しかしアップルが提供するプログラミング言語のSwift、そしてモバイルのエコシステム全体は閉ざされている。これがアップルを選択する際に、デベロッパーが少し考えなければならない点であろう。

トップ画像提供:Shutterstock

Pocket