● プログラマー独り言 WWDC2005参加レポート(2005/07/23)


3年連続でサンフランシスコ・モスコンセンターで開催されたWWDC2005(World Wide Developers Conference)でしたが、今年は珍しく1日だけ雨が降りました。WWDCへは何度となく参加している筆者ですが、会場へ向かう道中で傘をさした記憶はほとんどありません。IBMの「涙雨」だったのでしょうか(笑)。直前にTiger(Mac OS X 10.4)の販売が開始されたこともあり、今年のWWDCは、そのフィードバックとハンズオン(Apple社の技術者と共に最新技術を実装をする実習)が中心になると予想されていました。よく言えば「堅実で平穏」、悪く言えば「目玉無しで新鮮みに欠ける」WWDCになると考えていたのは筆者だけではないでしょう。そんな雰囲気の中でも、Jobsの基調講演においてPowerBook G5や4CPU PowerMacの発表があるかもしれないと、密かに期待していた参加者も多かったと思います。筆者もそのうちの一人でした。

ところが、ふたを開けてみてビックリ仰天!Jobsの基調講演において、MacintoshのCPUをPowerPCからIntel版へ切り替えるというビッグニュースが飛び出しました。QuickDrawとは今回でサヨナラだと覚悟を決めていたのですが、先んじてPowerPCとサヨナラするとは思いもよりませんでした(笑)。確かに、事前にメディアからそうした噂が流れていたため、WWDC開催前から参加者の間ではザワザワとした雰囲気が漂っていました。しかし、その時点ではみんな半信半疑、どちらかと言うと「それはないだろ?」という声の方が多数を占めていました。兎にも角にも、この発表により、平和で平穏な5日間となるはずだったWWDC2005が一気にヒートアップしました。ただし、CPU切換という大事件に対しても、Intelマシン上のMac OS Xで自社アプリをデモするなど、Apple社側が周到な準備を整えていたため、デベロッパー側からは大きな反発はありませんでした。どちらかというとCPU切換に対する賞賛の声の方が大きかったかもしれません。まあ、基調講演で私の隣に座っていた青年は「オー、ジーザース」とうなっていましたが(笑)。

CPU切換のロードマップですが、2006年の6月までに最初のIntel版CPU搭載のMacintoshを発表し、2007年度中にはすべてのMacintoshのCPUをIntel 版へと切り替えるという内容です。移行準備のためにApple社側がデベロッパーに対してに用意したツールは、x86コンパイラを実装したXcode 2.1とUniversal Binaryフォーマットの定義、Mac OS X起動可能なIntel版CPUを搭載したマシン「Developer Transition Kit」、そしてPowerPCコードをx86コードへ変換するバイナリトランスレーション技術の「Rosetta」です。Xcode 2.1のCD-ROMはWWDC会場ですぐさま配布され、同時にADCサイトからもダウンロードが可能となりました。$999の値が付いたDeveloper Transition Kitの方も、すぐさまADC Select&Premierメンバーに対して販売が開始されました。初日は販売サイトが恐ろしく混雑していて接続出来ませんでしたが、数日後、筆者も無事購入することができました。そして、直接の移行用ツールではないですが、Rosettaの存在は、Intel版CPUへの対応が遅れているアプリケーションでも問題なく使えるという安心感をユーザへ提供します。

Developer Transition Kitで提供されるだろうマシンは、WWDC会場のラボにも複数台設置され、誰でも自由にチェックできるように配慮されていました。さっそく多数のデベロッパーが自社製品のソースコードをラボへ持ちこみ、Rosettaでの動作確認やXcode 2.1によるx86コードへの変換を試みていたようです。現在では、周辺機器ドライバなどのコアな箇所でも昔のようにアセンブラコードに依存しているようなことはありませんので、CPUを680xxからPowerPCへ移行した時よりも、全体の作業量は少なくて済むはずです。しかし、今回も大きな問題が2つ存在します。一つは「エンディアン変換」、もう一つは「AltiVecコードの排除と修正」です。詳しい技術的解説は省略しますが、エンディアン変換の方は時間をかけて力ずくで行えば解決できる問題です。しかし、AltiVecコードの修正の方は幾つか難しい問題を含んでいます。なぜなら、AltiVecコードを通常コードへと切り替えるのは割と簡単なのですが、メイン処理の高速化にAltiVecが貢献しているようなアプリケーションでは、その部分をIntel版CPUのSSEコードなどへ書き換えないと弊害が発生すると考えられます。これは、AltiVecコードを大量に利用しているデベロッパにとっては実に頭の痛い問題です。

本当であれば、「エンディアン変換」や「AltiVecコード」の問題は、CPU側でハード的に解決してくれると嬉しいのですが...。まあ、Intel版CPUにAltiVecユニットが搭載される可能性はないでしょうが(笑)、エンディアン変換機能ぐらいは「友好の証」として付けて欲しいところです。この機能、実際にG4には搭載されており、Virtual PCの処理速度向上に貢献していると聞いています。もし可能になれば、Rosettaの処理スピード向上や、コード移行作業の軽減に大きく貢献するはずです。それから、Intel版CPUへの切り替え発表により、私が期待していた64bit化 CarbonとCocoa Frameworkの発表もリセットされてしまいました(涙)。ところで、Intelにも64bitアーキテクチャのCPUが存在しています。そこで、64bit化に関するいくつかのセッションに参加し、その件について注目していたのですが、Intel版CPUのIA-64を含めた64bitアーキテクチャに関連する発表は何一つありませんでした。つまり対応については「未定」ということのようです。64bit化に関する詳細については、来年のWWDC2006を待つしかないようです。

多分、Jobsの最終目標は、x86用Mac OS X(ハードも?)を他社にもライセンスし、そのシェアをWindowsに近づけることだと思います(きっと)。以前に失敗したMacintoshクローンビジネスを教訓に、OSライセンスを実行しても会社の収益に問題が生じないタイミングを見計らっているのは間違いないでしょう。そのタイミングの第一歩として、Tigerの評判が良くiPodの売り上げが好調なこの時期にIntel版CPUのMacintoshを市場に投入しようとするのは、大きな壁をひとつ乗り越えるためには絶妙のタイミングなのかもしれません。今回の発表により、PowerPC搭載のMacintoshの買い控えが心配されますが、市場には大量のPowerPCマシンが存在しますので、かなりの期間(ほぼ半永久的)に、デベロッパーはPowerPCとx86コードを搭載したUniversal Binaryフォーマットのアプリケーションを供給します。よって、CPUが異なるMacintoshというだけで、本質的には大きな問題は存在しないはずです。新しいマシンを購入しようと考えている方は(Classic環境を継続利用したい方は特に..)、逆に今が買い時かもしれません。

今年は3800人という最大の参加者を集めたWWDCとなりました。おかげで、アップルキャンパス内で開催されたBeer Bashパーティも人、人、人!食べ物もビールもあっという間に無くなり、カンパニーストアは終了間際になっても長蛇の列です(涙)。こんな調子だと、次期Mac OS Xバージョン「Leopard」等の大ネタが出るだろうWWDC2006はどうなってしまうのでしょうか?楽しみと心配が交錯する今日この頃です(笑)。


copyright 2005 Ottimo, Inc. All rights reserved
無断転載・引用禁止
Contact Us: koike@ottimo.co.jp