今回はメディアとエンジニアとで、反応が真っ二つに分かれる内容となりました。その理由をエンジニア視点で解き明かしていきたいと思います。公開[ドリキン,@IT]今年もWWDCをドリキン視点で大変ご無沙汰しております、ドリキンです。していて気付いたら時間ばかり過ぎてしまい、前回の記事からだいぶ時間が経ってしまいました。2014のキーノートについて、ドリキン視点で感想をつづりつつ、連載を再開できればと思っています。年に1回のお祭り、WWDCこの記事を読まれる人には不要かもしれませんが、一応お約束でWWDCについて軽く説明しておきます。Conference」の略で、Appleが年に1回サンフランシスコで開催するデベロッパーカンファレンスの通称です。デベロッパーカンファレンスなので、基本的にはエンジニア向けイベントなのですが、2007年にスティーブ・ジョブズが初代iPhoneを発表して以来、新製品や新テクノロジ発表の場所としても注目を集めるようになりました。近年はプレミアチケット化が進み即日完売は当たり前、今年は抽選制(本当?)を導入し、公平な参加を目指したとのことですが、僕はあえなく抽選に外れてしまったので、この記事は基調講演のストリーミング映像を見ながら書きました。僕自身、WWDCには2000年から参加を始めていて、最近までコンスタントに参加していたのですが、ここ数年はチケットが手に入らず、外から指をくわえて見ている状態です(涙)。以前と違い、最近は基調講演だけでなく、個別のセッションに関してもすぐにビデオアーカイブの配信が始まるので、実際に会場に足を運ばないと得られない情報自体は少なくなっています。それでもやっぱり年に1回のお祭りとして参加する意義はあるし、会場に来ている他のエンジニア達と交流することで得られる情報も多く、何より1年分のモチベーションを充電できるので、参加できないのはとても残念でした。例によって前置きが長くなってしまいましたが、そんな今年のWWDCの感想を一エンジニア視点でつづってみようと思います。6」や新グラフィクスAPI「Metal」を含む新規フレームワークの紹介。最後に、誰もが驚いた新プログラミング言語「Swift」の発表という流れで進みました。基調講演は2時間たっぷり、ソフトウェアの新機能紹介で終始し、1つ1つ紹介していると、記事が(ただでさえ長いのに)とてつもなく長くなってしまいます。そこで今回はOSの新機能紹介は最小限に留め、後半に発表されたデベロッパー向け内容に注目して語りたいと思います。(ドリキン的新機能発表解説もリクエストがあれば書きますので、ぜひフィードバックをお願いします!)メディアと開発者とで反応が分かれた今回のWWDC今年のWWDCは例年に比べて、反応が二分した様子でした。いうのも、今回の発表は、メディア視点ではとても残念な内容、デベロッパー視点では絶賛の内容と、立場によって反応が真っ二つに分かれたからです。その理由は、新製品、新ハードウェアの発表が何もなく、発表がソフトウェアの内容に終始していたからでしょう。メディアや非エンジニア系の人からは、期待されていた新製品、ハードウェアがことごとく発表されなかったことで、がっかり感を通り越し、批判的な内容まで報道するメディアもあったようです。逆に、エンジニアとして参加した人たちは、口をそろえてここ10年で最高のWWDCと絶賛しています。Xの環境を一つ上の次元に押し上げ、また新たな可能性を実現できるプラットフォームに作り変えてくれたという感覚が得られたんだと思います。Appleの開発環境は、ときにAPI制約が厳しかったり、自由度が低くて、他のプラットフォームと比べても柔軟性が低く、「古いApple系の開発者はツンデレ好き」などと揶揄されることも少なくありませんでした(笑)。今回の発表では、過去の制限を大幅に緩和して、今までにないほどサードパーティ開発者目線で作られたAPIが用意されたこともエンジニアから喝采を受けた理由だと思います。Apple的には、Apple自身がやれること、やりたいことはおおむね実現できたので、いよいよサードパーティに注力する余力が出てきた証拠かもしれません。実際、基調講演でも、「今回のWWDC参加者の7割が初めてWWDCに参加する人たちだ」と、新人デベロッパーの優遇をアピールしていました(WWDCチケットは完全に平等な抽選じゃなかったの?という疑問は残りますが......)。新開発言語「Swift」が与えたインパクトさて、いよいよ本題の発表内容に触れていきましょう。発表の順番的には最後に紹介された内容でしたが、やっぱり今回のWWDCで一番インパクトがあったのは、全く新しい開発言語であるSwiftの発表でしょう。X、iOSプラットフォームの開発言語であった「Objective-C」を置き換える形で新言語が登場しました。今回のWWDCで一番インパクトがあった「Swift」の発表。Xの前身であるNeXTSTEPというOSを開発するために採用されたプログラミング言語です。1985年ごろから使われてきた言語で、その名の通りC言語をオブジェクト指向に拡張したものなのですが、文法がかなり特殊で、他のプログラミング言語に精通していると、なかなか障壁が大きかったりします。一度受け入れて、Objective-Cの世界に慣れると、ハマるというか、非常によくできた言語です。NeXT-Appleはこのプログラミング言語を30年近く自身のプラットフォーム用の第一開発言語として使い続け、近年は積極的に言語仕様を拡張したり、最適化したりして進化させてきました。設計が古いこともあり、拡張された文法が分かりにくかったり、最適化も難しくなってきたりしているというのはデベロッパーの間では周知の事実でした。実はObjective-Cの代替を提供するという意味では、過去にAppleはいろいろなチャレンジをしています。XcodeにおけるJavaサポートや、Rubyで開発を可能にするRubyCocoaなど、Objective-C以外の言語サポートは今回が初めてではありません。従来のアプローチは、Objective-Cを残しつつ、別の言語からも開発を可能にするという、「Objective-Cありき」の第二言語のサポートという形でした。今回のSwiftはObjective-Cを置き換えるという意味で、位置付けも本気度も違いを感じられます。過去の新規言語サポート状況や近年の積極的なObjective-Cの拡張言語っぷりを見ていると、もうObjective-Cを最適化する方向で腹をくくったのかなと思っていたところに、大胆に全く新しい言語を開発してくるあたり、さすがAppleというところ。誰も想像できなかった衝撃的な発表でした(僕の知る限り、新言語の発表を予想した人はほとんどいませんでした)。一度この事実を受け入れてしまえば、これほど理にかなった発表はありません。過去のしがらみを捨て去り、分かりやすい文法や機能を取り込むことで、モダンな文法によるシンプルなプログラミングを実現し、パフォーマンスも向上するという、デベロッパーの誰もが恩恵を受けられる可能性があります。それがデベロッパーからの絶賛につながったのです。言語が新しくなるということは、単に開発がしやすくなるだけではない大きな可能性を秘めています。シンプルで効率の良い言語は、より良いユーザーインターフェースや、より複雑なプログラムを実現するには不可欠です。開発コストが下がることで、より良い見た目や使いやすさにリソースを使うことができます。エレガントなUIこそAppleがサードパーティーに求めていることでもあり、Appleのプラットフォームを他のプラットフォームと比べて、より上質なものへと差別化している要素でもあるので、新しい言語から得られる恩恵は想像以上に大きなものになると思います。新規言語の導入は良いことだらけではなく、リスクもまた大きいです。言語自体がデベロッパーに受け入れられなければ、何も変わらないどころか、下手をするとデベロッパーが離れてしまいます。仮に言語が受け入られてもObjective-Cからの移行がスムーズに進まなければ、デベロッパーは従来の資産が使えなくなり、結果的に開発効率や品質が下がってしまうことすら考えられます。この辺りはもう少し時間が経ってみないと本当の評価は難しいところですが、少なくとも現状ではほとんどのデベロッパーが新言語を好意的に受け入れています。Objective-Cや従来のフレームワークとの互換性も十分に考慮されているようなので、出だしとしてはこれ以上にないくらい好意的に受け入れられ、大成功だったと思います。した開発言語の変更による効果というのは、短期的にはやはり実際にコードを書くデベロッパーが一番恩恵を受けるものです。一般のユーザーやメディア視点では、その恩恵が想像しづらかったことが今回のメディア系の評価につながったと思うのですが、個人的には、一般の人がAppleに抱く派手でスタイリッシュな会社というイメージと裏腹に、こういった地道な開発を続けている限り、まだまだAppleの勢いは衰えることがないなと確信するとともに、先頭を走り続けてなおこのアグレッシブな姿勢にただただ脱帽という感じでした。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。