想像以上にガラパゴス化した日本のIT業界?

出版されている技術書のタイトルやネット上での情報を元に、なんとなくシステム開発で使われる技術が国によって差があるように感じるということを、これまでいろいろな記事で書いてきたのですが、はたして実際のところはどうなのでしょうか?300年前なら、Manningのin actionシリーズの表紙に描かれている人物*1のように国ごとにいろいろな衣装があって多様な文化が存在していたのでしょうけれど、文明化された現代では、服装も食べ物もそれほど違いがないというところがあります。IT業界は文字通り情報を扱う産業なのですから、世界中の最新の情報が集まってきてしかるべきなわけであり、どの国でも大差がないはずという推測もできないわけではありません。
あくまでも目安なのですが、Google Insights for Searchというサービスを利用すると、単語の検索回数を地域ごとに集計することで、各地域でどういった用語が関心が高いのかを知ることができます。ここでは、このサービスを使って、さまざまな技術の関心度に対する地域ごとの差が実際にどのくらいあるのか調べてみたいと思います。

SI向けのGroovyと研究向けのScala

まず、Groovy言語とAspectJの人気が今ひとつな本当の理由でも取り上げた、Groovy言語とScala言語の地域ごとの人気の違いを見てみます。
http://www.google.com/insights/search/#cat=31&q=scala%2Cgroovy&date=1%2F2009%2025m&cmpt=q
面白いことに、結果を見るとなんとなく予想通りな結果となっていますね。Scalaは、日本では世界で3番目に検索数が多いのに対して、Groovyではトップ10以内にランキングされていません。また、Scalaは日本を除くと北欧を中心としたヨーロッパで人気が高く、逆にGroovyはインド、東欧、ロシア、中国、米国などで人気が高くなっています。学術的、研究開発的なScalaに対して、多人数でのSI開発向けのGroovyという構造がよく表れているのではないでしょうか。*2

Java EE開発における国際地域の違いによる差

Struts1での検索結果は以下の通りです。
http://www.google.com/insights/search/#cat=5&q=struts1&date=1%2F2009%2025m&cmpt=q
中国がダントツ1位で、ついで、インド、日本の順になっています。一方、Spring MVC
http://www.google.com/insights/search/#cat=5&q=spring%20mvc&date=1%2F2009%2025m&cmpt=q
となって、インドがトップでついで韓国、香港の順となっています。割合としては少ないですが、欧米諸国もトップ点に入っています。日本はランキング外です。JPAJSFといったJavaEEの比較的新しい仕様については、
http://www.google.com/insights/search/#cat=5&q=JPA&date=1%2F2009%2025m&cmpt=q
http://www.google.com/insights/search/#cat=5&q=JSF&date=1%2F2009%2025m&cmpt=q
ともにインドがトップとなっている一方で、日本は10位以内に入っていません。ちょっと興味深いことに、OSSJavaEEサーバーであるjbossの検索結果も同様の傾向となっています。
http://www.google.com/insights/search/#cat=5&q=jboss&date=1%2F2009%2025m&cmpt=q
一方、最新の技術としてSpring Rooを見てみると
http://www.google.com/insights/search/#cat=5&q=spring%20roo&date=1%2F2009%2025m&cmpt=q
となっていて、ドイツ、イギリス、米国がランキングしています。
以上の結果から、以下のことが推測されます。

  • Struts1の勢力で中国が1位なのは日本のオフショア開発によるものではないか。そうすると3位の日本と合わせて日本のSIerが世界の中でも唯一時代遅れのStruts1を使い続けているという事実が裏付けられたことになる。
  • JPAJSFを使った比較的最近のJavaEEを使ったエンタープライズ開発の中心はインドである。英語力と技術力を生かした欧米からのオフショアが多いから?
  • Spring Rooのような最新技術を使った開発は欧米で行われている。

Ruby関連技術の国際人気比較

