1 post tagged Core Foundation
Mac OS X のWindows系OSに対するアドバンテージのひとつに,NeXTSTEP由来の(しかしかなり修正された)フレームワークの存在がある.このフレームワークは,気持ちいいほどにゆるい.
例えば,あらゆる Objective-C コードから利用出来るファウンデーションライブラリとして,その名もFoundationというフレームワークがある.これは簡単に言えばC++におけるSTLのようなもので,言語に組み込まれていないが便利なデータ構造をライブラリとして提供するものだ.文字列や動的配列,辞書なんかがFoundationに含まれる.
C++STLとFoundationの際立った違いは,そのゆるさにある.Foundationでは型チェックは実行時まで先延ばしされる.(類例を求めると旧Borlandの Turbo Pascal 6.0 が近い.)しかし,このゆるさは Objective-C の中だけにとどまらないのだ.
AppleはこのFoundationとは他に Core Foundation というC言語向けのファウンデーションライブラリも提供している.実はこれがまたゆるい.どう言うことかというと,なんとObjective-Cオブジェクトをそのまま(型キャストだけで)Core Foundation 関数へ渡すことができるのだ.
この仕組をAppleは toll-free bridge と呼んでいる.コスト無しで,川のどちら側へも行けるというわけだ.
Loading posts...