届きました。セカンドダイアリ、はじめます(on off)。
書き分けを決めました。
ここは時系列で書くようなモノ、VOXは時系列のあまり関係のないメモ。
ここは時系列先にありき、VOXは内容先にありきという感じで書きます。
ここは書いた記事を消すことはありませんが、VOXでは消すことがあります。
メモメモφ。/* from marsのメモ(on off) */
Java7にクロージャが提案されました。提案者名に"James Gosling"の
名前があるので、クロージャの仕様入りは確実かも。
ぱっと視た感じ、クロージャとメソッド参照、直結してるっぽい。
/* to InfoQ(on off) */
現行のMac OSXではアプリは全て32ビット。
Tigerでは64ビット化されているのはカーネル内部と基本ライブラリのみで
アプリを構成する上層レイヤであるCocoa、Carbon、Coreシリーズは32ビットの
まま、必然的に全てのアプリは32ビットとなっている。
Leopardではこの上層レイヤを64ビットにすることでMacOS Xを真の64ビットOSにする。
但しこの恩恵を受けるのは64ビットLeopardのみで32ビットLeopardは現状維持。
もちろん、アプリ側でこのメリットを享受するためには再コンパイルが必須。
ユーザが持っている既存のアプリを完全64ビット化してくれる夢の技術ではないし、
そんな技術はそもそも有り得ない。
ユーザ側はアプリのメーカから64ビット専用バイナリを含むUB(Universal Binary)
対応パッケージのソフトを購入することになる。
あとは64ビットと32ビット、どちらかのアプリをLeopardがその起動環境に合わせ
起動するのでユーザが意識する必要はない。
Leopardには64ビットと32ビット両方の上層レイヤが搭載され、ソフトのバイナリ
に応じてどちらかが呼び出されることになるので、32・64ビットどちらのアプリも動く。
まとめてみる。64ビットLeopardではUB内に64ビットバイナリがあればそれを起動、
なければ32ビットバイナリを起動。32ビットLeopardでは32ビットバイナリを起動、
64ビットバイナリは起動対象外。
Leopardインストール時に環境が"Intel Core2かG5"なら64ビットLeopardを
インストール、それ以外では32ビットLeopardをインストール。
※ここでのTigerは64ビットTiger、32ビットTigerは"カーネル内部と基本ライブラリ"も32ビット。
※「現行のMacの全てのアプリは32ビット」について例外は有り得ますが、
一般ユーザがその例外に遭遇する機会はないと思います。
本格的64ビット対応がWWDCでのLeopardの発表の一番手になったのは必然です。
デベロッパはXCodeにおいて64ビットオプションを選択するだけで64ビットアプリを
ビルドできるようになります。
上層レイヤであるCocoa、Carbon、Coreシリーズのソースコードは提供されておらず、
一般のデベロッパは64ビットGUIアプリを今まで構築できなかったのです。
32ビットアプリより64ビットアプリが現在わずかに低速なのは事実ですが、
これはCPUの設計において現在32ビットが優先されているからであり、
64ビットアプリの高速化に向けたCPUの設計のチューニングはこれからです。
Intel Core2にしてもG5にしても32・64ビット両方に対応できるように設計されて
おり、CPUの能力を最大限引き出すためにも64ビット対応が必須。
マルチメディア処理等のために大量のデータを効率的に処理する必要が
出てきているからこその64ビット対応であり、科学演算等の特定の分野のみ
が64ビット対応を必要としているわけではありません。
科学演算等の特定の分野の64ビットOS採用はずいぶん前から行われており、
リンク先引用の英文記事の作者が何故そんなことを書いたのか謎です。
メモメモφ。