OSC2009Nagoya

OSC2009Nagoya に行ってきました。

今回はきちんと早起きできた(!)ので、ぎりぎりでNaviさんの集合時間に間に合うかなーと思ったら、やっぱり2,3分遅れました。と言っても、桜山駅に行く地下鉄で偶然同じ列車に粗茶さんと乗り合わせましたが(笑)。というわけで友の会からの参加者はEZNaviさん、楠木さん、粗茶さんと僕の合計4人でした。

で、なでしこ友の会としては初のOSC名古屋参加ということで、結構「なでしこ」を初めて知ったという方がたくさんいたように感じました。結構「日本語プログラミング言語」と聞くと、日本語ベーシックの印象で「大したことない」「不自然」という感想を持たれる印象があるのですが、割とそういったこともなく「自然な日本語で書けてすごい!」「分かりやすい!」と肯定的な感想を持たれた方が多かったように思います。

まだWindows環境でしか使えないことを嘆く方もたくさんいましたね。その人たちには他の環境でも使えるよう「なでしこ2.0」の計画もあるという風に言っておきましたが・・・「なでしこ2.0 〜コードネーム月見草〜」プロジェクトはいつ始動するんだろう(笑)?

それから、なでしこのお隣のブースの「Ocaml」の人たちと結構お話ししました。関数型言語ということで、僕もOcamlにかなり興味があったのですが、Ocamlの人も日本語で書ける「なでしこ」にかなり興味津々だったようです。「マルチバイト文字でプログラムを組める」点に関心していたようです。言われてみればこれってすごいことかも。最近マルチバイト文字バンバンでプログラムしてるので、この利点を完全に忘れていました(笑)。

で、Ocamlの人が、一度なでしこに興味を持って文法仕様などを調べたことがあるらしいんですね。でも、なでしこはクジラさんがほぼ一人で作り上げた言語なので、ちゃんとした「仕様書」とかないんですよね。ということで「明確な仕様はないのでマニュアルを見るしかないですねぇ」と伝えておきました。暇があればOcaml版なでしこ「Oなでしこ」を作るらしいですよ!?

あー、Wiki的には仕様の項の執筆は僕の担当ですが。あれはソースを読んでるんじゃなくて RE (Reverse Engineering) から得た知識を基にして書いてるので正確な仕様とは呼べませんし。

で、僕もOcamlの方のブースで色々とお聞きしました。やっぱりλいいよね、λ。関数型言語は色々と他の言語にはない考え方や強力な構文を持っていたりするので、一度Scheme以外にもきちんと勉強したかったこともあり、Ocamlの話も色々と聞きました。

バインドチェーン、すごいな。イベント主体のプログラムとして「イベントのチェーン」が起きるような書き方をできると保守性も高いしかっこいいだろうなぁ、とか考えたことはあったのですがまぁやったことはなかったので、実際にそういうことが言語仕様レベルで(?)できるというのはすごいと思いました。JavaScript(+DOM)でイベントバブリングというのがありますが、あれにちょっと似てますね。話を聞いた限りではそのさらに上位版という感じですが。すごく・・・クールです・・・。

ということで色々お話もしたし、Ocaml本、買いました。\2500の所が\2000です。買うしかないでしょう。まぁなでしこユーザーズマニュアルは\3150のところを\2000ですが。こっちも買いました(笑)。

nakomake

10日程前にメインPCが壊れて、今週はずっとデータ復旧やら環境構築やら色々とやっていました。どうでもいいですが、ここ1週間程掲示板やMLに顔を出さなかったのはそういう訳です。誰も気にしてないと思いますが。

で、なでしこの実行ファイルを再作成するのがとても面倒でした。というのは、プログラム同士の依存関係があったり、複数の依存ファイルを梱包しないといけなかったり、そして何よりなでしこエディタから実行ファイルを作成するのに一度実行しないといけない。自分用のツールを作ってパスの通ったところに置いたりしているので、ツールを更新するごとにこれをするのが非常にめんどいんですね。これとあれとどれを梱包して、できた実行ファイルはこの場所に・・・。至極面倒です。

ということで、実行ファイル作成の支援ツールを作ることにしました。所謂 make (参考 - Wikipedia)みたいなやつを作ろうと思ったんですね。と言っても、用途は make ですがどちらかというとコンパイラ。もちろん、なでしこが生成するのはバイナリの実行ファイルではなくて実行エンジンとソースコードを梱包しただけの単純な実行ファイルですから、正確にはコンパイラではないんですよ。うーん、コンポーザというイメージですかね。すごく適当だけど。

で、サクっと作り上げたのが、 nakomake です。便利ですよ。詳しくは、「1. 使い方 - nakomake」を参照のこと。ファイルは倉庫に置いてあります: nakomake.zip

そんなタイミングに、要望板に実行ファイル作成を手軽にしたいという要望がありました。ということで早速宣伝してきた。手前味噌?いえいえ、良いものは紹介しないと、ね。

Turbo Delphi

もう1つ環境構築に手間取っていたのが、 Turbo Delphi です。2,3週間前にメインPCにインストールしたばっかなのですが、それが壊れたから仕方がない。この前書いた自分のコミッタ日記を参考にちゃちゃっとインストールしようとしたのですが、なぜかできない。

で、困った末に必要な環境(.NET)とかを一度完全にアンインストールして、最初の手順からインストールをやり直したら上手くいきました。何だったんだろう。とりあえず、今回のことも踏まえてまたコミッタ日記の08/05に修正・追記しておきました。