日本生まれのプログラミング言語といえば、やはりRubyですね。実際検索してみると日本が1位でした。
http://www.google.com/insights/search/#content=1&cat=31&q=ruby&date=1/2009+25m&cmpt=q
ただし、Railsとなると
http://www.google.com/insights/search/#cat=31&q=rails&date=1%2F2009%2025m&cmpt=q
日本は4位に後退し、上位にベラルーシ、インド、米国がきます。これはScala対Groovyの比較でも傾向があったように、SIerが開発の中心であるエンタープライズ系でRubyがまだまだ十分に浸透していないということを示しているのでしょうか。

日本でのみ使われている固有技術(いわゆるガラパゴス

一方、日本で生み出された固有技術といえば、Seasar2Slim3などが有名ですが、これらはGoogle Insightsの結果を見る限り現状は日本でしか使われていないみたいですね。(Seasar2は明示的にガラパゴス戦略で開発されたようですが、Slim3はグローバルを意識して開発されているようです。そろそろSeasar2のガラパゴス戦略について語っておくか - yvsu pron. yas、および、コメント欄のひがさんのコメントを参照。)
http://www.google.com/insights/search/#content=1&cat=5&q=seasar,SAStruts,Slim3&date=1/2009+25m&cmpt=q
完全に日本国内だけで使われているという意味では、MixiGREEなどと傾向がよく似ています。(SNSの国際勢力図は以下を参考World Map of Social NetworksVincos blog

SI業界からはさっさと抜けだしたほうがいい。
サービスを作る側に回ったほうがいい。

というid:higayasuoさんの最近の名言がありますが、日本のガラパゴス市場のみをターゲットにしたサービスはどこまで将来性があるのでしょうか?どうせサービスを作るなら最近話題のFacebookのようなグローバルな市場を狙いたいところですが、英語音痴の日本人に果たしてそういった仕事ができるのでしょうか。もちろん、不可能ではないとは思いますが。

クラウド関連の用語

PaaS、SaaSなど、最近よく耳にするクラウド用語はどうでしょうか。
http://www.google.com/insights/search/#cat=5&q=SaaS%2CPaaS%2CGAE%2CAWS&date=1%2F2009%2025m&cmpt=q
どれも日本は世界で1位、2位にランキングされています。日本のSI業界は上流重視で、実装技術よりパワーポイント上のバズワードをありがたがるという傾向を示唆しているのでしょうか?

まとめ

ここで述べたことは、あくまでもGoogle Insights for searchの結果を元にした考察であり、Google検索ユーザーの割合や人口などさまざまな要素を十分に考慮していないため、結果の解釈がどこまで真実を表しているかどうかは不明確なところがあります。ですから、あくまでもここでの個別の比較結果に関しては一応ネタとして考えていただきたいです。しかし、少なくともIT業界というのは想像以上に国際地域の差や文化の違いが事実として存在しているということは確実にいえるのではないでしょうか?やはり、日本語という言語の壁もあるのでしょうか、日本のIT業界を取り巻く環境は想像以上にガラパゴス化した状態となっていると思います。
(追記)
ガラパゴス化という言葉を結論とタイトルに使用したのは不適切でした。ここでは国によって想像以上に関心のある技術が異なっている、多様な文化が存在しているということが言いたかったのですが、「ガラパゴス化」と書くと進化から取り残されているというネガティブなイメージが強くありますので。日本のIT業界における仕事の仕方や技術の関心対象が英語圏を中心とした世界の標準的な方法と比べて独特であるくらいの意味で考えていただければと思います。

*1:http://www.manning.com/

*2:日本のソフトウェア産業は「製造業」 - My Life After MIT Sloanも参考になります。日本のIT業界が製造業は認識が違うと思いますが、ヨーロッパ→研究、アメリカ→ビジネス、インド→プロフェッショナルサービス(SI)という傾向が結果に表れていると思います。