Flash をめぐる紛争についてたいへん刺激的な論考がある。
steve’s blog: “The Genius in Apple’s Vertical Platform” by Steve Cheney: 14 April 2010
* * *
戦略的理由
今週アップルはデベロッパを特定の開発ツール XCode に閉じ込めた。これはアドビの Flash を潰すためだと多くのひとは考えた。たしかに戦術的にはそうだ。しかしもっと大きな戦略的理由があるのだ。アップルは XCode ツールに移行するようデベロッパを促すことにより、アーキテクチャを変更する準備を整えているのだ。
This week Apple confined developers to a specific set of tools (XCode). A lot of people think this is to kill Adobe Flash. Sure, that is a tactical reason, but there are much broader strategic reasons. By telling developers to move to XCode tools, Apple is setting the stage to potentially switch architectures.
* * *
歴史は繰り返す
歴史は繰り返す。2003 年にアップルはデベロッパに対し XCode ツールに移行するよう勧めた。決して偶然の一致ではない。その2年後にアップルは、マックの全機種にわたるインテル移行を完成させたのだ。アップルの勧めに従ったデベロッパは、ボタンを押すだけで自らのアプリケーションを新しい Intel Mac ネイティブに(フルパフォーマンスで)走らせることができた。
History often repeats itself: In 2003, Apple advised developers to switch to XCode tools. This was not a coincidental move—2 years later Apple moved to Intel across its entire Mac line. Developers who complied could simply press a button and applications would run natively (full performance) on new Intel Macs.
* * *
内部は誰にも分らない
もしかしたら、みんなが気付かぬうちにアップルは既にアーキテクチャを変更してしまったのかもしれない。例えば、iPad を動かす A4 プロセッサの内部がどうなっているのか、専門家がいやというほど調べても、誰にも分らないのだ。今週出た分析によると、A4 は 64 ビットメモリーバスと GPU を備えたシングルコアの ARM Cortex A8 のはずだったのに、それにしてはダイサイズ[Thanks:chip 屋さん]が非常に大きいという驚くべき結果が出たのだ。
Now consider this – Apple may have already switched without people knowing. Here’s an anecdote – the innards of Apple’s A4 (powers the iPad) have been speculated ad nauseum by experts, but the reality is no one knows what’s actually inside. This week, there was very surprising analysis that the A4’s die size far exceeds what it ‘should’ be (single core ARM Cortex A8 with a 64 bit memory bus and GPU).
* * *
デュアルコアの Power Architecture?
この分析はまだ主流ではないが、A4 は ARM アーキテクチャに基づくものではないのではないかという議論を大いに煽ることは間違いない。実のところ、A4 はデュアルコアの Power Architecture である可能性が大変高いのだ。それは 2007 年にアップルが PA Semi チームを買収する以前に彼らが開発中だったものだ。
This analysis is not yet mainstream, but will add tremendous fuel to the fire that perhaps the A4 is NOT an ARM architecture. In fact, it’s highly possible that the A4 is a dual core Power Architecture, which is what the PA Semi team worked with, prior to Apple buying them in 2007.
* * *
Objective-C ネイティブ
もしそういうことなら、iPhone OS 4.0 は iPad に信じられないほどのスピードアップをもたらすことになる。なぜなら、アプリケーションが動くのはもはや ARM プロセッサのエミュレータではないからだ。OS 4.0 によって iPad が初日から 50% 増のスピードを叩き出せるなんて誰が想像できるだろうか。アップルはソフトウェアの神ともてはやされるだろう。しかしかかるスピードアップが可能になるためには、アプリは Objective-C で書かれていなければならない。だからこそデベロッパに対してそうするようアップルは勧めているのだ。
If this is indeed the case, then iPhone OS 4.0 would bring incredible speed improvements to the iPad, since it would no longer run applications on an ARM processor emulator. Can you imagine if OS 4.0 improved the iPad’s speed by 50% on day 1? Apple would be heralded as a software God. But in order for these speed improvements to be realized, apps would need to be written in objective C—which is exactly what Apple is now telling developers to do.
* * *
垂直統合
アップルが戦略的観点に立って垂直統合(vertical integration)に深く思いを致していることは明らかだ。CPU ビジネスに参入するという決定は軽々に行なわれたものではない。それはプラットフォームの伝統に基づき、デベロッパを(大きなネットワークの力を使って)望む方向に誘導できるという自信に基づくものだ。何が A4 の内部にあるのか間もなく明らかになるだろう。ひとつだけはっきりしていることがある。それはアップルがアーキテクチャの変更をシームレスにするための基礎作業を行なっている最中だということだ。デベロッパは移行スイッチを押すだけで、自らのアプリに超高速とネイティブパフォーマンスを与えることができるのだ。
It’s clear from a strategic perspective that Apple has thought about vertical integration incredibly deeply. Their choice to enter the CPU business was not made lightly, and reflects a platform heritage and an ability to steer developers (afforded by huge network effects). We will likely find out what’s really inside the A4 soon. But one thing is already clear: Apple is sowing the groundwork to make architecture changes seamless—developers will only need to flip a switch to give their apps blazing, native performance.
* * *
先見の明
この驚くべき先見の明によって、アップルはインテルや Qualcomm、nVidia との激しい競争において敏捷に動き、行動に出ることができるのだ。基本的にアップルは、CPU をコモディティーとして扱い、そのことによって「自社製造か購入か」という戦略を自由に選べ、サプライヤーに対しては強力な支配力を行使し、長期的には自らのプラットフォームに後光を与えることが可能になるのだ。
This incredible foresight will allow Apple to stay agile and maneuver in the face of what will be unrelenting competition from Intel, Qualcomm, and nVidia. Apple can essentially treat the CPU as a commodityムand this will enable them to continually adjust ‘make vs buy’ strategies, wield incredible power over suppliers, and build a long-term halo around their platform.
* * *
Flash 論争で目をそらす
アップルが Flash 論争へ人々の注意をひいて、その背後にある Steve Jobs の天才的ビジョンや行動に気付かせないようにしているのを見ると実に興味をそそられる。アップルの準備は整いつつあるのだ。歴史に残る垂直統合を成し遂げた最大の勝利者となるべき準備が・・・
I find it fascinating that Apple has been so good at diverting attention to the Flash argument, that people don’t see the true genius behind Steve Job’s vision and moves. Apple is setting the stage to become one of the biggest winners in the storied history of vertically integrated companies.
* * *
なにやらゾクゾクしてくるではないか。
つくづく物事はいろんな見方ができるんだなあと思う・・・
★ →[原文を見る:Original Text]
* * *
追記:Steve Cheney に対する批判(4月18日)
Steve Cheney の昨日の記事は刺激的なだけに批判も多い。元記事に寄せられたコメントから・・・
1)A4 チップについて
chrisjwowen のコメント:
ウム・・・この記事は A4 チップがデューアルコアチップだという前提で書かれている。全くの妄想だ。これで多くの PV は稼げたかもしれないが・・・
chrisjwowen said…
Erm…this whole thing rests on your assumption the chip is some sort of dual core chip. Pure fantasy. What isn’t fantasy is that you’ve probably got a lot of traffic from this.
Geert van Dijk のコメント:
A4 チップのミステリーについて:これは ARM チップだ。すでにX線解析済みで、ごく普通のシングルコア Cortex プラス GPU で、普通の SoC であることが分っている。大きいわけは、待ち時間を抑え、スピードを上げるために、メモリーチップを直接 CPU に組み込んだためだ。
Geert van Dijk said…
And as to the mystery you think surrounds the Apple A4: It is ARM, it’s already been x-rayed and it reveals a quite common Cortex-singlecore and a GPU, the usual SoC. The reason that it’s bigger is that they put the memory chips directly on the CPU, for lower latencies and higher speeds.
Dave Haynie のコメント:
ダイサイズは 256MB DRAM をチップに載せたことで簡単に説明がつくと思われる。DRAM の埋め込みはとくに新しい話ではない。ラップトップの GPU ではかなりの前からやっている。結構大きさもある。
Dave Haynie said…
The huge die size is probably most easily explained by the claim that there’s 256MB of DRAM on-chip. Embedded DRAM is nothing all that new.. it’s been in some of the laptop GPUs for awhile now. But it’s also not tiny.
* * *
2)コンパイラについて
throw_away_user のコメント:
キミはコンパイラーのことが分っていない。flash のような中間的なプラットフォームで開発されたアプリは、如何なるプラットフォームであろうと移植された先で作動する。デベロッパは何もしなくていい。「スイッチを押す」必要さえない。同じコンテンツを配布するだけでいいのだ。
いったんコンパイルされたものは、xcode のマジックとは無関係に異なるコンパイラーで動くだけのことだ。アップルに必要なのは、すべてのアーキテクチャで使える(POSIX やココアのような)API を提供することだけだ。
任天堂も GBA -> DS -> DSi の移行で同じことをやった。誰にもツールを強制しなくてもちゃんと動いたのだ。
throw_away_user said…
you don’t seem to understand how a compiler works. the apps that use an intermediate platform (like flash) will work in any platform where flash is ported to without any effort by the developers (they don’t even have to “flip a switch”, just distribute the same content everywhere).
For the stuff that is compiled, there is no magic in xcode, it just runs a different compiler. Apple only needs to provide an API that is available across all architectures (like POSIX and cocoa).
Nintendo has done this with the GBA -> DS -> DSi path, and it worked fine for them without the need to force any tools on anyone.
* * *
3)X-Code について
Kevin Goldsmith のコメント:
X-Code ツールを強制するということ自体は悪い考えではないかもしれない。X-Code がすぐれたツールであればの話。残念ながらそうではない。そうなりそうもない。他のプロ級の IDE に比べても数年遅れだ。デベロッパがバグが多くて機能が限られていると考えるそんなプラットフォームを強制することは、そのために開発しようという意欲を大いに損なうことになる。
Kevin Goldsmith said…
Forcing everybody onto X-Code wouldn’t be so bad if it was a good tool. It isn’t. It is getting there, but it is years behind other professional-grade IDEs. Forcing developers on to an IDE rampant with bugs and missing features that developers take for granted on other platforms really reduces the attractiveness of developing for that platform.
* * *
最後に本記事に対する John Gruber のコメント。
Daring Fireball: “Keeping the Platform Nimble” by John Gruber: 14 April 2010
アドビを待ってはおられない
App Store デベロッパに対しアップルの iPhone SDK を使うようプッシュしたという点に関しては、Steve Cheney は適切な指摘をしている。
Steve Cheney raises a good point regarding Apple’s renewed push for App Store developers to use Apple’s own iPhone SDK:
アドビがインテルネイティブな(ベータ版でない)Creative Suite アプリケーションを出荷したのはインテルマックが発売された16か月後だった。アップルがインテル移行を宣言してから2年もたっていた。Mac OS X 版の Photoshop が出荷されたのも遅かった。
Adobe did not ship (non-beta) Intel-native versions of the Creative Suite apps until April 2007, 16 months after Apple began shipping Intel-based Macs (and about two years after Apple announced the Intel transition). Adobe was also late shipping Mac OS X versions of Photoshop.
iPad の A4 チップは ARM ではないかもしれないという点については、Cheney の予測は根拠のないものだが、いつの日かアップルが iPhone OS デバイスに新しいアーキテクチャを加えるかもしれない[とか、 iPhone OS アプリが64ビットになるかもしれない]という意味ではさほどバカげてはいない。アドビが Flash の iPhone コンパイラをアップデートするまで、2年もムダにしたくないとアップルが考えてもまったくおかしくない。これまでアップルのプラットフォーム移行に対するアドビのフォローアップには定評がある。決して芳しくない定評だ。
Cheney’s idle speculation that the A4 CPU in the iPad is something other than ARM is not the case, but, still, it’s not silly in the least bit to think that Apple will someday add a new architecture for iPhone OS devices (or, will someday push for iPhone OS apps to go 64-bit). Not wanting to wait two years for Adobe to update Flash’s iPhone compiler is perfectly reasonable on Apple’s part. Adobe has a track record regarding their preparedness for Apple platform shifts, and it’s not good.
Technorati Tags: A4, Adobe, Apple, Architecture, ARM, Flash, Intel, iPad, iPhone OS, Native app, Objective-C, P.A. Semi, Vertical Integration, XCode
[…] アップルはなぜ Objective-C にこだわるのか « maclalala2はてブ:19 YouTube – 10/04/17 内野まで届かない金本の送球 はてブ:11 Togetter […]
はじめまして、Windyといいます。
いつも、有益な翻訳記事ありがとうございます。(_)
ところで、まえからおもっていたのですが、ブログなどで引用させていただくときに、漢字が含まれていることによって、%AE%80..と、無駄にURLが長くなるのが、気になっていました。
まぁ、URL短縮使えば良いという話もありますが、ブログなので、できれば、そのままのURLを使用したいと思います。
できれば、全部英数字にしていただけると、ありがたいのですが。。
よろしくお願いします。
いつも楽しく拝見させていただいております。
今回の記事は、本当にゾクゾクとさせていただきました!
ここでご提案なのですが、ブログのURLに日本語がはいっていますよね?
たとえば、この記事なら
「https://maclalala2.wordpress.com/2010/04/17/アップルはなぜ-objective-c-にこだわるのか/」
この
「/アップルはなぜ-objective-c-にこだわるのか/」が存在する事によって当該記事への短縮URLの生成が出来ない状態にあります。自分は技術屋ではないので何故そうなるのかはわかりかねますが…ただ、TWITTERなどで藤シローさんの記事にリンクを貼って、みなを当該記事へ誘導させたい時に、あくまで個人的にですが、不都合が生じるというか、TWITTERの140文字という限られた文字数では長いURLを表記して誘導することはリンクという行為に対して逆に不利に働いてしまいます。
そこで、それらの日本語表記をカテゴリ、番号にするなど、英数での表記に変えてみてはいかがでしょうか?それにより、このブログへの誘導を快適に、迅速に促せると思うのですが…身勝手なご提案で申し訳ありません。
もし、ご一読いただければ幸いです。
5年前にほぼ同じ内容で指摘されていたのを思い出しました。
http://www.microsoft.com/japan/mac/archive/column/142.mspx
[…] – livedoor Blog(ブログ)はてブ:2 アップルはなぜ Objective-C にこだわるのか « maclalala2livedoor:5 fc2:1 イップス 吾郎が崖っぷち! メジャー 第6シリーズnewsing:1 […]
[…] アップルはなぜ Objective-C にこだわるのか « maclalala2 […]
短縮URLつくれますよ。ほら。
http://bit.ly/9Dijnz
あれ、ホントですね
自分がgoo.glでしか短縮URLをしていなかったのが愚かでした。
すいませんでした。次回からbit.lyを使用してみます!
http://goo.gl/JhGG goo.glでも作れますけど。
これには、はっとさせられました。
[…] はてなブックマーク新着 アップルはなぜ Objective-C にこだわるのか « maclalala2 […]
[…] ◇アップルはなぜ Objective-C にこだわるのか […]
なんか高級言語ってものをまったく理解してないね。
実際のところ、AppleはObjective-Cに限定したりはしていない。
コンパイルオプションでターゲットCPU変えるだけで100%動くなんてのも甘い見通し。
どちらにしてもFlashの話とはまったく関係ない。ターゲットが変わればFlashだって対応するだろ。無問題だ。
5年前の記事ってのもそうだけど、Apple信者ってやつぁ。。。
> 実際のところ、AppleはObjective-Cに限定したりはしていない。
そうですね。どっちかというと「Xcodeで作れ!」という話ですね
> コンパイルオプションでターゲットCPU変えるだけで100%動くなんてのも甘い見通し。
まったくそうですね。だからこそ、アップル社がCPUアーキテクチャをまた変更しようとしているのではないかという仮説に基づくなら、「あれこれいろんな処理系を使わず、弊社が自社都合で変更していけるXcodeで開発してくれ、これにより今後待ち受ける技術的困難を最小コストで乗り越えていきたい」という思惑が裏にあるのではないか。という話ですよね。
> どちらにしてもFlashの話とはまったく関係ない。ターゲットが変わればFlashだって対応するだろ。無問題だ。
はい、「Flashの話とはまったく関係ない」、いわばFlash騒ぎはいわば陽動作戦じゃないだろうか、っていう論点が、この記事の面白いところの一つだと思うのですが…
> 5年前の記事ってのもそうだけど、Apple信者ってやつぁ。。。
先入観とか思い込みで、脊髄反射でずれた反論をしていませんか?
論旨を理解して書いていらっしゃいます?
>taikimezaki
URLエンコードしても作れます
[…] アップルはなぜ Objective-C にこだわるのか « maclalala2 (tags: programming apple mac) […]
元記事は半導体産業や低レイヤーのソフトウェアに詳しくない方が書かれたのでしょうか?
Power Architectutre か ARM Architecture かなんて簡単に調べられますし、どの半導体メーカーの Foundry に委託して作らせたかも分かっているのに。
あと CPU ダイスでなく ダイ です。
なるほど。確かに会社の同僚とも「なぜObjective-Cなんだろ?」と話していた事を思い出しました。なるほど。ちょっとゾクっとしますね。
[…] アップルはなぜ Objective-C にこだわるのか « maclalala2 […]
OS4.0は「Grand Central Dispatch」を前提にした並列処理基盤が整備された。それはC、C++、Obj-C、LLVM/Clang、OSの対応が前提の技術であり、将来(というより次期iPhone?)のマルチコア化を見据えてる。A4自体は報じられているスペック(マルチコアではない)で確定だと思う。
要するに、開発言語、開発環境、専用コンパイラ、OSの全ての要素に手を加えることによって実現するのが、「Grand Central Dispatch」という並列処理基盤であり、それに全面的に最適化したOS(例えばSnowLeopard)による究極のネイティブアプリ環境構築というのがAppleが今目指しているものだと思う。
SnowLeopardは互換性の問題から、プログラマがGCDに全面移行するのは難しい。しかしiPhone(のコントロールされたアプリ環境)ではそれが可能ということ。そもそもiPhone OSはMac OS Xから古いもの全てを取り除いた(未完成だが)理想のOSとして位置付けられているという印象を受ける。
その点では、Android(Googleが買収する以前から携帯向けに開発されていたOS/Javaベースのアプリ環境)よりも歴史が浅く未完成なOSでもある。
OpenCLベースのFrameworkを利用しろという意味もあると思う。OS4.0ではハードウェア支援付きAPIが数多く採用されている。これはネイティブアプリとハード仕様を限定したプラットフォームだから可能なことでもある。
以下はAppleの公式ページの記述です↓
———————————————–
磨きに磨きをかけたエンジン。
Grand Central Dispatchは、すべての処理を効率的に行います。コンピュータのプロセッサの数を考慮して、アプリケーションの作業負荷をリアルタイムで調整します。また、行っている作業に必要なスレッドのみを使うことで、アプリケーションの効率を高めます。たとえば、GCDがないと、アプリケーションが最大時に20のスレッドを必要とする場合、20のスレッドがセットアップされ、何もしていないときでもリソースが消費される可能性があります。一方、GCDは、アプリケーションが使っていないときはリソースを解放し、システム全体がより機敏に対応するようにします。MacのすべてのアプリケーションがGCDを使うようになったときの効率性とパフォーマンスの高さは、今とは比べられないものになるでしょう。
————————————————
↑
>一方、GCDは、アプリケーションが使っていないときはリソースを解放し、システム全体がより機敏に対応するようにします。
>MacのすべてのアプリケーションがGCDを使うようになったときの効率性とパフォーマンスの高さは、今とは比べられないものになるでしょう。
つまり、それを目指しているのがiPhone OS 4.0のGCD実装なのかも知れません。恐らく、OS4.0のマルチタスクについても、GCDによる実装になっているはずです。
トラックバックピンが通らなかったようですが、ウチのブログでもネタにさせていただきました。久しぶりに、ドキドキした記事です。Appleのように閉じられた生態系ならば、PowerPC系だろうがARM系だろうがx86系だろうが、それを吸収して雨後買うシステムをAppleが構築するなら、あとはCPUは目的別にカスタムな物を作ればいいですしね。
書いてる最中に思ったんですが、iPadのサクサク話を聞くに、将来的にMacBookはA4チップになって、非力な分はデュアルCPUにして稼ぐとか、選択肢が増えそうですね。どこまで実現可能かはわかりませんが。
初めてこのブログを知りました。
読者の脳内をグルグル掻き回すようなshiroさんの記事セレクトは、サンプリングで別な価値観を造り上げる音楽手法のようで面白いです。
変な話ですが、Objective-C、凄く夢に溢れた言語に思えます。
僕は仕事でJavaで動く音響システムを扱っています。なのでこのシステムはLinuxからもWindowsからもMacからも制御できます。
Flash同様、プラットフォームフリーで素晴らしい技術ですが、Javaの先にあるのは精々仕事のツールです。
対してObjective-Cの先には、少なくとも僕にはビジネスやパーソナルコンピューティングではなく、もっと人を楽しくさせる可能性が見えます。
AppleはiPadなどを通じてそれを垣間見せているし、Cheney氏がワクワクして大げさな記事を書き、また反響が多いのも分かる気がします。
[…] アップルはなぜ Objective-C にこだわるのか [若き日の Steve Jobs] Flash […] […]
[…] アップルはなぜ Objective-C にこだわるのか « maclalala2 (tags: Apple) […]
[…] ▼アップルはなぜ Objective-C にこだわるのか https://maclalala2.wordpress.com/2010/04/17/%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB%E3%81%AF%E3%81%AA%E3… 何かゾクゾクしちゃいますよね? […]