未だにJaguar(Mac OS X 10.2)を使っています。お金がないし。まあ、これと言ってアップグレードする理由も見当たらない。
今回のIntelチップ採用自体に関し、特に、異論はありません。むしろ、OS X導入の時に、そうしておくべきだったと思う。
しかーし、移行に際し「問題ない、問題ない」と強調するのはどうなんでしょ?まあ、いつものことですが。。。ビジネスや消費者の観点からじゃなく、開発者から見た考察が少ないみたいなんで、ちょいと翻訳。
xCode経由でのバイナリ互換ばかり強調してますが、プラットフォーム(Mac OS X)ベッタリが嫌な人は、xCodeやProject Builder以外でのコーディングをしております(Appleのトップ100開発者のうち、56%がすでにXcodeを使用、25%がXcodeへの移行段階、約20%がまだ使おうとしていない、と基調演説でJobsは述べている)。それに、充実してきたとは言え、Cocoaはユーザインターフェース中心で、コア部分は普通のCプログラミング。もともとエンディアン関係とか互換性があるように書いておけば問題ないってのはわかるのですが、書き直すところは多いかも、俺の場合。。。
Appleが、ただでさえ少ない開発者を振り回してるのは間違いありません。ジェットコースターに乗るのは楽しいですが、わけのわからない説明や対応をされると、ちょっと悲しくなったりします。
本日は、PythonのMacへのポーティングをしているBob Ippolitoさんの声をお聞きください。
Python on Mac OS X (Intel)…
http://bob.pythonmac.org/archives/2005/06/06/python-on-mac-os-x-x86/
Mac OS X for IntelにPythonを対応させるのはそんなに簡単じゃない。Mathematicaの例(訳注:WWDCに招待されたウルフラムリサーチのGrayの講演によれば、約20行の修正、2時間で変換が完了)とは違って、2時間なんかじゃとても終わらない作業が必要。どうして?
- Pythonはautoconfを使ってる。AutoconfはXcodeじゃないし、ユニバーサルバイナリ互換への変換機能もない。Autoconf関連は面倒なんだよ。
- PyObjCはlibffiに依存してる。Mach-Oカーネルがどんな風にx86への呼び出しを行うかをlibffiは知らないので、動作しない。俺自身、x86への呼び出しの仕組みについて知らないし、ドキュメントを見つけることもできなかった。libffiは複雑&マジカルなぐちゃぐちゃしたコード。
- PyObjCのobjc.injectが使っているmach_injectは、他のプロセスへとインジェクト(侵入)するコードに依存してる。2つの違ったアーキテクチャ用のコードを走らせるOSでは、mach_injectはどんな風に動くんだろ?どのpidが、どっちのアーキテクチャ用のコードを動かしてるかわかる?とにかく、mach_injectはまだx86に対応してないから、x86からインジェクトされるコードはうまく動かないだろうな。
- py2appのmacholibはファットバイナリにまだ完全対応してない。Mach-OヘッダのPPC部分とはうまく協調するけど、他のアーキテクチャは無視しちゃう。この問題への対応には、大幅なリファクタリング(コードの書き直し)が必要になるね。
- Bgen関係は壊れるね。特に、4キャラクタコード(訳注:バイトオーダー関係)を扱ってるすべてのCarbonのコードは、エンディアンの問題で動作しなくなる。この問題には関わりたくないな。
Appleさん、何週間もの、辛くてつまらない作業を与えてくれて、どうもありがとう。あなたにできることといったら、このつまらない作業をするための、クールで新しいラップトップ機を私に買わせてくれるくらいです。。。
AppleからIntelを積んだ開発機を借りて(訳注:999ドル)、自分よりも、あなた達を助けちゃうのにもそんなに興味ないな。もし、実際のintelマシーンが発売になった時、それを手に入れる権利があるんだったら文句は言わないけど。でも、開発機を借りても、それについて大っぴらに話すことはできないし、ベンチマークも公表できないし、送り先住所以外へ開発機を移動することもできない(まじ?)、等々。Appleは、開発機が壊れても彼等には修理する責任がないし、払い戻しをする義務もないって言ってる。なーんて甘いお誘いなんでしょ!
参照:
Intel 移行に関して(素晴らしい論考です。tomapd == 22%)
Mac on Intelで注目される"Universal Binary"と"Rosetta"(晴ときどき鬼瓦。)
インテルMPUに全面移行 アップルPC、07年に(エキサイトニュース)
「インテルへの移行」に開発者は好意的(上)(Hotwired Japan)
アップルのインテル移行は成功するか(Hotwired Japan)