ものがたり(旧)

atsushieno.hatenablog.com に続く

monoはためしということで

はてなに書いてみることにしました。ここで続くかどうかはまだ分かりません。

こちらでは、mono*1, .net, xmlなどが主なtopicになる予定。いっそIP関係もこっちに書こうかなあ。

ここでは、monoまわりももう少しキャッチーなところから書いてみようかと思っている。たぶん、多くの人が(まあ、僕も含めて)誤解している部分もあると思うので。最初だから、いくつかエントリーレベルの情報も書いておこう。

まず、mono projectのページは、1.0リリースまでの内容については、(全てではないけど)http://primates.ximian.com/~atsushi/mono-jp/ で日本語訳を公開している。mono 1.0のリリースに伴って、monoのCVSに登録されないままwebページが更新されるようになってしまったので、1.0リリース以降の情報は含まれていない(まだそんなに無い)。

mono 1.0で何が出来るかは、リリースノートから参照することができる。制限事項(原文)や、まだプレビュー状態のコンポーネントの説明の方が重要かも。ある程度技術の分かる人なら感覚で分かると思うけど、System.Windows FormsやSystem.EnterpriseServices (COM+)などはサポートされていない。

ちなみに、monoのクラスライブラリのうち、何がサポートされていて、何がサポートされていないのかは、class statusのページで知ることができる。このページは、Microsoft.NETとAPIの相違を確認するcorcompareというツール群で自動生成されている。実装されていないメンバーについては、monoのクラスライブラリはNotImplementedExceptionを投げる(ごくたまにだけど、投げないものもある)。それらのメンバーにはMonoTODOというアトリビュートが設定されている(corcompareではこれを目印にしているわけだ)。

クラスライブラリ以外にも制限はある。たとえばgarbage collectionはBoehm GCが使われている。コード アクセス セキュリティは実装されていない。mono 1.0ではside by side executionもサポートされていない(現在の開発版monoではサポートされている)。

mono 1.0はofficial pageからダウンロードできるけど、mono for windowsについては、Francisco Martinezの作っているWindows Installerがおすすめ。こっちなら、ASP.NETGtk#のサンプル アプリケーションも動かすことができる。

さて、とりあえず、bjorkも歌ったし、聖火も灯ったし、今日はこんなところで。

*1:http://www.mono-project.com …もちろんコメントのテスト