D言語勉強会「Dの日」に参加してきました

小生、D言語力足りないのでこのような会に参加すること自体びくびくしていたし、ましてや記事を書こうなぞとおこがましい限りですが、「D言語力足りないマン」の視点から記事を書かせていただきます。
間違いや、いただけない箇所がございましたらお知らせいただけると助かります。

「Dの日」とは

ATND / The Day of D

もともとは、Health 2.0 Fukushima Chapter Vol.3 / Hackathonの同時開催特別イベントとして存在しました。
話を聞いていると、なにやら今回のイベントの運営企業のひとつ、Eyes, JAPAN の社長さんと仲が良い? @youxkeiさんが「自分以外のD言語ユーザがいることを社長さんに証明するため」今回挑んだみたいです。

本来は、オフラインの勉強会が開かれることが少ないので著名な方を招いて勉強会を開こうというものです。

初日

二日に分けて行われ、初日の発表者は@youxkei さんと@9rnsrでした。

@youxkei さんの発表「コンパイル時間数実行+Mixin」

D言語の機能のうち、CTFEable文字列Mixinについての説明を行ったあと、それらを組み合わせた「Mcitxfien」の楽しさについてお話をいただけました。
個人的には「D言語で突然Brainf*ckが書きたくなったとき」が好きでした。Brainf*ck が好きな子がいるので、「それ、Dで楽しくできるよ」ハラスメントしたいと思います。

@9rnsr さんの発表「D言語erなのにC++erなコンパイラ屋の野望」

dmd の開発に貢献している@9rnsrさんが目の前にいるので興奮しました! ここでこそいろんな質問をするべきだったのでしょうが、私のD言語力では遠く及びませんでした...。@youxkeiさんがすごく生き生きと質問しているのを覚えています。
発表スライドは@9rnsrさんのTwitter でアナウンスがあったのでそちらをご覧ください。
現在のコンパイラの状況やこれからについての発表で、とてもわくわくしました。反省としては小生、Phobosdmd のgithub上の議論についてからっきしだったので、注意深く見る必要があるなあと感じました。お恥ずかしい限りです。

その後「夕食・懇親会」

ハッカソンイベントとして用意されている懇親会ですが、D言語の方々も一緒です。イベント参加者として登録されているためです。
美味しい食事をいただきながら、@youxkeiさんと@9rnsrさんの議論を同じテーブルにお邪魔して横で聴かせていただいていました。
発表のみでは見られない、オフラインならではの「D言語erの集い」が見れて嬉しく思いました。

二日目

二日目の発表者は@kinabaさんでした。

@kinaba さんの発表「ICFPコンテストにD言語で参加してみた」

dlang.org日本語翻訳を行なっている@kinabaさんですが、ICFPというプログラミングコンテストを元にD言語のお話をいただけました。
ICFPコンテストは最強の関数型言語を決める大会らしく、主にゲーム形式が多い模様です。参加言語は関数型のみならず、関数型を潰さんとする言語の参加もOKということです。こちらの記事HPなどが参考になると思います。
お話によると、この手のコンテストはまず内容をグラフィカル表示するところから始めると良いとのことでした。時間が短いので本格的なアルゴリズムは組みづらいため、人間用のインターフェイスも用意し、遊びながら得た感覚で貪欲に良い解を出すプログラムを書く、というです。
そこで必要となってくるGUIライブラリですが、DFLを利用されたそうです。
ライブラリとコンパイラのバージョンの差異で苦労されたり、破壊的変更の少なくなったD言語ですがコンテスト時のdmd 2.059 のコードを現在のdmd 2.062でコンパイルするとエラーが起きたりというお話も聞けました。
また、D言語の魅力として(楽に書けて)実行速度がC++に劣らないので安心してコードを書けることが挙げられ、締めくくりとなりました。

さて勉強会自体は...

参加者が3人の発表者に加えて私やその他の方がちらほらいる、という感じでした...。
せっかくの機会だったので、もっと盛り上がると良かったのになあ、と個人的に思いました。悲しみ

終わりに

次回はまた@youxkeiさんからアナウンスがあると思いますが、20人規模の勉強会ができたらね、とお話しておりました。そのときはぜひ参加したいので、楽しみにしております。
個人としてはD言語力高めたいです。しかし、今回の参加は大変刺激になるものでした。これを励みに頑張っていきたいです。
駄文、失礼しました。

(今年は鼻血が出なくてよかったです。)