pineapple blog

Blog of Ichi Kanaya / 金谷一朗のブログ

Search

Twitter feed

Flickr Feed

Loading Flickr...

    More - Flickr

    Find me on...

    Tag Results

    1 post tagged Foundation

    Toll-free bridge / 自由往来

    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...