読者です 読者をやめる 読者になる 読者になる

憂鬱な Windows 使いの冒険

.NET

「憂鬱な勇者」を C# で - NyaRuRuの日記』を Achiral なしでコンパイルできるようにしてみたんですが,mono でコンパイルできることも試しておこうと思い立ってからが長かった……

  1. ソースビルドを試みて,普段使っている Linux 環境 (gcc 3.2.3) で Mono 1.9.1 のコンパイルに失敗するまで 20 分
  2. Mono 1.9.1 インストール済み openSUSE 10.3 Live CD のダウンロードに 30 分
  3. Virtual PC から起動するのに 1 分
  4. Live CD 環境からネットワークで外に出る方法を探すのに計 1 時間
    • まず root パスワードと linux ユーザのパスワードが何であるか調べるのに 40 分.Google さんの役立たず.
    • その後,ネットワーク設定をあれこれ弄るのに 15 分
    • その後,実はデスクトップ右下のネットワークアイコンを使えば root パスワード関係なしで接続できるのに気付くのに 5 分
    • 計 1 時間
  5. mcs ではなくて gmcs を使うことに気付くまで 3 分
  6. ソースコードエンコーディングEUC から UTF-8 (BOM付き) に変更すればいいことに気付くまで 15 分
  7. gmcs 1.9.1.0 では,以下のコードがコンパイルエラーを起こすことに気付くまで 5 分
using System;
static class Test
{
    public static void Main(string[] args)
    {
        var a = new { X = 1, Y = 2, };
        Console.WriteLine(a);
    }
}
using System;

static class Test
{
    public static void Foo<T1, T2, TResult>(
        T1 arg1, T2 arg2, Func<T1, T2, TResult> func)
    {
        Bar(arg1, arg2, (a, b, _) => func(a, b));
    }
    public static void Bar<T1, T2, TResult>(
        T1 arg1, T2 arg2, Func<T1, T2, int, TResult> func)
    {
    }
    public static void Main(string[] args)
    {
    }
}

最後のは mono 1.9.1.0 で試さないと絶対気付かなかっただろうから,一応試してみた意味はあったみたいですが.
実質的にプログラミング絡みで使った時間は 10 分以下な気がする.というか,1 の作業をするために 10 の無駄な時間を使わされているのは,普段の (本来ずっとコーディングできていたはずの時間帯の) 風景とあんまり変わらない気もしてきた.今度平日昼間の作業ログも取ってみるかなぁ.その内容はやっぱり Joel に怒られそうなものになりそうだ.
あとやっぱり,本業で使っている Linux 環境が古すぎるのか.しかし,

おおっと、政治的な理由で移行できない!

そもそも 2.6 系カーネルすら遠い.
遊ぶ用に今風のディストリビューションも入れておくべきか.
あるいは Mac ですかね.私は CUI 環境さえ使えれば他は要らない人なので,iPhonessh で入って mono で遊ぶとかできれば十分なのですなー.できるかどうかよく分からんのですが.