昔からよく、やれ「マイクロソフトは邪悪だ」とか「グーグルは邪悪なことはしません」とか、とにかく「誰が邪悪か」といった議論があった。
特にスキルを習得し、それを糧にして生きていく開発者は敏感に「どちら側なのか」、「どの技術に時間と労力を投資したか」にこだわります。
Javaに投資したら、Javaが最高、C#は駄目、っと言う。
iOSに投資したら、iOS最高、Windowsはいけてない、っと言う。
対立の構図は、FlashかSilverlightかHTML5、VisualStudioかEclipse, AWSかAzure、SQL ServerかPostgreSQLかMySQLか・・・ 例を挙げるとキリがありません。
もちろん、それらの技術、それぞれに対して深い理解と経験は重要であることはなんら変わらない。
だけど「それだけ」で開発をする時代はほぼ終わりつつある。スタックの異なる層で、別のスタックからの技術を利用したりするのが当たり前になりつつある。
個人レベルでも、ひいきの技術だけで優劣を感じたり、キャリアを積み重ねるのはむしろ危険。それよりも、プロトコルの理解により重点を置き、スタックごとでのプロトコルの実装のクセをすばやく感知する、っといった能力の方が重宝されるようになるでしょう。
この記事で象徴されているように、マイクロソフトはすでにクロスプラットフォームに舵を切ってます。技術の囲い込みも止めてます。戦略的にコアな技術、たとえばC#コンパイラー、なんかもすでにオープンソース。
CEOの掲げる戦略は、モバイルとクラウド。それはサービスの利用と提供が分離してる世界。プラットフォームは自然にクロスします。たとえば色んな端末で、色んな技術やサーバーで構築したサービスに繋がり、そして異なる端末同士が共有しながら集合的に問題を解決していく。
そんなクロスな世界って、これまでの世界よりも確実に面白いものが出てくると思う。
楽しみです。